[Jifty-commit] r2455 - in jifty/trunk: . plugins/Login/lib/Jifty/Plugin plugins/Login/lib/Jifty/Plugin/Login plugins/Login/lib/Jifty/Plugin/Login/Action plugins/Login/lib/Jifty/Plugin/Login/Model plugins/Login/share/web/templates

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Wed Jan 3 12:32:49 EST 2007


Author: jpeacock
Date: Wed Jan  3 12:32:43 2007
New Revision: 2455

Removed:
   jifty/trunk/plugins/Login/share/web/templates/logout
Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/MANIFEST
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ChangePassword.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ConfirmEmail.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Login.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Logout.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ResetLostPassword.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendAccountConfirmation.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendPasswordReminder.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Signup.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Dispatcher.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmAddress.pm
   jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmLostPassword.pm
   jifty/trunk/plugins/Login/share/web/templates/login

Log:
 r2109 at jfphome:  jpeacock | 2007-01-02 22:21:58 -0500
 Almost complete reworking of the Login plugin.


Modified: jifty/trunk/MANIFEST
==============================================================================
--- jifty/trunk/MANIFEST	(original)
+++ jifty/trunk/MANIFEST	Wed Jan  3 12:32:43 2007
@@ -296,7 +296,6 @@
 plugins/Login/share/web/templates/let/confirm_email
 plugins/Login/share/web/templates/let/reset_lost_password
 plugins/Login/share/web/templates/login
-plugins/Login/share/web/templates/logout
 plugins/Login/share/web/templates/passwordreminder
 plugins/Login/share/web/templates/signup
 plugins/Nothing/lib/Jifty/Plugin/Nothing.pm

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login.pm	Wed Jan  3 12:32:43 2007
@@ -42,10 +42,9 @@
 	my $self = shift;
 	my %args = @_;
 	my $appname = Jifty->config->framework('ApplicationClass');
-	$CurrentUserClass = $args{CurrentUserClass}
-	    || "${appname}::CurrentUser";
 	$LoginUserClass = $args{LoginUserClass}
-	    || "${appname}::Model::User";
+	    || Jifty->app_class('Model','User');
+	$CurrentUserClass = Jifty->app_class('CurrentUser')
     }
 
     sub CurrentUserClass {

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ChangePassword.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ChangePassword.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ChangePassword.pm	Wed Jan  3 12:32:43 2007
@@ -46,9 +46,9 @@
 
 sub take_action {
     my $self        = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
-    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
+    my $u = $LoginUserClass->new( current_user => $CurrentUser->superuser );
     $u->load_by_cols( email => Jifty->web->current_user->user_object->email );
 
     unless ($u) {

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ConfirmEmail.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ConfirmEmail.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ConfirmEmail.pm	Wed Jan  3 12:32:43 2007
@@ -32,9 +32,9 @@
 
 sub take_action {
     my $self        = shift;
-    my $LoginUser   = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
-    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $LoginUserClass   = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
+    my $u = $LoginUserClass->new( current_user => $CurrentUser->superuser );
     $u->load_by_cols( email => Jifty->web->current_user->user_object->email );
 
     if ( $u->email_confirmed ) {

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Login.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Login.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Login.pm	Wed Jan  3 12:32:43 2007
@@ -52,15 +52,15 @@
 sub validate_email {
     my $self  = shift;
     my $email = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     unless ( $email =~ /\S\@\S/ ) {
         return $self->validation_error(
             email => _("That doesn't look like an email address.") );
     }
 
-    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $u = $LoginUserClass->new( current_user => $CurrentUser->superuser );
     $u->load_by_cols( email => $email );
     return $self->validation_error(
         email => _('No account has that email address.') )
@@ -79,7 +79,7 @@
 
 sub take_action {
     my $self = shift;
-    my $CurrentUser = $self->CurrentUserClass();
+    my $CurrentUser = Jifty->app_class('CurrentUser');
 
     my $user = $CurrentUser->new( email => $self->argument_value('email') );
 

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Logout.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Logout.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Logout.pm	Wed Jan  3 12:32:43 2007
@@ -29,6 +29,7 @@
 sub take_action {
     my $self = shift;
     Jifty->web->current_user(undef);
+    $self->result->message( _("Ok, you're logged out now. Have a good day.") );
     return 1;
 }
 

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ResetLostPassword.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ResetLostPassword.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/ResetLostPassword.pm	Wed Jan  3 12:32:43 2007
@@ -48,9 +48,9 @@
 
 sub take_action {
     my $self        = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
-    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
+    my $u = $LoginUserClass->new( current_user => $CurrentUser->superuser );
     $u->load_by_cols( email => Jifty->web->current_user->user_object->email );
 
     unless ($u) {

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendAccountConfirmation.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendAccountConfirmation.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendAccountConfirmation.pm	Wed Jan  3 12:32:43 2007
@@ -44,11 +44,11 @@
 
 sub setup {
     my $self = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     $self->user_object(
-        $LoginUser->new( current_user => $CurrentUser->superuser ) );
+        $LoginUserClass->new( current_user => $CurrentUser->superuser ) );
 }
 
 =head2 validate_address
@@ -60,15 +60,15 @@
 sub validate_address {
     my $self  = shift;
     my $email = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     return $self->validation_error(
         address => _("That doesn't look like an email address.") )
       unless ( $email =~ /\S\@\S/ );
 
     $self->user_object(
-        $LoginUser->new( current_user => $CurrentUser->superuser ) );
+        $LoginUserClass->new( current_user => $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.") )

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendPasswordReminder.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendPasswordReminder.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/SendPasswordReminder.pm	Wed Jan  3 12:32:43 2007
@@ -47,12 +47,12 @@
 
 sub setup {
     my $self = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     # Make a blank user object
     $self->user_object(
-        $LoginUser->new( current_user => $CurrentUser->superuser ) );
+        $LoginUserClass->new( current_user => $CurrentUser->superuser ) );
 }
 
 =head2 validate_address
@@ -64,15 +64,15 @@
 sub validate_address {
     my $self  = shift;
     my $email = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     return $self->validation_error(
         address => _("That doesn't look like an email address.") )
       unless ( $email =~ /\S\@\S/ );
 
     $self->user_object(
-        $LoginUser->new( current_user => $CurrentUser->superuser ) );
+        $LoginUserClass->new( current_user => $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.") )

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Signup.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Signup.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Action/Signup.pm	Wed Jan  3 12:32:43 2007
@@ -54,14 +54,14 @@
 sub validate_email {
     my $self  = shift;
     my $email = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
 
     return $self->validation_error(
         email => _("That doesn't look like an email address.") )
       unless ( $email =~ /\S\@\S/ );
 
-    my $u = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $u = $LoginUserClass->new( current_user => $CurrentUser->superuser );
     $u->load_by_cols( email => $email );
     if ( $u->id ) {
         return $self->validation_error( email =>
@@ -84,9 +84,9 @@
 
 sub take_action {
     my $self   = shift;
-    my $LoginUser = $self->LoginUserClass();
-    my $CurrentUser = $self->CurrentUserClass();
-    my $record = $LoginUser->new( current_user => $CurrentUser->superuser );
+    my $LoginUserClass = $self->LoginUserClass;
+    my $CurrentUser = $self->CurrentUserClass;
+    my $record = $LoginUserClass->new( current_user => $CurrentUser->superuser );
 
     my %values;
     $values{$_} = $self->argument_value($_) for grep {

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Dispatcher.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Dispatcher.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Dispatcher.pm	Wed Jan  3 12:32:43 2007
@@ -72,6 +72,10 @@
     );
 };
 
+on 'logout' => run {
+    redirect('/');
+}
+
 ## LetMes
 before qr'^/let/(.*)' => run {
     my $let_me = Jifty::LetMe->new();

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm	Wed Jan  3 12:32:43 2007
@@ -30,16 +30,16 @@
 
 package Jifty::Plugin::Login::Model::User;
 use base qw/Jifty::Record/;
-use Jifty::Plugin::Login::Notification::ConfirmAddress;
 
 sub create {
     my $self  = shift;
     my %args  = (@_);
     my (@ret) = $self->SUPER::create(%args);
+    my $confirmAddress = Jifty->app_class('Notification','ConfirmAddress');
+    Jifty::Util->require($confirmAddress);
 
     if ( $self->id and not $self->email_confirmed ) {
-        Jifty::Plugin::Login::Notification::ConfirmAddress->new( to => $self )
-          ->send;
+        $confirmAddress->new( to => $self )->send;
     }
     return (@ret);
 }
@@ -126,4 +126,15 @@
 
 }
 
+=head2 record_class
+
+Identifies the correct record class for introspection
+
+=cut
+
+sub record_class {
+    return Jifty->app_class('Model','User');
+
+}
+
 1;

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmAddress.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmAddress.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmAddress.pm	Wed Jan  3 12:32:43 2007
@@ -22,9 +22,8 @@
 
 sub setup {
     my $self = shift;
-    my $LoginUser = $self->LoginUserClass;
 
-    unless ( UNIVERSAL::isa($self->to, $LoginUser) ){
+    unless ( UNIVERSAL::isa($self->to, $self->LoginUserClass) ){
 	$self->log->error((ref $self) . " called with invalid user argument");
 	return;
     } 

Modified: jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmLostPassword.pm
==============================================================================
--- jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmLostPassword.pm	(original)
+++ jifty/trunk/plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmLostPassword.pm	Wed Jan  3 12:32:43 2007
@@ -22,11 +22,10 @@
 
 sub setup {
     my $self = shift;
-    my $LoginUser = $self->LoginUserClass;
 
-    unless ( UNIVERSAL::isa($self->to, $LoginUser) ){
-    $self->log->error((ref $self) . " called with invalid user argument");
-    return;
+    unless ( UNIVERSAL::isa($self->to, $self->LoginUserClass) ){
+	$self->log->error((ref $self) . " called with invalid user argument");
+	return;
     }
 
     my $letme = Jifty::LetMe->new();

Modified: jifty/trunk/plugins/Login/share/web/templates/login
==============================================================================
--- jifty/trunk/plugins/Login/share/web/templates/login	(original)
+++ jifty/trunk/plugins/Login/share/web/templates/login	Wed Jan  3 12:32:43 2007
@@ -10,7 +10,9 @@
 <% $action->form_field('email') %>
 <% $action->form_field('password') %>
 <% $action->form_field('remember') %>
-<% Jifty->web->form->submit(label => _('Login'), submit => $action) %>
+<div class="submit_button">
+<% Jifty->web->return(label => _('Login'), to => '/', submit => $action) %>
+</div>
 <% Jifty->web->form->end %>
 <% Jifty->web->tangent( label => _("Don't have an account?"), url => '/signup' )%>
 % }


More information about the Jifty-commit mailing list