Index: openacs-4/packages/acs-subsite/www/permissions/perm-modify.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/permissions/perm-modify.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-subsite/www/permissions/perm-modify.tcl 24 Mar 2018 00:14:57 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/permissions/perm-modify.tcl 23 Apr 2018 21:32:46 -0000 1.8 @@ -12,17 +12,15 @@ foreach elm $perm { set elmv [split $elm ","] - set party_id [lindex $elmv 0] - set priv [lindex $elmv 1] + lassign $elmv party_id priv if { $priv ne "remove" } { set perm_array($elm) add } } foreach elm $perm { set elmv [split $elm ","] - set party_id [lindex $elmv 0] - set priv [lindex $elmv 1] + lassign $elmv party_id priv if {$priv eq "remove"} { foreach priv $privs { if { [info exists perm_array(${party_id},${priv})] } { @@ -49,16 +47,15 @@ set perm_array(${grantee_id},${privilege}) nothing } } - + # run through the perm_array, and depending on the value # remove: Remove the privilege # nothing: Do nothing # add: Add the privilege foreach elm [array names perm_array] { set elmv [split $elm ","] - set party_id [lindex $elmv 0] - set privilege [lindex $elmv 1] - + lassign $elmv party_id privilege + switch -- $perm_array($elm) { remove { permission::revoke -party_id $party_id -object_id $object_id -privilege $privilege