<% include( 'elements/browse.html', 'title' => 'Message templates', 'name_singular' => 'template', 'menubar' => \@menubar, 'query' => { 'table' => 'msg_template', }, 'count_query' => 'SELECT COUNT(*) FROM msg_template', 'disableable' => 1, 'disabled_statuspos' => (scalar(@locales) + 3), 'agent_virt' => 1, 'agent_null_right' => ['View global templates','Edit global templates'], 'agent_pos' => 1, 'header' => [ 'Name', '', map ('', @locales), '' ], 'fields' => [ 'msgname', @locales, $disable_link_label ], 'links' => [ $link, @locale_links, '' ], 'link_onclicks' => [ '', map('', @locale_links), $disable_link ], 'cell_style' => [ '', '', map ($locale_style, @locales), $locale_style ], ) %> <%init> my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" unless $curuser->access_right([ 'View templates', 'View global templates', 'Edit templates', 'Edit global templates', ]); my @menubar = (); if ( $curuser->access_right(['Edit templates', 'Edit global templates']) ) { push @menubar, 'Add a new template' => $p.'edit/msg_template.html'; } my $link = [ "${p}edit/msg_template.html?msgnum=", 'msgnum' ]; my $locale_style = 'font-size:0.8em; padding:3px'; my (@locales, @locale_links); foreach my $l ( FS::Locales->locales ) { push @locales, sub { exists ( $_[0]->content_locales->{$l} ) ? +{ FS::Locales->locale_info($l) }->{'label'} : ''; }; push @locale_links, sub { my $content = $_[0]->content_locales->{$l} or return ''; [ "${p}edit/msg_template.html?locale=$l;msgnum=", 'msgnum' ]; }; } my $disable_link = sub { my $template = shift; include('/elements/popup_link_onclick.html', action => $p.'misc/disable-msg_template.cgi?msgnum=' . $template->msgnum . ($template->disabled ? ';enable=1' : ''), actionlabel => 'Disable lemplate', ); }; my $disable_link_label = sub { my $template = shift; $template->disabled ? '(enable)' : '(disable)' ; };