its all about control
[freeside.git] / httemplate / edit / msgcat.cgi
index 54a340d..b46cdfd 100755 (executable)
@@ -1,59 +1,57 @@
-<!-- mason kludge -->
-%
-%
-%print header("Edit Message catalog", menubar(
-%#  'Main Menu' => $p,
-%)), '<BR>';
-%
-%print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !. $cgi->param('error').
-%      '</FONT><BR><BR>'
-%  if $cgi->param('error');
-%
-%my $widget = new HTML::Widgets::SelectLayers(
-%  'selected_layer' => 'en_US',
-%  'options'        => { 'en_US'=>'en_US' },
-%  'form_action'    => 'process/msgcat.cgi',
-%  'layer_callback' => sub {
-%    my $layer = shift;
-%    my $html = qq!<INPUT TYPE="hidden" NAME="locale" VALUE="$layer">!.
-%               "<BR>Messages for locale $layer<BR>". table().
-%               "<TR><TH COLSPAN=2>Code</TH>".
-%               "<TH>Message</TH>";
-%    $html .= "<TH>en_US Message</TH>" unless $layer eq 'en_US';
-%    $html .= '</TR>';
-%
-%    #foreach my $msgcat ( sort { $a->msgcode cmp $b->msgcode }
-%    #                       qsearch('msgcat', { 'locale' => $layer } ) ) {
-%    foreach my $msgcat ( qsearch('msgcat', { 'locale' => $layer } ) ) {
-%      $html .=
-%        '<TR><TD>'. $msgcat->msgnum. '</TD><TD>'. $msgcat->msgcode. '</TD>'.
-%        '<TD><INPUT TYPE="text" SIZE=32 '.
-%        qq! NAME="!. $msgcat->msgnum. '" '.
-%        qq!VALUE="!. ($cgi->param($msgcat->msgnum)||$msgcat->msg). qq!"></TD>!;
-%      unless ( $layer eq 'en_US' ) {
-%        my $en_msgcat = qsearchs('msgcat', {
-%          'locale'  => 'en_US',
-%          'msgcode' => $msgcat->msgcode,
-%        } );
-%        $html .= '<TD>'. $en_msgcat->msg. '</TD>';
-%      }
-%      $html .= '</TR>';
-%    }
-%
-%    $html .= '</TABLE><BR><INPUT TYPE="submit" VALUE="Apply changes">';
-%
-%    $html;
-%  },
-%
-%);
-%
-%print $widget->html;
-%
-%print <<END;
-%    </TABLE>
-%  </BODY>
-%</HTML>
-%END
-%
-%
+<% header("Edit Message catalog" ) %>
+<BR>
 
+% if ( $cgi->param('error') ) {
+  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
+  <BR><BR>
+% }
+
+<% $widget->html %>
+
+    </TABLE>
+  </BODY>
+</HTML>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $widget = new HTML::Widgets::SelectLayers(
+  'selected_layer' => 'en_US',
+  'options'        => { 'en_US'=>'en_US' },
+  'form_action'    => 'process/msgcat.cgi',
+  'layer_callback' => sub {
+    my $layer = shift;
+    my $html = qq!<INPUT TYPE="hidden" NAME="locale" VALUE="$layer">!.
+               "<BR>Messages for locale $layer<BR>". table().
+               "<TR><TH COLSPAN=2>Code</TH>".
+               "<TH>Message</TH>";
+    $html .= "<TH>en_US Message</TH>" unless $layer eq 'en_US';
+    $html .= '</TR>';
+
+    #foreach my $msgcat ( sort { $a->msgcode cmp $b->msgcode }
+    #                       qsearch('msgcat', { 'locale' => $layer } ) ) {
+    foreach my $msgcat ( qsearch('msgcat', { 'locale' => $layer } ) ) {
+      $html .=
+        '<TR><TD>'. $msgcat->msgnum. '</TD><TD>'. $msgcat->msgcode. '</TD>'.
+        '<TD><INPUT TYPE="text" SIZE=32 '.
+        qq! NAME="!. $msgcat->msgnum. '" '.
+        qq!VALUE="!. ($cgi->param($msgcat->msgnum)||$msgcat->msg). qq!"></TD>!;
+      unless ( $layer eq 'en_US' ) {
+        my $en_msgcat = qsearchs('msgcat', {
+          'locale'  => 'en_US',
+          'msgcode' => $msgcat->msgcode,
+        } );
+        $html .= '<TD>'. $en_msgcat->msg. '</TD>';
+      }
+      $html .= '</TR>';
+    }
+
+    $html .= '</TABLE><BR><INPUT TYPE="submit" VALUE="Apply changes">';
+
+    $html;
+  },
+
+);
+
+</%init>