Index: openacs-4/packages/acs-subsite/tcl/group-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/group-procs.tcl,v
diff -u -r1.18 -r1.19
--- openacs-4/packages/acs-subsite/tcl/group-procs.tcl	26 Jan 2004 15:39:46 -0000	1.18
+++ openacs-4/packages/acs-subsite/tcl/group-procs.tcl	8 Feb 2004 17:35:20 -0000	1.19
@@ -419,6 +419,7 @@
 
 
 ad_proc -public group::add_member {
+    {-no_perm_check:boolean}
     {-group_id:required}
     {-user_id:required}
     {-rel_type ""}
@@ -431,16 +432,20 @@
     
     # Only admins can add non-membership_rel members
     if { [empty_string_p $rel_type] || \
-             (![empty_string_p $rel_type] && ![string equal $rel_type "membership_rel"] && \
+             (!$no_perm_check_p && ![empty_string_p $rel_type] && ![string equal $rel_type "membership_rel"] && \
                   ![permission::permission_p -object_id $group_id -privilege "admin"]) } {
         set rel_type "membership_rel"
     }
     
     group::get -group_id $group_id -array group
-    set create_p [group::permission_p -privilege create $group_id]
     
-    if { [string equal $group(join_policy) "closed"] && !$create_p } {
-        error "You do not have permission to add members to the group '$group(group_name)'"
+    if { !$no_perm_check_p } {
+        set create_p [group::permission_p -privilege create $group_id]
+        if { [string equal $group(join_policy) "closed"] && !$create_p } {
+            error "You do not have permission to add members to the group '$group(group_name)'"
+        }
+    } else {
+        set create_p 1
     }
 
     if { [empty_string_p $member_state] } {