[Rt-commit] rt branch, admin_ui, updated. 05ac7f1899ae815efebd09a6977ca4b77a7b9323

sunnavy at bestpractical.com sunnavy at bestpractical.com
Sun Dec 27 22:53:25 EST 2009


The branch, admin_ui has been updated
       via  05ac7f1899ae815efebd09a6977ca4b77a7b9323 (commit)
      from  8cc1b04cdbaa14c7856051b560da9f3b1b106c58 (commit)

Summary of changes:
 lib/RT/Action/EditQueueGnuPG.pm |   69 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)
 create mode 100644 lib/RT/Action/EditQueueGnuPG.pm

- Log -----------------------------------------------------------------
commit 05ac7f1899ae815efebd09a6977ca4b77a7b9323
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Mon Dec 28 11:53:17 2009 +0800

    add action EditQueueGnuPG

diff --git a/lib/RT/Action/EditQueueGnuPG.pm b/lib/RT/Action/EditQueueGnuPG.pm
new file mode 100644
index 0000000..8d6cd50
--- /dev/null
+++ b/lib/RT/Action/EditQueueGnuPG.pm
@@ -0,0 +1,69 @@
+use strict;
+use warnings;
+
+package RT::Action::EditQueueGnuPG;
+use base qw/RT::Action Jifty::Action/;
+use Scalar::Defer;
+
+__PACKAGE__->mk_accessors('queue');
+
+sub arguments {
+    my $self = shift;
+    return {} unless $self->queue;
+
+    my $args = {};
+    $args->{queue_id} = {
+        render_as     => 'hidden',
+        default_value => $self->queue->id,
+    };
+
+    for my $type (qw/sign encrypt/) {
+        $args->{$type} = {
+            render_as        => 'Checkbox',
+            default_value    => defer { $self->queue->$type },
+        };
+    }
+    return $args;
+}
+
+=head2 take_action
+
+=cut
+
+sub take_action {
+    my $self = shift;
+
+    my $queue = RT::Model::Queue->new;
+    my $id    = $self->argument_value('queue_id');
+    $queue->load($id);
+    unless ( $queue->id ) {
+        Jifty->log->error("couldn't load queue #$id");
+        return;
+    }
+
+    $self->queue($queue);
+
+    for my $type (qw/sign encrypt/) {
+        my $method = "set_$type";
+        my ( $status, $msg ) =
+          $self->queue->$method( $self->argument_value($type) );
+        Jifty->log->error( $msg ) unless $status;
+    }
+    $self->report_success;
+
+    return 1;
+}
+
+=head2 report_success
+
+=cut
+
+sub report_success {
+    my $self = shift;
+
+    # Your success message here
+    $self->result->message('Success');
+}
+
+1;
+

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


More information about the Rt-commit mailing list