Index: openacs-4/packages/acs-subsite/lib/subsites.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/lib/subsites.tcl,v
diff -u -N -r1.7.2.3 -r1.7.2.4
--- openacs-4/packages/acs-subsite/lib/subsites.tcl 27 Nov 2003 11:11:48 -0000 1.7.2.3
+++ openacs-4/packages/acs-subsite/lib/subsites.tcl 3 Dec 2003 23:10:58 -0000 1.7.2.4
@@ -36,6 +36,7 @@
from application_groups ag,
group_approved_member_map m
where ag.package_id = p.package_id
+ and m.rel_type = 'membership_rel'
and m.group_id = ag.group_id) as num_members
from site_nodes n,
apm_packages p
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.16.2.1 -r1.16.2.2
--- openacs-4/packages/acs-subsite/tcl/group-procs.tcl 27 Nov 2003 13:14:55 -0000 1.16.2.1
+++ openacs-4/packages/acs-subsite/tcl/group-procs.tcl 3 Dec 2003 23:10:58 -0000 1.16.2.2
@@ -426,8 +426,6 @@
} {
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.
- Deletes any existing membership relation between the same group and the same user,
- regardless of the specific rel_type of that membership_relation.
} {
set admin_p [permission::permission_p -object_id $group_id -privilege "admin"]
@@ -450,20 +448,6 @@
-join_policy $group(join_policy) \
-create_p $create_p]
}
-
- # Find any existing membership_relations and remove them
- set existing_rel_ids [db_list select_existing_membership_rel {
- select r.rel_id
- from acs_rels r,
- membership_rels m
- where r.object_id_one = :group_id
- and r.object_id_two = :user_id
- and m.rel_id = r.rel_id
- }]
-
- foreach rel_id $existing_rel_ids {
- relation_remove $rel_id
- }
relation_add -member_state $member_state $rel_type $group_id $user_id
}
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.2 -r1.12.2.3
--- openacs-4/packages/acs-subsite/www/members/index.tcl 27 Nov 2003 13:19:40 -0000 1.12.2.2
+++ openacs-4/packages/acs-subsite/www/members/index.tcl 3 Dec 2003 23:10:58 -0000 1.12.2.3
@@ -25,8 +25,6 @@
# only to ban/delete them.
set main_site_p [string equal [site_node::get_url -node_id [ad_conn node_id]] "/"]
-set rel_type "membership_rel"
-
set user_id [ad_conn user_id]
set show_member_list_to [parameter::get -parameter "ShowMembersListTo" -default 2]
@@ -66,22 +64,16 @@
}
set member_state_options [list]
-db_foreach select_member_states {
- select mr.member_state as state,
- count(mr.rel_id) as num_members
- from membership_rels mr,
- acs_rels r
- where r.rel_id = mr.rel_id
- and r.object_id_one = :group_id
- group by mr.member_state
-} {
+db_foreach select_member_states {} {
lappend member_state_options \
[list \
[group::get_member_state_pretty -member_state $state] \
$state \
[lc_numeric $num_members]]
}
+db_1row pretty_roles {}
+
template::list::create \
-name "members" \
-multirow "members" \
@@ -175,20 +167,22 @@
delete_url
make_admin_url
make_member_url
+ rel_role_pretty
} -unclobber members members_select {} {
- set rel_role_pretty [lang::util::localize $rel_role_pretty]
+ if { $member_admin_p > 0 } {
+ set rel_role_pretty [lang::util::localize $admin_role_pretty]
+ } else {
+ set rel_role_pretty [lang::util::localize $member_role_pretty]
+ }
set member_state_pretty [group::get_member_state_pretty -member_state $member_state]
if { $admin_p } {
switch $member_state {
approved {
- switch $rel_role {
- member {
- set make_admin_url [export_vars -base make-admin { user_id }]
- }
- admin {
- set make_member_url [export_vars -base make-member { user_id }]
- }
+ if { $member_admin_p == 0 } {
+ set make_admin_url [export_vars -base make-admin { user_id }]
+ } else {
+ set make_member_url [export_vars -base make-member { user_id }]
}
if { $main_site_p } {
set ban_url [export_vars -base member-state-change { rel_id {member_state banned} }]
Index: openacs-4/packages/acs-subsite/www/members/index.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/index.xql,v
diff -u -N -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/acs-subsite/www/members/index.xql 27 Nov 2003 13:16:06 -0000 1.1.2.1
+++ openacs-4/packages/acs-subsite/www/members/index.xql 3 Dec 2003 23:10:58 -0000 1.1.2.2
@@ -11,6 +11,7 @@
membership_rels mr,
cc_users u
where r.object_id_one = :group_id
+ and r.rel_type = 'membership_rel'
and mr.rel_id = r.rel_id
and u.user_id = r.object_id_two
[template::list::filter_where_clauses -and -name "members"]
@@ -19,36 +20,57 @@
+
$errmsg"