diff options
Diffstat (limited to 'rt/share/html/User/Elements/DelegateRights')
-rwxr-xr-x | rt/share/html/User/Elements/DelegateRights | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/rt/share/html/User/Elements/DelegateRights b/rt/share/html/User/Elements/DelegateRights new file mode 100755 index 0000000..acc3b35 --- /dev/null +++ b/rt/share/html/User/Elements/DelegateRights @@ -0,0 +1,110 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# <jesse@bestpractical.com> +%# +%# (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 }}} +<h2><%$sectionheading%></h2> +<%perl> + +foreach my $object (keys %{$objects->{$ObjectType}}) { +unless ($ObjectType eq 'RT::System') { +my $object_obj = @{$objects->{$ObjectType}{$object}}[0]->Object; + +</%perl> +<h3><% $object_obj->Name %></h3> +% } +<table width="100%" border="0" cellspacing="0" cellpadding="3"> +<tr> + <th width="15%"><&|/l&>Personal Groups</&>:</th> +% while (my $pg = $personalgroups->Next) { +<th><%$pg->Name%></th> +% } +</tr> +<%perl> +my $i; +foreach my $right (@{$objects->{$ObjectType}{$object}}) { +my $delegations = RT::ACL->new($session{'CurrentUser'}); +$delegations->DelegatedBy( Id => $session{'CurrentUser'}->PrincipalId); +$delegations->DelegatedFrom ( Id => $right->Id); + +my $del_hash = {}; +while ( my $delegation = $delegations->Next) { + $del_hash->{$delegation->PrincipalId} = $delegation; +} +</%perl> +% $i++; +% +<tr class="<%($i%2) && 'oddline'%>"> +<td> +<% loc($right->RightName) %><br /> +<div align="right"><font size="-2" color="#999999"><&|/l, $right->PrincipalObj->Object->SelfDescription &>as granted to [_1]</&></font></div> + </td> +% while (my $pg = $personalgroups->Next) { +<td align="center"> + <input name="Delegate-ACE-<% $right->Id %>-to-<% $pg->PrincipalId%>" type="checkbox" value="1" <%$ del_hash->{$pg->PrincipalId} && 'checked="checked"' %> /> +% if ( $del_hash->{$pg->PrincipalId}) { +<input type="hidden" class="hidden" name="Delegate-Existing-ACE-<% $right->Id %>-to-<% $pg->PrincipalId%>-as-<%$del_hash->{$pg->PrincipalId}->Id%>" /> +% } +</td> +% } +<td> </td> +</tr> +%} +</table> +% } +<%init> + +my ($frendly_type) = ($ObjectType =~ /^RT::(.*)$/); +my $sectionheading = loc("$frendly_type rights"); +# 'System rights' # loc +# 'Group rights' # loc +# 'Queue rights' # loc + +</%init> +<%args> +$ObjectType => undef +$objects => undef +$personalgroups => undef +</%args> |