Index: openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl 1 Oct 2005 21:44:40 -0000 1.11 +++ openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl 13 Jun 2006 17:03:13 -0000 1.12 @@ -261,8 +261,7 @@ } category::map_object -remove_old -object_id $user_id [list $grade] - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f + dotlrn_ecommerce::check_user -user_id $user_id } -after_submit { if { [string equal [ad_conn account_status] "closed"] } { auth::verify_account_status Index: openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl 1 Oct 2005 21:44:40 -0000 1.12 +++ openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl 13 Jun 2006 17:03:13 -0000 1.13 @@ -264,10 +264,7 @@ } } - if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f - } + dotlrn_ecommerce::check_user -user_id $user_id } -after_submit { Index: openacs-4/packages/dotlrn-ecommerce/tcl/dotlrn-ecommerce-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/tcl/dotlrn-ecommerce-procs.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn-ecommerce/tcl/dotlrn-ecommerce-procs.tcl 20 Apr 2006 20:08:43 -0000 1.14 +++ openacs-4/packages/dotlrn-ecommerce/tcl/dotlrn-ecommerce-procs.tcl 13 Jun 2006 17:03:12 -0000 1.15 @@ -641,3 +641,46 @@ } } } + +ad_proc -public dotlrn_ecommerce::check_user { + -user_id:required +} { + Check user and add to dotlrn, set access and guest settings if necessary + + @author Roel Canicula (roel@solutiongrove.com) + @creation-date 2006-06-14 + + @param user_id + + @return + + @error +} { + if { ![dotlrn::user_p -user_id $user_id] } { + set package_id [dotlrn::get_package_id] + + set type [parameter::get \ + -parameter AutoUserType \ + -package_id $package_id \ + -default "student"] + + set can_browse_p [parameter::get \ + -parameter AutoUserAccessLevel \ + -package_id $package_id \ + -default 1] + + set read_private_data_p [parameter::get \ + -parameter AutoUserReadPrivateDataP \ + -package_id $package_id \ + -default 1] + + dotlrn::user_add \ + -type $type \ + -can_browse=$can_browse_p \ + -user_id $user_id + + dotlrn_privacy::set_user_is_non_guest \ + -user_id $user_id \ + -value $read_private_data_p + } +} Index: openacs-4/packages/dotlrn-ecommerce/tcl/implementation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/tcl/implementation-procs.tcl,v diff -u -r1.34 -r1.35 --- openacs-4/packages/dotlrn-ecommerce/tcl/implementation-procs.tcl 29 Mar 2006 02:36:38 -0000 1.34 +++ openacs-4/packages/dotlrn-ecommerce/tcl/implementation-procs.tcl 13 Jun 2006 17:03:12 -0000 1.35 @@ -80,10 +80,7 @@ set checkout_user_id [ad_conn user_id] if { [exists_and_not_null patron_id] } { - if { ! [dotlrn::user_p -user_id $patron_id] } { - dotlrn::user_add -user_id $patron_id - dotlrn_privacy::set_user_guest_p -user_id $patron_id -value f - } + dotlrn_ecommerce::check_user -user_id $patron_id } db_foreach items_in_order { @@ -117,10 +114,7 @@ } if { [exists_and_not_null saved_patron_id] } { - if { ! [dotlrn::user_p -user_id $saved_patron_id] } { - dotlrn::user_add -user_id $saved_patron_id - dotlrn_privacy::set_user_guest_p -user_id $saved_patron_id -value f - } + dotlrn_ecommerce::check_user -user_id $saved_patron_id } set membership_product_p 0 @@ -135,10 +129,7 @@ } foreach user_id $user_ids { - if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f - } + dotlrn_ecommerce::check_user -user_id $user_id if {$membership_product_p} { set membership_group_id [parameter::get -parameter MemberGroupId -package_id [apm_package_id_from_key "dotlrn-ecommerce"]] Index: openacs-4/packages/dotlrn-ecommerce/www/application-confirm.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/application-confirm.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/dotlrn-ecommerce/www/application-confirm.tcl 23 Mar 2006 02:08:41 -0000 1.9 +++ openacs-4/packages/dotlrn-ecommerce/www/application-confirm.tcl 13 Jun 2006 17:03:12 -0000 1.10 @@ -25,8 +25,7 @@ # This is a newly created user and if this page is reached, that # means a new user answered a course application and should be put # on the approval list - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f + dotlrn_ecommerce::check_user -user_id $user_id # Adding a user removes an existing entry in member_rels and # creates a new one with the default member_state so set the Index: openacs-4/packages/dotlrn-ecommerce/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/index.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn-ecommerce/www/index.tcl 31 Jan 2006 02:52:43 -0000 1.6 +++ openacs-4/packages/dotlrn-ecommerce/www/index.tcl 13 Jun 2006 17:03:12 -0000 1.7 @@ -11,10 +11,7 @@ set user_id [ad_conn user_id] if { $user_id } { - if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f - } + dotlrn_ecommerce::check_user -user_id $user_id } if {[permission::permission_p -party_id $user_id -object_id $cc_package_id -privilege "create"]} { Index: openacs-4/packages/dotlrn-ecommerce/www/admin/membership-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/admin/membership-add.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/dotlrn-ecommerce/www/admin/membership-add.tcl 1 Oct 2005 21:44:39 -0000 1.7 +++ openacs-4/packages/dotlrn-ecommerce/www/admin/membership-add.tcl 13 Jun 2006 17:03:12 -0000 1.8 @@ -32,10 +32,7 @@ ad_script_abort } -if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f -} +dotlrn_ecommerce::check_user -user_id $user_id if { [info exists participant_id] } { set patron_id $user_id Index: openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-2.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-2.tcl 1 Oct 2005 21:44:39 -0000 1.2 +++ openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-2.tcl 13 Jun 2006 17:03:12 -0000 1.3 @@ -20,12 +20,8 @@ } # Add some security checks here +dotlrn_ecommerce::check_user -user_id $user_id -if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f -} - # Get section db_1row section { select product_id, community_id Index: openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-course.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-course.tcl,v diff -u -r1.23 -r1.24 --- openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-course.tcl 1 Oct 2005 21:44:39 -0000 1.23 +++ openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-course.tcl 13 Jun 2006 17:03:12 -0000 1.24 @@ -72,16 +72,10 @@ set next_url [export_vars -base process-purchase-course { {purchaser_id $user_id} participant participant_id section section_id related_user {new_user_p 1} }] -if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f -} +dotlrn_ecommerce::check_user -user_id $user_id if { $participant_id } { - if { ! [dotlrn::user_p -user_id $participant_id] } { - dotlrn::user_add -user_id $participant_id - dotlrn_privacy::set_user_guest_p -user_id $participant_id -value f - } + dotlrn_ecommerce::check_user -user_id $participant_id } set validate [list] Index: openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-group.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-group.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-group.tcl 29 Aug 2005 17:17:16 -0000 1.3 +++ openacs-4/packages/dotlrn-ecommerce/www/admin/process-purchase-group.tcl 13 Jun 2006 17:03:12 -0000 1.4 @@ -68,34 +68,8 @@ if { [info exists new_user(user_id)] } { # make a dotlrn user - if { ![dotlrn::user_p -user_id $new_user(user_id)] } { - set type [parameter::get \ - -parameter AutoUserType \ - -package_id [dotlrn::get_package_id] \ - -default "student"] - - set can_browse_p [parameter::get \ - -parameter AutoUserAccessLevel \ - -package_id [dotlrn::get_package_id] \ - -default 1] - - set read_private_data_p [parameter::get \ - -parameter AutoUserReadPrivateDataP \ - -package_id [dotlrn::get_package_id] \ - -default 1] - - db_transaction { - dotlrn::user_add \ - -type $type \ - -can_browse=$can_browse_p \ - -user_id $new_user(user_id) - - dotlrn_privacy::set_user_is_non_guest \ - -user_id $new_user(user_id) \ - -value $read_private_data_p - } - } + dotlrn_ecommerce::check_user -user_id $new_user(user_id) relation_add -member_state approved membership_rel $group_id $new_user(user_id) } else { Index: openacs-4/packages/dotlrn-ecommerce/www/ecommerce/application-request.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/ecommerce/application-request.tcl,v diff -u -r1.31 -r1.32 --- openacs-4/packages/dotlrn-ecommerce/www/ecommerce/application-request.tcl 8 Feb 2006 02:51:34 -0000 1.31 +++ openacs-4/packages/dotlrn-ecommerce/www/ecommerce/application-request.tcl 13 Jun 2006 17:03:12 -0000 1.32 @@ -21,10 +21,7 @@ } -errors { } -if { ! [dotlrn::user_p -user_id $participant_id] } { - dotlrn::user_add -user_id $participant_id - dotlrn_privacy::set_user_guest_p -user_id $participant_id -value f -} +dotlrn_ecommerce::check_user -user_id $participant_id set extra_vars [ns_set create] ns_set put $extra_vars user_id $participant_id Index: openacs-4/packages/dotlrn-ecommerce/www/ecommerce/participant-change-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/ecommerce/participant-change-2.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/dotlrn-ecommerce/www/ecommerce/participant-change-2.tcl 1 Oct 2005 21:44:39 -0000 1.5 +++ openacs-4/packages/dotlrn-ecommerce/www/ecommerce/participant-change-2.tcl 13 Jun 2006 17:03:12 -0000 1.6 @@ -21,10 +21,7 @@ # Add some security checks here -if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f -} +dotlrn_ecommerce::check_user -user_id $user_id # Get section db_1row section { Index: openacs-4/packages/dotlrn-ecommerce/www/ecommerce/shopping-cart-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/ecommerce/shopping-cart-add.tcl,v diff -u -r1.35 -r1.36 --- openacs-4/packages/dotlrn-ecommerce/www/ecommerce/shopping-cart-add.tcl 8 Feb 2006 02:51:34 -0000 1.35 +++ openacs-4/packages/dotlrn-ecommerce/www/ecommerce/shopping-cart-add.tcl 13 Jun 2006 17:03:12 -0000 1.36 @@ -81,17 +81,12 @@ set participant_id $user_id } +dotlrn_ecommerce::check_user -user_id $user_id -if { ! [dotlrn::user_p -user_id $user_id] } { - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f +if { [acs_object_type $participant_id] ne "group" } { + dotlrn_ecommerce::check_user -user_id $participant_id } -if { ! [dotlrn::user_p -user_id $participant_id] && [acs_object_type $participant_id] != "group" } { - dotlrn::user_add -user_id $participant_id - dotlrn_privacy::set_user_guest_p -user_id $participant_id -value f -} - db_0or1row section_info { select section_id, community_id from dotlrn_ecommerce_section Index: openacs-4/packages/dotlrn-ecommerce/www/register/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/www/register/index.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/dotlrn-ecommerce/www/register/index.tcl 1 Oct 2005 21:44:39 -0000 1.3 +++ openacs-4/packages/dotlrn-ecommerce/www/register/index.tcl 13 Jun 2006 17:03:11 -0000 1.4 @@ -34,17 +34,13 @@ ad_returnredirect $register_url ad_script_abort } else { - if { [exists_and_not_null community_id] } { - # FIXME : put some error handling here - # make sure user is an approved dotlrn user - dotlrn::user_add -user_id $user_id - dotlrn_privacy::set_user_guest_p -user_id $user_id -value f - - # register the user - dotlrn_community::add_user $community_id $user_id - set reg_message "Thank you for registering....
Placeholder for complete message" - } else { - set reg_message "Invalid community id" - } - + if { [exists_and_not_null community_id] } { + dotlrn_ecommerce::check_user -user_id $user_id + + # register the user + dotlrn_community::add_user $community_id $user_id + set reg_message "Thank you for registering....
Placeholder for complete message" + } else { + set reg_message "Invalid community id" + } }