[Rt-commit] rt branch, 4.2/status-selector-for-approvals, created. rt-4.0.4-239-g32bebde

Ruslan Zakirov ruz at bestpractical.com
Fri Dec 9 07:15:20 EST 2011


The branch, 4.2/status-selector-for-approvals has been created
        at  32bebde33eb89b22cd33a205a0b78533532d9ead (commit)

- Log -----------------------------------------------------------------
commit 1492f3cb779bd21e0a0e22a3e016e9d01b73a173
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Fri Dec 9 00:52:18 2011 +0400

    drop not used variables

diff --git a/share/html/Approvals/index.html b/share/html/Approvals/index.html
index fc04fce..9dc9bc0 100755
--- a/share/html/Approvals/index.html
+++ b/share/html/Approvals/index.html
@@ -60,8 +60,6 @@ foreach my $arg ( keys %ARGS ) {
 
     next unless ( $arg =~ /Approval-(\d+)-Action/ );
 
-    my ( $notesval, $notesmsg );
-
     my $ticket = LoadTicket($1);
 
     if ( $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ) {

commit 05edb98630a214193672dc79df8ebdf73a2f546b
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Fri Dec 9 01:10:57 2011 +0400

    make it possible to pass status as approvals' action

diff --git a/share/html/Approvals/index.html b/share/html/Approvals/index.html
index 9dc9bc0..23913ce 100755
--- a/share/html/Approvals/index.html
+++ b/share/html/Approvals/index.html
@@ -58,10 +58,21 @@
 my (@actions);
 foreach my $arg ( keys %ARGS ) {
 
-    next unless ( $arg =~ /Approval-(\d+)-Action/ );
+    next unless ( $arg =~ /Approval-(\d+)-(Action|Status)/ );
 
     my $ticket = LoadTicket($1);
 
+    my $set_status_to;
+    if ( $2 eq 'Action' ) {
+        $set_status_to =
+            $ARGS{$arg} eq 'deny' ? 'rejected'
+            : $ARGS{$arg} eq 'approve' ? 'resolved'
+            : undef
+        ;
+    } else {
+        $set_status_to = $ARGS{$arg};
+    }
+
     if ( $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ) {
         my $notes = MIME::Entity->build(
 	    Data => [ $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ]
@@ -76,13 +87,9 @@ foreach my $arg ( keys %ARGS ) {
         }
     }
 
-    my ($val, $msg);
-    if ( $ARGS{$arg} eq 'deny' ) {
-         ( $val, $msg ) = $ticket->SetStatus('rejected');
-    }
-    elsif ( $ARGS{$arg} eq 'approve' ) {
-         ( $val, $msg ) = $ticket->SetStatus('resolved');
+    if ( $set_status_to ) {
+        my ( $val, $msg ) = $ticket->SetStatus( $set_status_to );
+        push @actions, loc("Approval #[_1]: [_2]",$ticket->id, $msg ) if ($msg);
     }
-    push ( @actions, loc("Approval #[_1]: [_2]",$ticket->id, $msg )) if ($msg);
 }
 </%init>

commit 0ee4f9adc19fe28eeee6bee3b736d8611c3380ba
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Fri Dec 9 03:42:43 2011 +0400

    show status selector for approvals instead of radio

diff --git a/share/html/Approvals/Elements/Approve b/share/html/Approvals/Elements/Approve
index f651139..f016bbb 100755
--- a/share/html/Approvals/Elements/Approve
+++ b/share/html/Approvals/Elements/Approve
@@ -65,19 +65,13 @@
 %     }
 % }
   <div class="form">
-    <div class="action">
-      <div>
-        <input type="radio" class="radio" id="Approval-<%$ticket->Id%>-Action-approve" name="Approval-<%$ticket->Id%>-Action" value="approve" />
-        <label for="Approval-<%$ticket->Id%>-Action-approve"><&|/l&>Approve</&></label>
-      </div>
-      <div>
-        <input type="radio" class="radio" id="Approval-<%$ticket->Id%>-Action-deny" name="Approval-<%$ticket->Id%>-Action" value="deny" />
-        <label for="Approval-<%$ticket->Id%>-Action-deny"><&|/l&>Deny</&></label>
-      </div>
-      <div>
-        <input type="radio" class="radio" id="Approval-<%$ticket->Id%>-Action-none" name="Approval-<%$ticket->Id%>-Action" value="none" checked="checked" />
-        <label for="Approval-<%$ticket->Id%>-Action-none"><&|/l&>No action</&></label>
-      </div>
+    <div class="status">
+      <label for="Approval-<%$ticket->Id%>-Status"><&|/l&>Status</&></label>
+      <& /Elements/SelectStatus,
+        TicketObj    => $ticket,
+        Name         => 'Approval-'. $ticket->Id .'-Status',
+        DefaultLabel => loc("[_1] (Unchanged)",loc($ticket->Status)),
+      &>
     </div>
     <div class="notes">
       <label for="Approval-<%$ticket->Id%>-Notes"><&|/l&>Notes</&></label>

commit 32bebde33eb89b22cd33a205a0b78533532d9ead
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Fri Dec 9 03:55:40 2011 +0400

    don't allow approvals to go back to new status

diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
index fb8fbc1..748c783 100755
--- a/etc/RT_Config.pm.in
+++ b/etc/RT_Config.pm.in
@@ -2341,11 +2341,11 @@ Set(%Lifecycles,
 
             # from   => [ to list ],
             new      => [qw(open stalled resolved rejected deleted)],
-            open     => [qw(new stalled resolved rejected deleted)],
-            stalled  => [qw(new open rejected resolved deleted)],
-            resolved => [qw(new open stalled rejected deleted)],
-            rejected => [qw(new open stalled resolved deleted)],
-            deleted  => [qw(new open stalled rejected resolved)],
+            open     => [qw(stalled resolved rejected deleted)],
+            stalled  => [qw(open rejected resolved deleted)],
+            resolved => [qw(open stalled rejected deleted)],
+            rejected => [qw(open stalled resolved deleted)],
+            deleted  => [qw(open stalled rejected resolved)],
         },
         rights => {
             '* -> deleted'  => 'DeleteTicket',

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


More information about the Rt-commit mailing list