Index: openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl 21 Jul 2004 18:18:29 -0000 1.4 +++ openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl 23 Jul 2004 21:35:53 -0000 1.5 @@ -567,6 +567,7 @@ {-authority_id:required} {-roletype:required} {-operation:required} + {user_id {}} } { To handle the membership between users & groups from XML IMS Enterprise @@ -589,6 +590,9 @@ @param operation + @param user_id if we get the user_id, will from an snapshot user + delete process + @return @error @@ -602,23 +606,25 @@ element_messages {} } - set user_id "" - # if the community_id doesn't exist, then its an error if [empty_string_p $community_id] { set success_p 0 set result(message) ": The community_id $community_id doesn't exist" } else { - # now lets call the proc defined as param, it must - # return the user_id + if [empty_string_p $user_id] { - set proc_name [parameter::get_from_package_key -package_key ims-ent -parameter UserIdReturnProc] - # execute the proc and get the user_id + # now lets call the proc defined as param, it must + # return the user_id - set proc_list [list [lindex ${proc_name} 0] [lindex ${proc_name} 1] $id -authority_id $authority_id] - set user_id [eval $proc_list] + set proc_name [parameter::get_from_package_key -package_key ims-ent -parameter UserIdReturnProc] + # execute the proc and get the user_id + + set proc_list [list [lindex ${proc_name} 0] [lindex ${proc_name} 1] $id -authority_id $authority_id] + set user_id [eval $proc_list] + } + if { [empty_string_p $user_id] } { # Updating/deleting a user that doesn't exist set success_p 0 Index: openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl 21 Jul 2004 18:20:54 -0000 1.7 +++ openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl 23 Jul 2004 21:35:53 -0000 1.8 @@ -286,8 +286,8 @@ } if {$operation == "snapshot"} { - set non_users_list [db_list get_non_sent_users { *SQL* }] set member_list [join $member_list ", "] + set non_users_list [db_list get_non_sent_users { *SQL* }] foreach id $non_users_list { ims_enterprise::ims_dotlrn::membership::membership \ -job_id $job_id \ @@ -296,7 +296,7 @@ -id $id \ -authority_id $authority_id \ -roletype $roletype \ - -operation delete + -operation delete $id } } Index: openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql 2 Jul 2004 20:35:37 -0000 1.2 +++ openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql 23 Jul 2004 21:35:53 -0000 1.3 @@ -118,7 +118,7 @@ select user_id from dotlrn_member_rels_full where community_id = :community_id - and user_id not in (:member_list) + and user_id not in ($member_list) \ No newline at end of file