Index: openacs-4/packages/contacts/www/group-party-add-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/group-party-add-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/contacts/www/group-party-add-postgresql.xql 30 Aug 2005 09:37:33 -0000 1.1 @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<queryset> +<rdbms><type>postgresql</type><version>7.2</version></rdbms> + +<fullquery name="add_organization_rel"> + <querytext> + select acs_rel__new ( + null, + 'organization_rel', + :group_id, + :party_id, + :group_id, + :user_id, + :ip_addr + ) + </querytext> +</fullquery> + +</queryset> Index: openacs-4/packages/contacts/www/group-party-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/group-party-add.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/contacts/www/group-party-add.tcl 9 Aug 2005 12:44:19 -0000 1.3 +++ openacs-4/packages/contacts/www/group-party-add.tcl 30 Aug 2005 09:37:33 -0000 1.4 @@ -10,8 +10,10 @@ {return_url ""} } + set party_id [lindex $party_id 0] -switch [contact::type -party_id $party_id] { +set object_type [contact::type -party_id $party_id] +switch $object_type { person { set rel_type "membership_rel" } @@ -22,8 +24,21 @@ set rel_type "membership_rel" } } -relation_add -member_state "approved" $rel_type $group_id $party_id +ns_log notice "\#\#\# rel_type $rel_type" +if {$rel_type == "organization_rel"} { + set user_id [ad_conn user_id] + set ip_addr [ad_conn peeraddr] + set rel_id [db_exec_plsql add_organization_rel {}] + db_dml insert_state {} + # relation_add -member_state "approved" $rel_type $group_id $party_id +} else { + group::add_member \ + -group_id $group_id \ + -user_id $party_id \ + -rel_type membership_rel +} + if { ![exists_and_not_null return_url] } { set return_url[contact::url -party_id $party_id] } Index: openacs-4/packages/contacts/www/group-party-add.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/group-party-add.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/contacts/www/group-party-add.xql 30 Aug 2005 09:37:33 -0000 1.1 @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<queryset> + +<fullquery name="insert_state"> + <querytext> + insert into membership_rels (rel_id,member_state) values (:rel_id,'approved') + </querytext> +</fullquery> + +</queryset>