4 $RT::Logger->debug('Removing all delegated rights');
6 my $acl = RT::ACL->new(RT->SystemUser);
7 my $groupjoin = $acl->NewAlias('Groups');
8 $acl->Join( ALIAS1 => 'main',
9 FIELD1 => 'PrincipalId',
13 $acl->Limit( ALIAS => $groupjoin,
19 while ( my $ace = $acl->Next ) {
20 my ( $ok, $msg ) = $ace->Delete();
23 $RT::Logger->warn( "Unable to delete ACE " . $ace->id . ": " . $msg );
27 my $groups = RT::Groups->new(RT->SystemUser);
28 $groups->Limit( FIELD => 'Domain',
32 while ( my $group = $groups->Next ) {
33 my $members = $group->MembersObj();
34 while ( my $member = $members->Next ) {
35 my ( $ok, $msg ) = $group->DeleteMember( $member->MemberId );
37 $RT::Logger->warn( "Unable to remove group member "
42 $group->PrincipalObj->Delete;
43 $group->RT::Record::Delete();
48 $RT::Logger->debug('Removing all Delegate and PersonalGroup rights');
50 my $acl = RT::ACL->new(RT->SystemUser);
51 for my $right (qw/AdminOwnPersonalGroups AdminAllPersonalGroups DelegateRights/) {
52 $acl->Limit( FIELD => 'RightName', VALUE => $right );
55 while ( my $ace = $acl->Next ) {
56 my ( $ok, $msg ) = $ace->Delete();
57 $RT::Logger->debug("Removing ACE ".$ace->id." for right ".$ace->__Value('RightName'));
60 $RT::Logger->warn( "Unable to delete ACE " . $ace->id . ": " . $msg );
66 $RT::Logger->debug('Removing unimplemented RejectTicket and ModifyTicketStatus rights');
68 my $acl = RT::ACL->new(RT->SystemUser);
69 for my $right (qw/RejectTicket ModifyTicketStatus/) {
70 $acl->Limit( FIELD => 'RightName', VALUE => $right );
73 while ( my $ace = $acl->Next ) {
74 my ( $ok, $msg ) = $ace->Delete();
75 $RT::Logger->debug("Removing ACE ".$ace->id." for right ".$ace->__Value('RightName'));
78 $RT::Logger->warn( "Unable to delete ACE " . $ace->id . ": " . $msg );