[Rt-commit] rt branch, admin_ui, updated. 2e244f28fca0e192365cef4af4dca54d646175ce

sunnavy at bestpractical.com sunnavy at bestpractical.com
Thu Jan 21 00:09:57 EST 2010


The branch, admin_ui has been updated
       via  2e244f28fca0e192365cef4af4dca54d646175ce (commit)
      from  503be443805ba43ef039b98f4149d3717c2a0fd8 (commit)

Summary of changes:
 lib/RT/Action/EditUserPrefs.pm      |   40 +---------------------
 lib/RT/Action/EditUserPrefsOther.pm |   64 +++++++++++++++++++++++------------
 2 files changed, 43 insertions(+), 61 deletions(-)

- Log -----------------------------------------------------------------
commit 2e244f28fca0e192365cef4af4dca54d646175ce
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Jan 21 13:07:48 2010 +0800

    refactor a bit

diff --git a/lib/RT/Action/EditUserPrefs.pm b/lib/RT/Action/EditUserPrefs.pm
index b214272..962f6d0 100644
--- a/lib/RT/Action/EditUserPrefs.pm
+++ b/lib/RT/Action/EditUserPrefs.pm
@@ -11,31 +11,6 @@ sub name {
     return;
 }
 
-=head2 take_action
-
-=cut
-
-sub take_action {
-    my $self = shift;
-
-    my $user = Jifty->web->current_user->user_object;
-    my $pref = $user->preferences( $self->name ) || {};
-    for my $arg ( $self->argument_names ) {
-        if ( $self->has_argument($arg) ) {
-            if ( $self->argument_value($arg) eq 'use_system_default' ) {
-                delete $pref->{$arg};
-            }
-            else {
-                $pref->{$arg} = $self->argument_value($arg);
-            }
-        }
-    }
-    $user->set_preferences( $self->name, $pref );
-    $self->report_success if not $self->result->failure;
-
-    return 1;
-}
-
 =head2 report_success
 
 =cut
@@ -44,20 +19,7 @@ sub report_success {
     my $self = shift;
 
     # Your success message here
-    $self->result->message( _('Updated user settings') );
-}
-
-sub default_value {
-    my $self = shift;
-    my $name = shift;
-    my $pref =
-      Jifty->web->current_user->user_object->preferences( $self->name );
-    if ( $pref && exists $pref->{$name} ) {
-        return $pref->{$name};
-    }
-    else {
-        return 'use_system_default';
-    }
+    $self->result->message( _('Updated Preferences') );
 }
 
 sub user {
diff --git a/lib/RT/Action/EditUserPrefsOther.pm b/lib/RT/Action/EditUserPrefsOther.pm
index b6aec0d..996a970 100644
--- a/lib/RT/Action/EditUserPrefsOther.pm
+++ b/lib/RT/Action/EditUserPrefsOther.pm
@@ -11,7 +11,7 @@ sub name {
 use Jifty::Param::Schema;
 use Jifty::Action schema {
     param 'default_queue' =>
-      label is 'default queue',
+      label is _('default queue'),
       render as 'Select',
       available are defer {
         my $qs = RT::Model::QueueCollection->new;
@@ -36,7 +36,7 @@ use Jifty::Action schema {
         __PACKAGE__->default_value('default_queue');
       };
     param 'username_format' =>
-      label is 'username format',
+      label is _('username format'),
       render as 'Select',
       available are [
         { display => _('use system default'),  value => 'use_system_default' },
@@ -47,7 +47,7 @@ use Jifty::Action schema {
         __PACKAGE__->default_value('username_format');
       };
     param 'web_default_stylesheet' =>
-      label is 'theme',
+      label is _('theme'),
       render as 'Select',
       available are [
         { display => _('use system default'), value => 'use_system_default' },
@@ -57,7 +57,7 @@ use Jifty::Action schema {
         __PACKAGE__->default_value('web_default_stylesheet');
       };
     param 'message_box_rich_text' =>
-      label is 'WYSIWYG message composer',
+      label is _('WYSIWYG message composer'),
       render as 'Radio',
       available are [
         { display => _('use system default'), value => 'use_system_default' },
@@ -67,24 +67,24 @@ use Jifty::Action schema {
         __PACKAGE__->default_value('message_box_rich_text');
       };
     param 'message_box_rich_text_height' =>
-      label is 'WYSIWYG composer height',
+      label is _('WYSIWYG composer height'),
       default is defer {
         __PACKAGE__->default_value('message_box_rich_text_height');
       };
     param 'message_box_width' =>
-      label is 'message box width',
+      label is _('message box width'),
       default is defer {
         __PACKAGE__->default_value('message_box_width');
       };
     param 'message_box_height' =>
-      label is 'message box height',
+      label is _('message box height'),
       default is defer {
         __PACKAGE__->default_value('message_box_height');
       };
 
     # locale
     param 'date_time_format' =>
-      label is 'date format',
+      label is _('date format'),
       render as 'Select',
       available are defer {
         my $now = RT::DateTime->now;
@@ -109,7 +109,7 @@ use Jifty::Action schema {
 
     #mail
     param email_frequency =>
-      label is 'email delivery',
+      label is _('email delivery'),
       render as 'Select',
       available are defer {
         [
@@ -130,19 +130,19 @@ use Jifty::Action schema {
 
     # rt at a glance
     param 'default_summary_rows' =>
-      label is 'number of search results',
+      label is _('number of search results'),
       default is defer {
         __PACKAGE__->default_value('default_summary_rows');
       };
 
     # ticket display
     param 'max_inline_body' =>
-      label is 'Maximum inline message length',
+      label is _('Maximum inline message length'),
       default is defer {
         __PACKAGE__->default_value('max_inline_body');
       };
     param 'oldest_transactions_first' =>
-      label is 'Show oldest transactions first',
+      label is _('Show oldest transactions first'),
       render as 'Radio',
       available are [
         { display => _('use system default'), value => 'use_system_default' },
@@ -152,7 +152,7 @@ use Jifty::Action schema {
         __PACKAGE__->default_value('oldest_transactions_first');
       };
     param 'show_unread_message_notifications' =>
-      label is 'Notify me of unread messages',
+      label is _('Notify me of unread messages'),
       render as 'Radio',
       available are [
         { display => _('use system default'), value => 'use_system_default' },
@@ -163,7 +163,7 @@ use Jifty::Action schema {
             'show_unread_message_notifications');
       };
     param 'plain_text_pre' =>
-      label is 'Use monospace font',
+      label is _('Use monospace font'),
       hints is 'Use fixed-width font to display plaintext messages',
       render as 'Radio',
       available are [
@@ -206,23 +206,43 @@ use Jifty::Action schema {
     };
 };
 
+=head2 take_action
+
+=cut
+
 sub take_action {
     my $self = shift;
-    $self->SUPER::take_action(@_);
-    if ( $self->has_argument('preferred_key') ) {
-        my ( $status, $msg ) = $self->user->set_attribute(
-            name    => 'preferred_key',
-            content => $self->argument_value( 'preferred_key' ),
-        );
-        Jifty->log->error($msg) unless $status;
+
+    my $user = Jifty->web->current_user->user_object;
+    my $pref = $user->preferences( $self->name ) || {};
+    for my $arg ( $self->argument_names ) {
+        if ( $self->has_argument($arg) ) {
+            if ( $arg eq 'preferred_key' ) {
+                my ( $status, $msg ) = $self->user->set_attribute(
+                    name    => 'preferred_key',
+                    content => $self->argument_value('preferred_key'),
+                );
+                Jifty->log->error($msg) unless $status;
+            }
+            elsif ( $self->argument_value($arg) eq 'use_system_default' ) {
+                delete $pref->{$arg};
+            }
+            else {
+                $pref->{$arg} = $self->argument_value($arg);
+            }
+        }
     }
+    my ( $status, $msg ) = $user->set_preferences( $self->name, $pref );
+    Jifty->log->error($msg) unless $status;
+    $self->report_success;
+
     return 1;
 }
 
 sub default_value {
     my $self = shift;
     my $name = shift;
-    my $pref = __PACKAGE__->user->preferences( RT->system );
+    my $pref = $self->user->preferences( $self->name );
     if ( $pref && exists $pref->{$name} ) {
         return $pref->{$name};
     }

-----------------------------------------------------------------------


More information about the Rt-commit mailing list