Index: openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl,v diff -u -r1.22 -r1.22.2.1 --- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 30 Jan 2004 15:19:05 -0000 1.22 +++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 19 Mar 2004 13:09:35 -0000 1.22.2.1 @@ -687,3 +687,26 @@ return [db_list_of_lists package_types {}] } +ad_proc -private subsite::assert_user_may_add_member {} { + Used on pages that add users to the application group of + the current subsite to assert that the currently logged in + user may add users. + + @author Peter Marklund +} { + auth::require_login + + set group_id [application_group::group_id_from_package_id] + + set admin_p [permission::permission_p -object_id $group_id -privilege "admin"] + + if { !$admin_p } { + # If not admin, user must be member of group, and members must be allowed to invite other members + if { ![parameter::get -parameter "MembersCanInviteMembersP" -default 0] || \ + ![group::member_p -group_id $group_id] } { + + ad_return_forbidden "Cannot invite members" "I'm sorry, but you're not allowed to invite members to this group" + ad_script_abort + } + } +}