service dependencies: UI, RT#33685
[freeside.git] / httemplate / browse / msg_template.html
1 <% include( 'elements/browse.html',
2               'title'         => 'Message templates',
3               'name_singular' => 'template',
4               'menubar'       => \@menubar,
5               'query'         => { 'table' => 'msg_template', },
6               'count_query'   => 'SELECT COUNT(*) FROM msg_template',
7               'disableable'   => 1,
8               'disabled_statuspos' => (scalar(@locales) + 3),
9               'agent_virt'         => 1,
10               'agent_null_right'   => ['View global templates','Edit global templates'],
11               'agent_pos'          => 1,
12               'header'      => [ 'Name', '', map ('', @locales), '' ],
13               'fields'      => [ 'msgname', @locales, $disable_link_label ],
14               'links'       => [ $link, @locale_links, '' ],
15               'link_onclicks' => [ '', map('', @locale_links), $disable_link ],
16               'cell_style'    => [ '', '', map ($locale_style, @locales), $locale_style ],
17           )
18 %>
19 <%init>
20
21 my $curuser = $FS::CurrentUser::CurrentUser;
22
23 die "access denied"
24   unless $curuser->access_right([ 'View templates', 'View global templates',
25                                   'Edit templates', 'Edit global templates', ]);
26
27 my @menubar = ();
28 if ( $curuser->access_right(['Edit templates', 'Edit global templates']) ) {
29   push @menubar, 'Add a new template' => $p.'edit/msg_template.html';
30 }
31
32 my $link = [ "${p}edit/msg_template.html?msgnum=", 'msgnum' ];
33
34 my $locale_style = 'font-size:0.8em; padding:3px';
35
36 my (@locales, @locale_links);
37 foreach my $l ( FS::Locales->locales ) {
38   push @locales, sub {
39     exists ( $_[0]->content_locales->{$l} )
40     ? +{ FS::Locales->locale_info($l) }->{'label'} 
41     : '';
42   };
43   push @locale_links, sub {
44     my $content = $_[0]->content_locales->{$l} or return '';
45     [ "${p}edit/msg_template.html?locale=$l;msgnum=", 'msgnum' ];
46   };
47 }
48
49 my $disable_link = sub {
50   my $template = shift;
51   include('/elements/popup_link_onclick.html',
52     action      => $p.'misc/disable-msg_template.cgi?msgnum=' .
53                      $template->msgnum .
54                      ($template->disabled ? ';enable=1' : ''),
55     actionlabel => 'Disable lemplate',
56   );
57 };
58
59 my $disable_link_label = sub {
60   my $template = shift;
61   $template->disabled ? '(enable)' : '(disable)' ;
62 };
63
64 </%init>