Index: openacs-4/packages/acs-subsite/www/members/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/index.tcl,v diff -u -N -r1.12.2.1 -r1.12.2.2 --- openacs-4/packages/acs-subsite/www/members/index.tcl 19 Nov 2003 00:04:17 -0000 1.12.2.1 +++ openacs-4/packages/acs-subsite/www/members/index.tcl 27 Nov 2003 13:19:40 -0000 1.12.2.2 @@ -85,7 +85,6 @@ template::list::create \ -name "members" \ -multirow "members" \ - -key rel_id \ -row_pretty_plural "members" \ -page_size 50 \ -page_flush_p t \ @@ -185,10 +184,10 @@ approved { switch $rel_role { member { - set make_admin_url [export_vars -base make-admin { rel_id }] + set make_admin_url [export_vars -base make-admin { user_id }] } admin { - set make_member_url [export_vars -base make-member { rel_id }] + set make_member_url [export_vars -base make-member { user_id }] } } if { $main_site_p } { Index: openacs-4/packages/acs-subsite/www/members/make-admin.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/make-admin.tcl,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-subsite/www/members/make-admin.tcl 28 Aug 2003 09:41:41 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/members/make-admin.tcl 27 Nov 2003 13:19:40 -0000 1.2.2.1 @@ -1,48 +1,19 @@ ad_page_contract { Make administrators. } { - {rel_id:multiple ""} + {user_id:multiple ""} } set group_id [application_group::group_id_from_package_id] -ad_require_permission $group_id "admin" +permission::require_permission -object_id $group_id -privilege "admin" -db_1row group_info { - select group_name, join_policy - from groups - where group_id = :group_id -} - -set create_p [group::permission_p -privilege create $group_id] - -if { [string equal $join_policy "closed"] && !$create_p} { - ad_return_forbidden "Cannot make admin members" "I'm sorry, but you're not allowed to make admin members in this group" - ad_script_abort -} - db_transaction { - foreach one_rel_id $rel_id { - db_1row select_rel_info { - select rel_type as existing_rel_type, - object_id_two as user_id - from acs_rels - where rel_id = :one_rel_id - } - - if { [string equal $existing_rel_type "admin_rel"] } { - # Already an admin, skip - continue - } - - set member_state [group::default_member_state -join_policy $join_policy -create_p $create_p] - - # Delete the old relation - relation_remove $one_rel_id - - # Add the new relation - set rel_id [relation_add -member_state $member_state "admin_rel" $group_id $user_id] - + foreach one_user_id $user_id { + group::add_member \ + -group_id $group_id \ + -user_id $one_user_id \ + -rel_type "admin_rel" } } on_error { ad_return_error "Error creating the relation" "We got the following error message while trying to create this relation:
$errmsg
" Index: openacs-4/packages/acs-subsite/www/members/make-member.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/make-member.tcl,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-subsite/www/members/make-member.tcl 28 Aug 2003 09:41:41 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/members/make-member.tcl 27 Nov 2003 13:19:40 -0000 1.2.2.1 @@ -1,51 +1,22 @@ ad_page_contract { Make ordinary members. } { - {rel_id:multiple ""} + {user_id:multiple ""} } set group_id [application_group::group_id_from_package_id] -ad_require_permission $group_id "admin" +permission::require_permission -object_id $group_id -privilege "admin" -db_1row group_info { - select group_name, join_policy - from groups - where group_id = :group_id -} - -set create_p [group::permission_p -privilege create $group_id] - -if { [string equal $join_policy "closed"] && !$create_p} { - ad_return_forbidden "Cannot make admin members" "I'm sorry, but you're not allowed to make admin members in this group" - ad_script_abort -} - # TODO: -# Check if you're making yourself an non-admin +# Check if you're making yourself an non-admin? db_transaction { - foreach one_rel_id $rel_id { - db_1row select_rel_info { - select rel_type as existing_rel_type, - object_id_two as user_id - from acs_rels - where rel_id = :one_rel_id - } - - if { [string equal $existing_rel_type "membership_rel"] } { - # Already a member, skip - continue - } - - set member_state [group::default_member_state -join_policy $join_policy -create_p $create_p] - - # Delete the old relation - relation_remove $one_rel_id - - # Add the new relation - set rel_id [relation_add -member_state $member_state "membership_rel" $group_id $user_id] - + foreach one_user_id $user_id { + group::add_member \ + -group_id $group_id \ + -user_id $one_user_id \ + -rel_type "membership_rel" } } on_error { ad_return_error "Error creating the relation" "We got the following error message while trying to create this relation:
$errmsg
"