[Rt-commit] r18992 - rt/3.999/trunk/lib/RT/IsPrincipal
ruz at bestpractical.com
ruz at bestpractical.com
Tue Mar 31 05:18:28 EDT 2009
Author: ruz
Date: Tue Mar 31 05:18:27 2009
New Revision: 18992
Modified:
rt/3.999/trunk/lib/RT/IsPrincipal/HasMembers.pm
Log:
* fix logic in ACL checks on add_member
Modified: rt/3.999/trunk/lib/RT/IsPrincipal/HasMembers.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/IsPrincipal/HasMembers.pm (original)
+++ rt/3.999/trunk/lib/RT/IsPrincipal/HasMembers.pm Tue Mar 31 05:18:27 2009
@@ -221,26 +221,15 @@
# We should only allow membership changes if the user has the right
# to modify group membership or the user is the principal in question
# and the user has the right to modify his own membership
- return ( 0, _("Permission Denied") )
- unless $self->current_user_has_right('AdminGroupMembership');
-
- if ( blessed $new_member ) {
- $self->_add_member( principal => $new_member )
- if $new_member == $self->current_user->id
- && $self->current_user_has_right('ModifyOwnMembership');
+ return $self->_add_member( principal => $new_member )
+ if $self->current_user_has_right('AdminGroupMembership');
- return ( 0, _("Permission Denied") )
+ if ( $self->current_user->id == (blessed $new_member? $new_member->id : $new_member) ) {
+ return $self->_add_member( principal => $new_member )
+ if $self->current_user_has_right('ModifyOwnMembership');
}
- unless ( $new_member == $self->current_user->user_object->id
- && $self->current_user_has_right('ModifyOwnMembership') )
- {
-
- #User has no permission to be doing this
- return ( 0, _("Permission Denied") );
- }
-
- $self->_add_member( principal => $new_member );
+ return ( 0, _("Permission Denied") )
}
# A helper subroutine for add_member that bypasses the ACL checks
More information about the Rt-commit
mailing list