[Rt-commit] rt branch, admin_ui, updated. 15bfe551979e0d05dc51087194c5fd6818b4a861

sunnavy at bestpractical.com sunnavy at bestpractical.com
Tue Jan 5 03:10:28 EST 2010


The branch, admin_ui has been updated
       via  15bfe551979e0d05dc51087194c5fd6818b4a861 (commit)
      from  e10b26003f5edb6fef61ff13fea181d46bcdc889 (commit)

Summary of changes:
 lib/RT/Action/CreateGroup.pm                     |   43 +++++++++++++++++++---
 lib/RT/Action/{CreateQueue.pm => CreateUser.pm}  |   19 ++++++----
 lib/RT/Action/{UpdateQueue.pm => UpdateGroup.pm} |   24 ++++++------
 lib/RT/Action/{UpdateQueue.pm => UpdateUser.pm}  |   25 +++++++------
 4 files changed, 73 insertions(+), 38 deletions(-)
 copy lib/RT/Action/{CreateQueue.pm => CreateUser.pm} (62%)
 copy lib/RT/Action/{UpdateQueue.pm => UpdateGroup.pm} (63%)
 copy lib/RT/Action/{UpdateQueue.pm => UpdateUser.pm} (62%)

- Log -----------------------------------------------------------------
commit 15bfe551979e0d05dc51087194c5fd6818b4a861
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Jan 5 16:09:58 2010 +0800

    add User and Group actions with disabled column

diff --git a/lib/RT/Action/CreateGroup.pm b/lib/RT/Action/CreateGroup.pm
index ba2a36f..4974226 100644
--- a/lib/RT/Action/CreateGroup.pm
+++ b/lib/RT/Action/CreateGroup.pm
@@ -1,14 +1,46 @@
+package RT::Action::CreateGroup;
 use strict;
 use warnings;
 
-=head1 NAME
+use base qw/Jifty::Action::Record::Create RT::Action::WithCustomFields/;
 
-RT::Action::CreateGroup
+sub record_class { 'RT::Model::Group' }
 
-=cut
+use constant report_detailed_messages => 1;
 
-package RT::Action::CreateGroup;
-use base qw/RT::Action RT::Action::Record::Create/;
+use Jifty::Param::Schema;
+use Jifty::Action schema {
+    param disabled =>
+        render as 'Checkbox';
+};
+
+sub arguments {
+    my $self = shift;
+    if ( !$self->{_cached_arguments} ) {
+
+        $self->{_cached_arguments} = $self->SUPER::arguments;
+        my $group = RT::Model::Group->new;
+        my @args = $self->_setup_custom_fields( cfs => $group->custom_fields );
+        for my $args (@args) {
+            my $name = delete $args->{name};
+            $self->{_cached_arguments}{$name} = $args;
+        }
+    }
+
+    return $self->{_cached_arguments};
+}
+
+sub take_action {
+    my $self = shift;
+    $self->SUPER::take_action;
+    $self->_add_custom_field_values;
+    if ( $self->has_argument('disabled') ) {
+        my ( $status, $msg ) =
+          $self->record->set_disabled( $self->argument_value('disabled') );
+        Jifty->log->error( $msg ) unless $status;
+    }
+    return 1;
+}
 
 =head2 create_record
 
@@ -25,4 +57,3 @@ sub create_record {
 }
 
 1;
-
diff --git a/lib/RT/Action/CreateUser.pm b/lib/RT/Action/CreateUser.pm
new file mode 100644
index 0000000..2436e8e
--- /dev/null
+++ b/lib/RT/Action/CreateUser.pm
@@ -0,0 +1,45 @@
+package RT::Action::CreateUser;
+use strict;
+use warnings;
+
+use base qw/Jifty::Action::Record::Create RT::Action::WithCustomFields/;
+
+sub record_class { 'RT::Model::User' }
+
+use constant report_detailed_messages => 1;
+
+use Jifty::Param::Schema;
+use Jifty::Action schema {
+    param disabled =>
+        render as 'Checkbox';
+};
+
+sub arguments {
+    my $self = shift;
+    if ( !$self->{_cached_arguments} ) {
+
+        $self->{_cached_arguments} = $self->SUPER::arguments;
+        my $user = RT::Model::User->new;
+        my @args = $self->_setup_custom_fields( cfs => $user->custom_fields );
+        for my $args (@args) {
+            my $name = delete $args->{name};
+            $self->{_cached_arguments}{$name} = $args;
+        }
+    }
+
+    return $self->{_cached_arguments};
+}
+
+sub take_action {
+    my $self = shift;
+    $self->SUPER::take_action;
+    $self->_add_custom_field_values;
+    if ( $self->has_argument('disabled') ) {
+        my ( $status, $msg ) =
+          $self->record->set_disabled( $self->argument_value('disabled') );
+        Jifty->log->error( $msg ) unless $status;
+    }
+    return 1;
+}
+
+1;
diff --git a/lib/RT/Action/UpdateGroup.pm b/lib/RT/Action/UpdateGroup.pm
new file mode 100644
index 0000000..17fb94c
--- /dev/null
+++ b/lib/RT/Action/UpdateGroup.pm
@@ -0,0 +1,45 @@
+package RT::Action::UpdateGroup;
+use strict;
+use warnings;
+
+use base qw/Jifty::Action::Record::Update RT::Action::WithCustomFields/;
+
+sub record_class { 'RT::Model::Group' }
+
+use constant report_detailed_messages => 1;
+
+use Jifty::Param::Schema;
+use Jifty::Action schema {
+    param disabled =>
+        render as 'Checkbox';
+};
+
+sub arguments {
+    my $self = shift;
+    if ( !$self->{_cached_arguments} ) {
+
+        $self->{_cached_arguments} = $self->SUPER::arguments;
+        my $group = RT::Model::Group->new;
+        my @args = $self->_setup_custom_fields( cfs => $group->custom_fields );
+        for my $args (@args) {
+            my $name = delete $args->{name};
+            $self->{_cached_arguments}{$name} = $args;
+        }
+    }
+
+    return $self->{_cached_arguments};
+}
+
+sub take_action {
+    my $self = shift;
+    $self->SUPER::take_action;
+    $self->_add_custom_field_values;
+    if ( $self->has_argument('disabled') ) {
+        my ( $status, $msg ) =
+          $self->record->set_disabled( $self->argument_value('disabled') );
+        Jifty->log->error( $msg ) unless $status;
+    }
+    return 1;
+}
+
+1;
diff --git a/lib/RT/Action/UpdateUser.pm b/lib/RT/Action/UpdateUser.pm
new file mode 100644
index 0000000..700f31c
--- /dev/null
+++ b/lib/RT/Action/UpdateUser.pm
@@ -0,0 +1,46 @@
+package RT::Action::UpdateUser;
+use strict;
+use warnings;
+
+use base qw/Jifty::Action::Record::Update RT::Action::WithCustomFields/;
+
+sub record_class { 'RT::Model::User' }
+
+use constant report_detailed_messages => 1;
+
+use Jifty::Param::Schema;
+use Jifty::Action schema {
+    param disabled =>
+        render as 'Checkbox';
+};
+
+sub arguments {
+    my $self = shift;
+    if ( !$self->{_cached_arguments} ) {
+
+        $self->{_cached_arguments} = $self->SUPER::arguments;
+        my $user = RT::Model::User->new;
+        my @args = $self->_setup_custom_fields( cfs => $user->custom_fields );
+        for my $args (@args) {
+            my $name = delete $args->{name};
+            $self->{_cached_arguments}{$name} = $args;
+        }
+    }
+
+    return $self->{_cached_arguments};
+}
+
+sub take_action {
+    my $self = shift;
+    $self->SUPER::take_action;
+    $self->_add_custom_field_values;
+    if ( $self->has_argument('disabled') ) {
+        my ( $status, $msg ) =
+          $self->record->set_disabled( $self->argument_value('disabled') );
+        Jifty->log->error( $msg ) unless $status;
+    }
+
+    return 1;
+}
+
+1;

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


More information about the Rt-commit mailing list