[Jifty-commit] r1876 - in wifty/trunk: lib/Wifty/Action

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Wed Aug 30 02:22:37 EDT 2006


Author: alexmv
Date: Wed Aug 30 02:22:36 2006
New Revision: 1876

Added:
   wifty/trunk/lib/Wifty/Action/SendAccountConfirmation.pm   (contents, props changed)
Removed:
   wifty/trunk/lib/Wifty/Action/SendAccountConfrimation.pm
Modified:
   wifty/trunk/   (props changed)

Log:
 r16786 at zoq-fot-pik:  chmrr | 2006-08-30 02:09:42 -0400
  * Step two of aligning packages and filenames


Added: wifty/trunk/lib/Wifty/Action/SendAccountConfirmation.pm
==============================================================================
--- (empty file)
+++ wifty/trunk/lib/Wifty/Action/SendAccountConfirmation.pm	Wed Aug 30 02:22:36 2006
@@ -0,0 +1,72 @@
+use warnings;
+use strict;
+
+=head1 NAME
+
+Wifty::Action::SendAccountConfirmation
+
+=cut
+
+package Wifty::Action::SendAccountConfirmation;
+
+use Wifty::Model::User;
+use base qw/Wifty::Action/;
+
+__PACKAGE__->mk_accessors(qw(user_object));
+
+use Jifty::Param::Schema;
+use Jifty::Action schema {
+
+param address =>
+    label is 'email address',
+    is mandatory,
+    default is '';
+
+};
+
+=head2 setup
+
+Create an empty user object to work with
+
+=cut
+
+sub setup {
+    my $self = shift;
+    
+    $self->user_object(Wifty::Model::User->new(current_user => Wifty::CurrentUser->superuser));
+}
+
+=head2 validate_address
+
+Make sure their email address is an unconfirmed user.
+
+=cut
+
+sub validate_address {
+    my $self  = shift;
+    my $email = shift;
+
+    return $self->validation_error(address => "That doesn't look like an email address." ) unless ( $email =~ /\S\@\S/ );
+
+    $self->user_object(Wifty::Model::User->new(current_user => Wifty::CurrentUser->superuser));
+    $self->user_object->load_by_cols( email => $email );
+    return $self->validation_error(address => "It doesn't look like there's an account by that name.") unless ($self->user_object->id);
+
+    return $self->validation_error(address => "It looks like you're already confirmed.") if ($self->user_object->email_confirmed);
+
+    return $self->validation_ok('address');
+}
+
+=head2 take_action
+
+Create a new unconfirmed user and send out a confirmation email.
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    Wifty::Notification::ConfirmAddress->new( to => $self->user_object )->send;
+    return $self->result->message("Confirmation resent.");
+}
+
+1;


More information about the Jifty-commit mailing list