%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
%# <jesse@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# 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:
&>
<& /Elements/ListActions, actions => \@results &>
- <FORM METHOD=POST ACTION="GroupRights.html">
- <INPUT TYPE=HIDDEN NAME=id VALUE="<% $CustomFieldObj->id %>">
+ <form method="post" action="GroupRights.html">
+ <input type="hidden" class="hidden" name="id" value="<% $CustomFieldObj->id %>" />
<h1><&|/l&>System groups</&></h1>
-<TABLE>
+<table>
% $Groups = RT::Groups->new($session{'CurrentUser'});
% $Groups->LimitToSystemInternalGroups();
% while (my $Group = $Groups->Next()) {
- <TR ALIGN=RIGHT>
- <TD VALIGN=TOP>
+ <tr align="right">
+ <td valign="top">
<% loc($Group->Type) %>
- </TD>
- <TD>
+ </td>
+ <td>
<& /Admin/Elements/SelectRights, PrincipalId => $Group->PrincipalId,
Object => $CustomFieldObj &>
- </TD>
- </TR>
+ </td>
+ </tr>
% }
-</TABLE>
+</table>
<h1><&|/l&>User defined groups</&></h1>
-<TABLE>
+<table>
% $Groups = RT::Groups->new($session{'CurrentUser'});
% $Groups->LimitToUserDefinedGroups();
% while (my $Group = $Groups->Next()) {
- <TR ALIGN=RIGHT>
- <TD VALIGN=TOP>
+ <tr align="right">
+ <td valign="top">
<% $Group->Name %>
- </TD>
- <TD>
+ </td>
+ <td>
<& /Admin/Elements/SelectRights, PrincipalId => $Group->PrincipalId,
Object => $CustomFieldObj &>
- </TD>
- </TR>
+ </td>
+ </tr>
% }
-</TABLE>
+</table>
<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &>
- </FORM>
+ </form>
<%INIT>
$CustomFieldObj->Load($id) || $m->comp("/Elements/Error", Why => loc("Couldn't load CustomField [_1]",$id));
my $Groups;
-
- my ( $ACL, @results );
-
- foreach my $arg (keys %ARGS) {
- if ($arg =~ /GrantRight-(\d+)-(.*?)-(\d+)$/) {
- my $principal_id = $1;
- my $object_type = $2;
- my $object_id = $3;
- my $rights = $ARGS{$arg};
-
- my $principal = RT::Principal->new($session{'CurrentUser'});
- $principal->Load($principal_id);
- my $obj;
-
- if ($object_type eq 'RT::CustomField') {
- $obj = RT::CustomField->new($session{'CurrentUser'});
- $obj->Load($object_id);
- } else {
- push (@results, loc("System Error").
- loc("Rights could not be granted for [_1]", $object_type));
- next;
- }
-
- my @rights = ref($ARGS{$arg}) eq 'ARRAY' ? @{$ARGS{$arg}} : ($ARGS{$arg});
- foreach my $right (@rights) {
- next unless ($right);
- my ($val, $msg) = $principal->GrantRight(Object => $obj, Right => $right);
- push (@results, $msg);
- }
- }
- elsif ($arg =~ /RevokeRight-(\d+)-(.*?)-(\d+)-(.*?)$/) {
- my $principal_id = $1;
- my $object_type = $2;
- my $object_id = $3;
- my $right = $4;
-
- my $principal = RT::Principal->new($session{'CurrentUser'});
- $principal->Load($principal_id);
- next unless ($right);
- my $obj;
-
- if ($object_type eq 'RT::CustomField') {
- $obj = RT::CustomField->new($session{'CurrentUser'});
- $obj->Load($object_id);
- } else {
- push (@results, loc("System Error").
- loc("Rights could not be revoked for [_1]", $object_type));
- next;
- }
- my ($val, $msg) = $principal->RevokeRight(Object => $obj, Right => $right);
- push (@results, $msg);
- }
-}
-
+my @results = ProcessACLChanges(\%ARGS);
my $title = loc('Modify group rights for custom field [_1]', $CustomFieldObj->Name);
</%INIT>