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 -N -r1.17.2.5 -r1.17.2.6 --- openacs-4/packages/acs-admin/www/users/member-state-change.tcl 23 Apr 2017 19:35:36 -0000 1.17.2.5 +++ openacs-4/packages/acs-admin/www/users/member-state-change.tcl 25 Apr 2017 13:33:51 -0000 1.17.2.6 @@ -8,8 +8,8 @@ } { user_id:naturalnum,notnull - {member_state "no_change"} - {email_verified_p:boolean "no_change"} + {member_state} + {email_verified_p:boolean} {return_url:localurl ""} } -properties { context:onevalue @@ -24,30 +24,12 @@ return } -set action "" -switch $member_state { - "approved" { - set action "Approve $name" - set email_message "Your membership in [ad_system_name] has been approved. Please return to [ad_url]." - } - "banned" { - set action "Ban $name" - set email_message "You have been banned from [ad_system_name]." - } - "rejected" { - set action "Reject $name" - set email_message "Your account have been rejected from [ad_system_name]." - } - "deleted" { - set action "Delete $name" - set email_message "Your account have been deleted from [ad_system_name]." - } - "needs approval" { - set action "Require Admin Approval for $name" - set email_message "Your account at [ad_system_name] is awaiting approval from an administrator." - } -} +set action [group::get_member_state_pretty -component action -user_name $name] +set email_message [group::get_member_state_pretty -component email_message \ + -community_name [ad_system_name] \ + -url [ad_url] \ + -membership "account"] switch $email_verified_p { "t" { Index: openacs-4/packages/acs-subsite/tcl/group-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/group-procs.tcl,v diff -u -N -r1.39.2.9 -r1.39.2.10 --- openacs-4/packages/acs-subsite/tcl/group-procs.tcl 21 Apr 2017 15:27:49 -0000 1.39.2.9 +++ openacs-4/packages/acs-subsite/tcl/group-procs.tcl 25 Apr 2017 13:33:51 -0000 1.39.2.10 @@ -433,21 +433,67 @@ ad_proc -public group::get_member_state_pretty { {-member_state:required} + {-component pretty_name} + {-user_name ""} + {-community_name ""} + {-url ""} + {-membership "membership"} } { Returns the pretty-name of a member state. } { - array set message_key_array { - approved #acs-kernel.member_state_approved# - "needs approval" #acs-kernel.member_state_needs_approval# - banned #acs-kernel.member_state_banned# - rejected #acs-kernel.member_state_rejected# - deleted #acs-kernel.member_state_deleted# - merged #acs-kernel.member_state_merged# + set message_key_dict {} + + switch $component { + pretty_name { + set message_key_dict { + "approved" #acs-kernel.member_state_approved# + "banned" #acs-kernel.member_state_banned# + "deleted" #acs-kernel.member_state_deleted# + "merged" #acs-kernel.member_state_merged# + "needs approval" #acs-kernel.member_state_needs_approval# + "rejected" #acs-kernel.member_state_rejected# + } + } + action { + if {$user_name eq ""} { + error "user_name must be specified and must be non-empty" + } + set message_key_dict [subst { + "approved" "Approve $name" + "banned" "Ban $name" + "deleted" "Delete $name" + "merged" "Merge $name" + "needs approval" "Require Admin Approval for $name" + "rejected" "Reject $name" + }] + } + email_message { + if {$community_name eq ""} { + error "community_name must be specified and must be non-empty" + } + if {$url eq ""} { + error "url must be specified and must be non-empty" + } + set message_key_dict [subst { + "approved" "Your $membership in $community_name has been approved. Please return to $url." + "banned" "You have been banned from $community_name." + "deleted" "Your $membership has been deleted from $community_name." + "merged" "Your $membership at $community_name will be merged." + "needs approval" "Your $membership at $community_name is awaiting approval from an administrator." + "rejected" "Your $membership at $community_name has been rejected." + }] + } } - return [lang::util::localize $message_key_array($member_state)] + if {[dict exists $message_key_dict $member_state]} { + set result [lang::util::localize [dict get $message_key_dict $member_state]] + } else { + set result "" + } + return $result } + ad_proc -public group::get_join_policy_options {} { Returns a list of valid join policies in a format suitable for a form builder drop-down. } {