cp.pl: vc select richtig escapen
[kivitendo-erp.git] / bin / mozilla / amtemplates.pl
index 73e7e9b..839fbf2 100644 (file)
@@ -36,6 +36,8 @@ use SL::Form;
 
 use Data::Dumper;
 
+use strict;
+
 1;
 
 require "bin/mozilla/common.pl";
@@ -43,37 +45,51 @@ require "bin/mozilla/common.pl";
 # end of main
 
 sub display {
-  call_sub($form->{display_nextsub});
+  call_sub($main::form->{display_nextsub});
 }
 
 sub save {
-  call_sub($form->{save_nextsub});
+  call_sub($main::form->{save_nextsub});
 }
 
 sub edit {
-  call_sub($form->{edit_nextsub});
+  call_sub($main::form->{edit_nextsub});
 }
 
 sub display_template {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+
+  $main::auth->assert('config');
 
   $form->{edit} = 0;
   display_template_form();
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub edit_template {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+
+  $main::auth->assert('config');
 
   $form->{edit} = 1;
   display_template_form();
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub save_template {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+  my $locale   = $main::locale;
+
+  $main::auth->assert('config');
 
   $form->isblank("formname", $locale->text("You're not editing a file.")) unless ($form->{type} eq "stylesheet");
 
@@ -85,11 +101,17 @@ sub save_template {
   $form->{edit} = 0;
   display_template_form();
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub display_template_form {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+  my $locale   = $main::locale;
+
+  $main::auth->assert('config');
 
   $form->{"formname"} =~ s|.*/||;
   my $format = $form->{"format"} eq "html" ? "html" : "tex";
@@ -98,7 +120,7 @@ sub display_template_form {
 
   my %options;
 
-  my @hidden = qw(login password type format);
+  my @hidden = qw(type format);
 
   if (($form->{"type"} ne "stylesheet") && !$form->{"edit"}) {
     $options{"SHOW_EDIT_OPTIONS"} = 1;
@@ -145,8 +167,7 @@ sub display_template_form {
 
       push(@values,
            { "value"   => $file,
-             "label"   => ref($setup) ? $setup->{"translation"} : $setup,
-             "default" => $file eq $form->{"formname"} });
+             "label"   => ref($setup) ? $setup->{"translation"} : $setup });
     }
 
     # "zahlungserinnerung" => $locale->text('Payment Reminder'),
@@ -155,54 +176,47 @@ sub display_template_form {
       next if !$ref->{"template"};
 
       push(@values,
-           { "value"   => $ref->{"template"},
-             "label"   => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"},
-             "default" => $ref->{"template"} eq $form->{"formname"} });
+           { "value" => $ref->{"template"},
+             "label" => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"} },
+           { "value" => $ref->{"template"} . "_invoice",
+             "label" => $locale->text('Payment Reminder') . ": " . $ref->{"dunning_description"} . ' (' . $locale->text("Invoice for fees") . ')' });
     }
 
     @values = sort({ $a->{"label"} cmp $b->{"label"} } @values);
 
-    $options{"FORMNAME"} = [ @values ];
+    $options{FORMNAME} = [ @values ];
 
     #
     # Setup "language" selection
     #
 
-    @values = ( { "value" => "", "label" => "", "default" => 0 } );
+    @values = ();
 
     foreach my $item (@{ $form->{"ALL_LANGUAGES"} }) {
       next unless ($item->{"template_code"});
 
-      my $key = "$item->{id}--$item->{template_code}";
-
       push(@values,
-           { "value"   => $key,
-             "label"   => $item->{"description"},
-             "default" => $key eq $form->{"language"} });
+           { "value" => "$item->{id}--$item->{template_code}",
+             "label" => $item->{"description"} });
     }
 
-    $options{"LANGUAGE"} = [ @values ];
-    $options{"SHOW_LANGUAGE"} = scalar(@values) > 1;
-
-    @values = ( { "value" => "", "label" => "", "default" => 0 } );
+    $options{LANGUAGE} = [ @values ];
 
     #
     # Setup "printer" selection
     #
 
+    @values = ();
+
     foreach my $item (@{ $form->{"ALL_PRINTERS"} }) {
       next unless ($item->{"template_code"});
 
-      my $key = "$item->{id}--$item->{template_code}";
-
       push(@values,
-           { "value"   => $key,
-             "label"   => $item->{"printer_description"},
-             "default" => $key eq $form->{"printer"} });
+           { "value" => "$item->{id}--$item->{template_code}",
+             "label" => $item->{"printer_description"} });
     }
 
-    $options{"PRINTER"} = [ @values ];
-    $options{"SHOW_PRINTER"} = scalar(@values) > 1;
+    $options{PRINTER} = [ @values ];
 
   } else {
     push(@hidden, qw(formname language printer));
@@ -233,7 +247,7 @@ sub display_template_form {
   $form->header;
   print($form->parse_html_template("am/edit_templates", \%options));
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 1;