make the user invite email templatable

This commit is contained in:
Colin Kuskie 2007-06-18 05:05:18 +00:00
parent 9248570f79
commit 8ced11c8ab
7 changed files with 76 additions and 4 deletions

View file

@ -49,6 +49,23 @@ our $HELP = {
]
},
'invite email template' => {
title => 'invite email template title',
body => 'invite email template body',
variables => [
{
name => 'inviteFormError',
},
{
name => 'formHeader',
},
],
fields => [
],
related => [
]
},
};
1; ##All perl modules must return true

View file

@ -124,10 +124,16 @@ sub www_inviteUserSave {
##No sneaky attack paths...
$message = WebGUI::HTML::filter($message);
##Append the invitation url.
##Create the invitation url.
my $inviteId = $session->id->generate();
my $inviteUrl = $session->url->append($session->url->getSiteURL, 'op=acceptInvite;code='.$inviteId);
$message .= "\n$inviteUrl\n";
my $var;
$var->{registrationUrl} = $inviteUrl;
$var->{invitationMessage} = $message;
my $emailTemplate = WebGUI::Asset::Template->new($session, $session->setting->get('userInvitationsEmailTemplateId'));
my $templatedEmail = $emailTemplate->process($var);
##Create the invitation record.
$session->db->setRow(
@ -141,7 +147,7 @@ sub www_inviteUserSave {
$inviteId,
);
$invitation->addText($message);
$invitation->addText($templatedEmail);
$invitation->send;
my $output = sprintf qq!<p>%s</p><a href="%s">%s</a>!,

View file

@ -411,6 +411,15 @@ sub definition {
hoverHelp=>$i18n->get("user invitations email exists description"),
defaultValue=>$session->setting->get("userInvitationsEmailExists"),
});
push(@fields, {
tab=>"user",
fieldType=>"template",
name=>"userInvitationsEmailTemplateId",
label=>$i18n->get('user email template'),
hoverHelp=>$i18n->get('user email template description'),
namespace=>"userInvite/Email",
defaultValue=>$session->setting->get("userInvitationsEmailTemplateId"),
});
# auth settings
my $options;
foreach (@{$session->config->get("authMethods")}) {

View file

@ -123,6 +123,26 @@ our $I18N = {
lastUpdated => 1181493546,
},
'invite email template title' => {
message => q|User Invitation Email Template|,
lastUpdated => 1181970017,
},
'invite email template body' => {
message => q|This template is used to customize and display the invitation that is sent via email.|,
lastUpdated => 1181970016,
},
'registrationUrl' => {
message => q|The URL that the recipient will use to accept the invitation.|,
lastUpdated => 1181970016,
},
'invitationMessage' => {
message => q|The message entered by the user, filtered for HTML to prevent XSS attacks.|,
lastUpdated => 1181970094,
},
};
1;

View file

@ -4101,7 +4101,17 @@ Get a copy of wget and use this: <code>wget -p -r --html-extension -k http://the
message => q|This is the message displayed to users who try to invite someone whose email address already exists in the system.|,
lastUpdated => 1181277914,
},
'user email template' => {
message => q|User Invitation Email Template|,
lastUpdated => 1181969396
},
'user email template description' => {
message => q|The template used to build the email invitation to the user.|,
lastUpdated => 1181969398,
},
'send private message' => {
message => q|Send Private Message|,
lastUpdated => 1181019679,