X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fhtml%2FAdmin%2FElements%2FSelectRights;h=a79c0f3f52b54f6e538e4df722738ec5456f0899;hb=fc6209f398899f0211cfcedeb81a3cd65e04a941;hp=37a06dc4d6d72a53e2d73714fade4a8468696af9;hpb=945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd;p=freeside.git diff --git a/rt/html/Admin/Elements/SelectRights b/rt/html/Admin/Elements/SelectRights index 37a06dc4d..a79c0f3f5 100644 --- a/rt/html/Admin/Elements/SelectRights +++ b/rt/html/Admin/Elements/SelectRights @@ -1,8 +1,14 @@ -%# BEGIN LICENSE BLOCK +%# BEGIN BPS TAGGED BLOCK {{{ %# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# <jesse@bestpractical.com> %# -%# (Except where explictly superceded by other copyright notices) +%# (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 @@ -14,41 +20,62 @@ %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. +%# 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.) %# -%# END LICENSE BLOCK -<INPUT TYPE=HIDDEN NAME="CheckACL" VALUE="<%$ACLDesc%>"> - <TABLE BORDER=0> -<TR> -<TD valign=top width="180"> +%# 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 }}} +<input type="hidden" class="hidden" name="CheckACL" value="<%$ACLDesc%>" /> + <table border="0"> +<tr> +<td valign="top" width="180" align="left"> +% my %current_rights; <h3><&|/l&>Current rights</&></h3> -% if ($ACLObj->Count() > 0) { -<i>(<&|/l&>Check box to revoke right</&>)</i> <BR> +% if ($ACLObj->Count() == 0) { +<i><&|/l&>No rights granted.</&></i> <br /> % } else { -<i><&|/l&>No rights granted.</&></i> <BR> -% } +<i>(<&|/l&>Check box to revoke right</&>)</i> <br /> % while (my $right = $ACLObj->Next()) { % if ($right->RightName) { -<input type=checkbox value="<%$right->Id%>" name="RevokeRight-<%$ACLDesc%>-<%$right->RightName%>"> <% loc($right->RightName) %><br> +% $current_rights{$right->RightName} = 1; +<input type="checkbox" class="checkbox" value="<%$right->Id%>" name="RevokeRight-<%$ACLDesc%>-<%$right->RightName%>" /> <% loc($right->RightName) %><br /> % } % } -</TD> -<TD valign=top> +% } +</td> +<td valign="top"> <h3><&|/l&>New rights</&></h3> -<SELECT SIZE=5 MULTIPLE NAME="GrantRight-<%$ACLDesc%>"> +<select size="5" multiple name="GrantRight-<%$ACLDesc%>"> % foreach $right (sort keys %Rights) { - <OPTION VALUE="<%$right%>" - ><% loc($right) %></OPTION> +% next if $current_rights{$right}; + <option value="<%$right%>" + ><% loc($right) %></option> % } -<OPTION VALUE="" SELECTED><&|/l&>(no value)</&></OPTION> -</SELECT> -</TD> -</TR> -</TABLE> +<option value="" selected><&|/l&>(no value)</&></option> +</select> +</td> +</tr> +</table> <%INIT> my ($right, $ACLDesc, $AppliesTo, %Rights); @@ -71,13 +98,14 @@ $ACLObj->LimitToObject( $Object); $ACLObj->LimitToPrincipal( Id => $PrincipalId); + $ACLObj->OrderBy(FIELD=>'RightName'); if (ref($Object) && UNIVERSAL::can($Object, 'AvailableRights')) { %Rights = %{$Object->AvailableRights}; } else { - %Rights = { loc('System Error') => loc("No rights found")}; + %Rights = ( loc('System Error') => loc("No rights found") ); } $ACLDesc = "$PrincipalId-".ref($Object)."-".$Object->Id;