diff options
author | Mark Wells <mark@freeside.biz> | 2013-08-22 17:13:49 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2013-08-22 17:13:49 -0700 |
commit | a9a791f0e93cf43f93a4bd720c7681d08d84f18c (patch) | |
tree | db08301412b97971bf9bc31a05014299f77e5c10 /httemplate | |
parent | ff7b7921948cba175aa99974cda1c9c0080937c1 (diff) |
better locale support in message template UI, #24659
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/browse/msg_template.html | 2 | ||||
-rw-r--r-- | httemplate/edit/msg_template.html | 39 | ||||
-rw-r--r-- | httemplate/misc/delete-template_content.html | 18 |
3 files changed, 51 insertions, 8 deletions
diff --git a/httemplate/browse/msg_template.html b/httemplate/browse/msg_template.html index 50afc283e..bb5ac94a0 100644 --- a/httemplate/browse/msg_template.html +++ b/httemplate/browse/msg_template.html @@ -36,7 +36,7 @@ my (@locales, @locale_links); foreach my $l ( FS::Locales->locales ) { push @locales, sub { exists ( $_[0]->content_locales->{$l} ) - ? +{ FS::Locales->locale_info($l) }->{'name'} + ? +{ FS::Locales->locale_info($l) }->{'label'} : ''; }; push @locale_links, sub { diff --git a/httemplate/edit/msg_template.html b/httemplate/edit/msg_template.html index 115032a07..7205ba844 100644 --- a/httemplate/edit/msg_template.html +++ b/httemplate/edit/msg_template.html @@ -15,13 +15,14 @@ 'msgname' => 'Template name', 'from_addr' => 'From: ', 'bcc_addr' => 'Bcc: ', - 'locale' => 'Language', + 'locale' => 'Locale', 'subject' => 'Subject: ', 'body' => 'Message body', }, 'edit_callback' => \&edit_callback, 'error_callback' => \&edit_callback, 'html_bottom' => '</DIV>', + 'html_table_bottom'=> \&html_table_bottom, 'html_foot' => ( $no_submit ? '' : "</TD>$sidebar</TR></TABLE>" ), 'no_submit' => $no_submit, &> @@ -120,11 +121,12 @@ sub edit_callback { # make a list of available locales my $content_locales = $object->content_locales; - my @locales = grep { !exists($content_locales->{$_}) } FS::Locales->locales; + my @locales = grep { !exists($content_locales->{$_}) } + FS::Conf->new->config('available-locales'); my %labels; foreach (@locales) { my %info = FS::Locales->locale_info($_); - $labels{$_} = $info{'name'}; # ignoring country for now + $labels{$_} = $info{'label'}; } unshift @locales, 'new'; $labels{'new'} = 'Select language'; @@ -145,7 +147,7 @@ sub edit_callback { curr_value => 'new', onchange => $onchange_locale, ); - } # else it's already set up correctly + } } sub menubar_opt_callback { @@ -159,10 +161,10 @@ sub menubar_opt_callback { foreach my $l (FS::Locales->locales) { if ( exists $object->content_locales->{$l} ) { my %info = FS::Locales->locale_info($l); - push @tabs, - $info{'name'}, + push @tabs, + $info{'label'}, ';locale='.$l; - $selected = $info{'name'} if $object->locale eq $l; + $selected = $info{'label'} if $object->locale eq $l; } else { $display_new = 1; # there is at least one unused locale left @@ -329,6 +331,11 @@ function insertHtml(what) { var oEditor = FCKeditorAPI.GetInstance("body"); oEditor.InsertHtml(what); }; + +function areyousure(url, message) { + if (confirm(message)) + window.location.href = url; +} </SCRIPT> <TD valign="top"><FORM name="dummy"> Substitutions: ' @@ -340,4 +347,22 @@ Substitutions: ' </FONT></TD> '; +sub html_table_bottom { + my $object = shift; + $cgi->param('locale') =~ /^(\w+)$/; + my $locale = $1; + my $html; + if ( $locale and $locale ne 'new' ) { + # set up a delete link + my $msgnum = $object->msgnum; + my $url = $p."misc/delete-template_content.html?msgnum=$msgnum;locale=$1"; + my $link = qq!<A HREF="javascript:areyousure('$url','Really delete this template?')">! . + 'Delete this template' . + '</A>'; + $html = qq!<TR><TD></TD> + <TD STYLE="font-style: italic; font-size: small">$link</TD></TR>!; + } + $html; +} + </%init> diff --git a/httemplate/misc/delete-template_content.html b/httemplate/misc/delete-template_content.html new file mode 100644 index 000000000..e77878c25 --- /dev/null +++ b/httemplate/misc/delete-template_content.html @@ -0,0 +1,18 @@ +<%init> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right(['Edit templates', 'Edit global templates']); + +my ($msgnum, $locale); +$cgi->param('msgnum') =~ /^(\d+)$/ or die "bad msgnum"; +$msgnum = $1; +$cgi->param('locale') =~ /^(\w+)$/ or die "bad locale"; +$locale = $1; +my $content = qsearchs('template_content', + { msgnum => $msgnum, locale => $locale }) + or die "couldn't find $locale version of template #$msgnum"; + +my $error = $content->delete; +my $url = $p.'edit/msg_template.html?msgnum='.$msgnum; +$url .= ";locale=$locale;error=$error" if $error; +</%init> +<% $cgi->redirect($url) %> |