[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