X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FUser%2FDelegation.html;fp=rt%2Fshare%2Fhtml%2FUser%2FDelegation.html;h=0000000000000000000000000000000000000000;hb=33beebf4cb42eba3e1dd868ad5e0af102de961da;hp=bae3393e19e4816cb134ef2f9bc257fa8953e6ad;hpb=7ac86daf67b0a95153b736d5811f9050363f6553;p=freeside.git diff --git a/rt/share/html/User/Delegation.html b/rt/share/html/User/Delegation.html deleted file mode 100755 index bae3393e1..000000000 --- a/rt/share/html/User/Delegation.html +++ /dev/null @@ -1,107 +0,0 @@ -%# BEGIN BPS TAGGED BLOCK {{{ -%# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -%# -%# -%# (Except where explicitly superseded by other copyright notices) -%# -%# -%# LICENSE: -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# You should have received a copy of the GNU General Public License -%# along with this program; if not, write to the Free Software -%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -%# 02110-1301 or visit their web page on the internet at -%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# -%# CONTRIBUTION SUBMISSION POLICY: -%# -%# (The following paragraph is not intended to limit the rights granted -%# to you to modify and distribute this software under the terms of -%# the GNU General Public License and is only of importance to you if -%# you choose to contribute your changes and enhancements to the -%# community by submitting them to Best Practical Solutions, LLC.) -%# -%# By intentionally submitting any modifications, corrections or -%# derivatives to this work, or any other work intended for use with -%# Request Tracker, to Best Practical Solutions, LLC, you confirm that -%# you are the copyright holder for those contributions and you grant -%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -%# royalty-free, perpetual, license to use, copy, create derivative -%# works based on those contributions, and sublicense and distribute -%# those contributions and any derivatives thereof. -%# -%# END BPS TAGGED BLOCK }}} -<& /Elements/Header, Title => loc("Delegate rights") &> -<& /User/Elements/Tabs, - current_tab => 'User/Delegation.html', - Title => loc("Delegate rights") &> - -<& /Elements/ListActions, actions => \@results &> - -
-<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::System' &> -<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::Queue' &> -<& Elements/DelegateRights, personalgroups => $personalgroups, objects => $objects, ObjectType => 'RT::Group' &> - -<& /Elements/Submit, Label => loc('Modify Rights') &> -
-<%INIT> - -my (@results, $arg); -foreach $arg (keys %ARGS) { - next unless ($arg =~ /^Delegate-Existing-ACE-(\d+)-to-(\d+)-as-(\d+)$/); - my $parent = $1; - my $principal = $2; - my $delegation = $3; - unless ($ARGS{"Delegate-ACE-$1-to-$2"}) { - my $ace_to_del = RT::ACE->new($session{'CurrentUser'}); - $ace_to_del->Load($delegation); - my ($delval, $delmsg) = $ace_to_del->Delete(); - push (@results, $delmsg); - } -} - -foreach $arg (keys %ARGS) { - next unless ($arg =~ /^Delegate-ACE-(\d+)-to-(\d+)$/); - my $parent = $1; - my $principal = $2; - # if we already delegate it, we just don't care - next if (grep /^Delegate-Existing-ACE-$parent-to-$principal-/, keys %ARGS); - my $ace = RT::ACE->new($session{'CurrentUser'}); - $ace->Load($1); - unless ($ace->Id) { - push (@results, loc('Right not found')); - next; - } - my ($delid, $delmsg) = $ace->Delegate(PrincipalId => $principal); - push (@results, $delmsg); -} - -my $personalgroups = RT::Groups->new($session{'CurrentUser'}); -$personalgroups->LimitToPersonalGroupsFor($session{'CurrentUser'}->PrincipalId); - -my $objects; -my $acl = RT::ACL->new ($session{'CurrentUser'}); -$acl->ExcludeDelegatedRights(); -$acl->LimitToPrincipal(Id => $session{'CurrentUser'}->PrincipalId, - IncludeGroupMembership => 1 - ); - -while(my $right = $acl->Next) { - push @{$objects->{$right->ObjectType}{$right->ObjectId}},$right; -} -