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 -r1.10 -r1.11 --- openacs-4/packages/acs-subsite/lib/subsites.tcl 4 Jan 2004 15:13:28 -0000 1.10 +++ openacs-4/packages/acs-subsite/lib/subsites.tcl 30 Jan 2004 15:17:54 -0000 1.11 @@ -23,36 +23,61 @@ label "\# [_ acs-subsite.Members]" html { align right } } + member_state { + label "Member state" + display_template { + + Approved + Awaiting approval + Rejected + + @subsites.member_state@ + Join + Request membership + + + } + } } set subsite_node_id [subsite::get_element -element node_id] +set subsite_url [subsite::get_element -element url] set untrusted_user_id [ad_conn untrusted_user_id] -db_multirow subsites select_subsites { +db_multirow -extend { join_url request_url } subsites select_subsites { select p.package_id, p.instance_name, n.node_id, n.name, (select count(*) - 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 group_approved_member_map m + where m.rel_type = 'membership_rel' + and m.group_id = ag.group_id) as num_members, + (select min(r2.member_state) + from group_member_map m2, + membership_rels r2 + where m2.group_id = ag.group_id + and m2.member_id = :untrusted_user_id + and r2.rel_id = m2.rel_id) as member_state, + g.group_id, + g.join_policy from site_nodes n, - apm_packages p + apm_packages p, + application_groups ag, + groups g where n.parent_id = :subsite_node_id and p.package_id = n.object_id and p.package_key = 'acs-subsite' - and exists (select 1 + and ag.package_id = p.package_id + and g.group_id = ag.group_id + and (exists (select 1 from all_object_party_privilege_map perm where perm.object_id = p.package_id and perm.privilege = 'read' - and perm.party_id = :untrusted_user_id) + and perm.party_id = :untrusted_user_id) or g.join_policy != 'closed') order by upper(instance_name) +} { + set join_url [export_vars -base "${subsite_url}register/user-join" { group_id { return_url [ad_return_url] } }] } - - -