import rt 3.8.10
[freeside.git] / rt / html / Admin / CustomFields / GroupRights.html
index 380fee4..86dd0d2 100644 (file)
@@ -2,7 +2,7 @@
 %# 
 %# 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)
@@ -22,7 +22,9 @@
 %# 
 %# 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>
  
@@ -107,60 +109,7 @@ my $CustomFieldObj = RT::CustomField->new($session{'CurrentUser'});
 $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>