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 -N -r1.47 -r1.48 --- openacs-4/packages/acs-subsite/tcl/group-procs.tcl 25 Jul 2018 18:52:57 -0000 1.47 +++ openacs-4/packages/acs-subsite/tcl/group-procs.tcl 14 Sep 2018 18:30:43 -0000 1.48 @@ -710,13 +710,22 @@ ad_proc -public group::add_member { {-no_perm_check:boolean} + {-no_automatic_membership_rel:boolean} {-group_id:required} {-user_id:required} {-rel_type ""} {-member_state ""} } { Adds a user to a group, checking that the rel_type is permissible given the user's privileges, Can default both the rel_type and the member_state to their relevant values. + + @param no_perm_check avoid permission check + @param no_automatic_membership_rel Use this flag, when we do not wan to add automatically a membership_rel (e.g. in DotLRN) + @param group_id group, to which a member should be added + @param user_id user, which should be added to a group + @param rel_type relationship type to be used (defaults to membership_rel) + @param member_state state, in which member should be added (gets default via group::default_member_state) + } { set admin_p [permission::permission_p -object_id $group_id -privilege "admin"] @@ -747,7 +756,7 @@ -create_p $create_p] } - if { $rel_type ne "membership_rel" } { + if { !$no_automatic_membership_rel_p && $rel_type ne "membership_rel" } { # add them with a membership_rel first relation_add -member_state $member_state "membership_rel" $group_id $user_id }