Index: openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl 12 Mar 2002 01:55:09 -0000 1.1 @@ -0,0 +1,56 @@ +ad_page_contract { + Process the upload + + @author ben (ben@openforce.net) + @creation-date 2002-03-05 + @version $Id: users-bulk-upload-2.tcl,v 1.1 2002/03/12 01:55:09 ben Exp $ +} + +# get location of the file +set file_location [ns_queryget users_csv_file.tmpfile] + +# Prepare stuff +set headers {first_names last_name email} + +set admin_user_id [ad_verify_and_get_user_id] +set admin_email [db_string select_admin_email { + select email + from parties + where party_id = :admin_user_id +}] + +# Do the stuff +# We can't do this too generically, so we'll just do the CSV stuff right here +# (Ben: yeah, we wish for more generic stuff here). +db_transaction { + oacs_util::csv_foreach -file $file_location -array_name row { + # We need to insert the ACS user + set password [ad_generate_random_string] + set user_id [ad_user_new $row(email) $row(first_names) $row(last_name) $password "" "" "" "t" "approved"] + + # Now we make them a dotLRN user + dotlrn::user_add -id $row(id) -type $row(type) -access_level $row(access_level) -user_id $user_id + + # Set the privacy + acs_privacy::set_user_read_private_data -user_id $user_id -object_id [dotlrn::get_package_id] -value $row(read_private_data_p) + + set message " +You have been added as a user to [ad_system_name] at [ad_parameter SystemUrl]. + +Login: $row(email) +Password: $password +" + + # Send note to new user + if [catch {ns_sendmail "$row(email)" "$admin_email" "You have been added as a user to [ad_system_name] at [ad_parameter SystemUrl]" "$message"} errmsg] { +# ad_return_error "Mail Failed" "The system was unable to send email. Please notify the user personally. This problem is probably caused by a misconfiguration of your email system. Here is the error: +#
+#              [ad_quotehtml $errmsg]
+#              
" +# ad_script_abort + } + + } +} + +ad_returnredirect "users" Index: openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp 12 Mar 2002 01:55:09 -0000 1.1 @@ -0,0 +1,10 @@ + +Users: Bulk Upload +@context_bar@ + +Please browse for a CSV file of users to upload: +

+

+
+ +
Index: openacs-4/packages/dotlrn/www/admin/users-bulk-upload.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-bulk-upload.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn/www/admin/users-bulk-upload.tcl 12 Mar 2002 01:55:09 -0000 1.1 @@ -0,0 +1,11 @@ +ad_page_contract { + Display the page for bulk uploading of a bunch of users + + @author ben (ben@openforce.net) + @creation-date 2002-03-05 + @version $Id: users-bulk-upload.tcl,v 1.1 2002/03/12 01:55:09 ben Exp $ +} + +set context_bar {{users Users} {Bulk Upload}} + +ad_return_template Index: openacs-4/packages/dotlrn/www/admin/users.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users.adp,v diff -u -r1.16 -r1.17 --- openacs-4/packages/dotlrn/www/admin/users.adp 6 Mar 2002 00:08:02 -0000 1.16 +++ openacs-4/packages/dotlrn/www/admin/users.adp 12 Mar 2002 01:55:09 -0000 1.17 @@ -6,6 +6,8 @@ Create A New User | Search Users + | + Bulk Upload ]