Index: openacs-4/packages/acs-admin/www/users/member-state-change.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/member-state-change.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-admin/www/users/member-state-change.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-admin/www/users/member-state-change.tcl 29 Apr 2001 00:45:52 -0000 1.2 @@ -27,45 +27,37 @@ } set action "" -set pl_sql "" switch $member_state { "approved" { set action "Approve $name" - set pl_sql "membership_rel.approve( rel_id => :rel_id );" set email_message "Your membership in [ad_system_name] has been approved. Please return to [ad_parameter SystemUrl]." } "banned" { set action "Ban $name" - set pl_sql "membership_rel.ban( rel_id => :rel_id );" set email_message "You have been banned from [ad_system_name]." } "reject" { set action "Reject $name" - set pl_sql "membership_rel.reject( rel_id => :rel_id );" set email_message "Your account have been rejected from [ad_system_name]." } "deleted" { set action "Delete $name" - set pl_sql "membership_rel.deleted( rel_id => :rel_id );" set email_message "Your account have been deleted from [ad_system_name]." } "needs approval" { set action "Require Admin Approval for $name" - set pl_sql "membership_rel.unapprove( rel_id => :rel_id );" set email_message "Your account at [ad_system_name] is awaiting approval from an administrator." } } switch $email_verified_p { "t" { set action "Approve Email for $name" - set pl_sql "acs_user.approve_email ( user_id => :user_id );" set email_message "Your email in [ad_system_name] has been approved. Please return to [ad_parameter SystemUrl]." } "f" { set action "Require Email from $name" - set pl_sql "acs_user.unapprove_email ( user_id => :user_id );" set email_message "Your email in [ad_system_name] needs approval. please go to [ad_parameter SystemURL]/register/email-confirm.tcl?[export_url_vars rowid]" } } @@ -74,11 +66,40 @@ ad_return_complaint "Not valid action" "You have not changed the user in any way" return } - -if [catch {db_exec_plsql update_user_state " -begin -$pl_sql -end;"} errmsg] { + +if [ catch {switch $member_state { + "approved" { + db_exec_plsql member_approve " + begin membership_rel.approve( rel_id => :rel_id ); end;" + } + "banned" { + db_exec_plsql member_ban " + begin membership_rel.ban( rel_id => :rel_id ); end;" + } + "reject" { + db_exec_plsql member_reject " + begin membership_rel.reject( rel_id => :rel_id ); end;" + } + "deleted" { + db_exec_plsql member_deleted " + begin membership_rel.deleted( rel_id => :rel_id ); end;" + } + "needs approval" { + db_exec_plsql member_unapprove " + begin membership_rel.unapprove( rel_id => :rel_id ); end;" + } + } + switch $email_verified_p { + "t" { + db_exec_plsql approve_email " + begin acs_user.approve_email ( user_id => :user_id ); end;" + } + "f" { + db_exec_plsql unapprove_email " + begin acs_user.unapprove_email ( user_id => :user_id ); end;" + } + } + } errmsg] { ad_return_error "Database Update Failed" "Database update failed with the following error:
$errmsg
" } @@ -95,4 +116,4 @@ set context_bar [ad_admin_context_bar [list "index.tcl" "Users"] "$action"] set export_vars [export_url_vars email email_from subject message return_url] -ad_return_template \ No newline at end of file +ad_return_template