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.23 -r1.24 --- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 17 Mar 2004 00:22:58 -0000 1.23 +++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 20 Apr 2004 21:12:58 -0000 1.24 @@ -688,3 +688,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 + } + } +}