[Rt-commit] r17674 - in rt/3.8/trunk: share/html/Admin/Users

elacour at bestpractical.com elacour at bestpractical.com
Fri Jan 9 09:05:54 EST 2009


Author: elacour
Date: Fri Jan  9 09:05:53 2009
New Revision: 17674

Modified:
   rt/3.8/trunk/lib/RT/Group_Overlay.pm
   rt/3.8/trunk/lib/RT/Queue_Overlay.pm
   rt/3.8/trunk/lib/RT/Transaction_Overlay.pm
   rt/3.8/trunk/lib/RT/User_Overlay.pm
   rt/3.8/trunk/share/html/Admin/Users/Modify.html

Log:
Add transactions when enabling/disabling users/groups/queues so admins can
tracks those changes through "history" links.

Modified: rt/3.8/trunk/lib/RT/Group_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Group_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/Group_Overlay.pm	Fri Jan  9 09:05:53 2009
@@ -714,6 +714,8 @@
         }
     }
 
+    $self->_NewTransaction( Type => ($val == 1) ? "Disabled" : "Enabled" );
+
     $RT::Handle->Commit();
     if ( $val == 1 ) {
         return (1, $self->loc("Group disabled"));

Modified: rt/3.8/trunk/lib/RT/Queue_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Queue_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/Queue_Overlay.pm	Fri Jan  9 09:05:53 2009
@@ -394,6 +394,29 @@
 
 =cut
 
+sub SetDisabled {
+    my $self = shift;
+    my $val = shift;
+
+    $RT::Handle->BeginTransaction();
+    my $set_err = $self->PrincipalObj->SetDisabled($val);
+    unless ($set_err) {
+        $RT::Handle->Rollback();
+        $RT::Logger->warning("Couldn't ".($val == 1) ? "disable" : "enable"." queue ".$self->PrincipalObj->Id);
+        return (undef);
+    }
+    $self->_NewTransaction( Type => ($val == 1) ? "Disabled" : "Enabled" );
+
+    $RT::Handle->Commit();
+
+    if ( $val == 1 ) {
+        return (1, $self->loc("Queue disabled"));
+    } else {
+        return (1, $self->loc("Queue enabled"));
+    }
+
+}
+
 # }}}
 
 # {{{ sub Load 

Modified: rt/3.8/trunk/lib/RT/Transaction_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Transaction_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/Transaction_Overlay.pm	Fri Jan  9 09:05:53 2009
@@ -574,6 +574,12 @@
     if ( $type eq 'Create' ) {
         return ( $self->loc( "[_1] created", $obj_type ) );
     }
+    elsif ( $type eq 'Enabled' ) {
+        return ( $self->loc( "[_1] enabled", $obj_type ) );
+    }
+    elsif ( $type eq 'Disabled' ) {
+        return ( $self->loc( "[_1] disabled", $obj_type ) );
+    }
     elsif ( $type =~ /Status/ ) {
         if ( $self->Field eq 'Status' ) {
             if ( $self->NewValue eq 'deleted' ) {

Modified: rt/3.8/trunk/lib/RT/User_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/User_Overlay.pm	(original)
+++ rt/3.8/trunk/lib/RT/User_Overlay.pm	Fri Jan  9 09:05:53 2009
@@ -1122,10 +1122,28 @@
 
 sub SetDisabled {
     my $self = shift;
+    my $val = shift;
     unless ( $self->CurrentUser->HasRight(Right => 'AdminUsers', Object => $RT::System) ) {
         return (0, $self->loc('Permission Denied'));
     }
-    return $self->PrincipalObj->SetDisabled(@_);
+
+    $RT::Handle->BeginTransaction();
+    my $set_err = $self->PrincipalObj->SetDisabled($val);
+    unless ($set_err) {
+        $RT::Handle->Rollback();
+        $RT::Logger->warning("Couldn't ".($val == 1) ? "disable" : "enable"." user ".$self->PrincipalObj->Id);
+        return (undef);
+    }
+    $self->_NewTransaction( Type => ($val == 1) ? "Disabled" : "Enabled" );
+
+    $RT::Handle->Commit();
+
+    if ( $val == 1 ) {
+        return (1, $self->loc("User disabled"));
+    } else {
+        return (1, $self->loc("User enabled"));
+    }
+
 }
 
 =head2 Disabled

Modified: rt/3.8/trunk/share/html/Admin/Users/Modify.html
==============================================================================
--- rt/3.8/trunk/share/html/Admin/Users/Modify.html	(original)
+++ rt/3.8/trunk/share/html/Admin/Users/Modify.html	Fri Jan  9 09:05:53 2009
@@ -353,7 +353,7 @@
 
     if  ( ($SetEnabled) and ( $Disabled != $UserObj->Disabled) ) { 
         my  ($code, $msg) = $UserObj->SetDisabled($Disabled);
-        push @results, loc('Enabled status [_1]', loc_fuzzy($msg));
+        push @results, $msg;
     }
 
 


More information about the Rt-commit mailing list