generic translations strict
[kivitendo-erp.git] / bin / mozilla / amtemplates.pl
index fa55a01..9843f82 100644 (file)
@@ -38,7 +38,7 @@ use Data::Dumper;
 
 1;
 
-require "$form->{path}/common.pl";
+require "bin/mozilla/common.pl";
 
 # end of main
 
@@ -57,6 +57,8 @@ sub edit {
 sub display_template {
   $lxdebug->enter_sub();
 
+  $auth->assert('config');
+
   $form->{edit} = 0;
   display_template_form();
 
@@ -66,6 +68,8 @@ sub display_template {
 sub edit_template {
   $lxdebug->enter_sub();
 
+  $auth->assert('config');
+
   $form->{edit} = 1;
   display_template_form();
 
@@ -75,6 +79,8 @@ sub edit_template {
 sub save_template {
   $lxdebug->enter_sub();
 
+  $auth->assert('config');
+
   $form->isblank("formname", $locale->text("You're not editing a file.")) unless ($form->{type} eq "stylesheet");
 
   my ($filename) = AM->prepare_template_filename(\%myconfig, $form);
@@ -91,6 +97,8 @@ sub save_template {
 sub display_template_form {
   $lxdebug->enter_sub();
 
+  $auth->assert('config');
+
   $form->{"formname"} =~ s|.*/||;
   my $format = $form->{"format"} eq "html" ? "html" : "tex";
 
@@ -98,7 +106,7 @@ sub display_template_form {
 
   my %options;
 
-  my @hidden = qw(login path password type format);
+  my @hidden = qw(type format);
 
   if (($form->{"type"} ne "stylesheet") && !$form->{"edit"}) {
     $options{"SHOW_EDIT_OPTIONS"} = 1;
@@ -107,32 +115,35 @@ sub display_template_form {
     # Setup "formname" selection
     #
 
+    $form->get_lists("printers" => "ALL_PRINTERS",
+                     "languages" => "ALL_LANGUAGES",
+                     "dunning_configs" => "ALL_DUNNING_CONFIGS");
+
     my %formname_setup =
       (
-       "balance_sheet" => { "translation" => $locale->text('Balance Sheet'), "html" => 1 },
-       "bin_list" => $locale->text('Bin List'),
-       "bwa" => { "translation" => $locale->text('BWA'), "html" => 1 },
-       "check" => { "translation" => $locale->text('Check'), "html" => 1 },
-       "credit_note" => $locale->text('Credit Note'),
-       "income_statement" => { "translation" => $locale->text('Income Statement'), "html" => 1 },
-       "invoice" => $locale->text('Invoice'),
-       "packing_list" => $locale->text('Packing List'),
-       "pick_list" => $locale->text('Pick List'),
-       "proforma" => $locale->text('Proforma Invoice'),
-       "purchase_order" => $locale->text('Purchase Order'),
-       "receipt" => { "translation" => $locale->text('Receipt'), "tex" => 1 },
-       "request_quotation" => $locale->text('RFQ'),
-       "sales_order" => $locale->text('Confirmation'),
-       "sales_quotation" => $locale->text('Quotation'),
-       "statement" => $locale->text('Statement'),
-       "storno_invoice" => $locale->text('Storno Invoice'),
-       "storno_packing_list" => $locale->text('Storno Packing List'),
-       "ustva-2004" => { "translation" => $locale->text("USTVA 2004"), "tex" => 1 },
-       "ustva-2005" => { "translation" => $locale->text("USTVA 2005"), "tex" => 1 },
-       "ustva-2006" => { "translation" => $locale->text("USTVA 2006"), "tex" => 1 },
-       "ustva-2007" => { "translation" => $locale->text("USTVA 2007"), "tex" => 1 },
-       "ustva" => $locale->text("USTVA"),
-       "zahlungserinnerung" => $locale->text('Payment Reminder'),
+        "balance_sheet" => { "translation" => $locale->text('Balance Sheet'), "html" => 1 },
+        "bin_list" => $locale->text('Bin List'),
+        "bwa" => { "translation" => $locale->text('BWA'), "html" => 1 },
+        "check" => { "translation" => $locale->text('Check'), "html" => 1 },
+        "credit_note" => $locale->text('Credit Note'),
+        "income_statement" => { "translation" => $locale->text('Income Statement'), "html" => 1 },
+        "invoice" => $locale->text('Invoice'),
+        "packing_list" => $locale->text('Packing List'),
+        "pick_list" => $locale->text('Pick List'),
+        "proforma" => $locale->text('Proforma Invoice'),
+        "purchase_order" => $locale->text('Purchase Order'),
+        "receipt" => { "translation" => $locale->text('Receipt'), "tex" => 1 },
+        "request_quotation" => $locale->text('RFQ'),
+        "sales_order" => $locale->text('Confirmation'),
+        "sales_quotation" => $locale->text('Quotation'),
+        "statement" => $locale->text('Statement'),
+        "storno_invoice" => $locale->text('Storno Invoice'),
+        "storno_packing_list" => $locale->text('Storno Packing List'),
+        "ustva-2004" => { "translation" => $locale->text("USTVA 2004"), "tex" => 1 },
+        "ustva-2005" => { "translation" => $locale->text("USTVA 2005"), "tex" => 1 },
+        "ustva-2006" => { "translation" => $locale->text("USTVA 2006"), "tex" => 1 },
+        "ustva-2007" => { "translation" => $locale->text("USTVA 2007"), "tex" => 1 },
+        "ustva" => $locale->text("USTVA"),
       );
 
     my (@values, $file, $setup);
@@ -142,56 +153,56 @@ 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'),
+
+    foreach my $ref (@{ $form->{"ALL_DUNNING_CONFIGS"} }) {
+      next if !$ref->{"template"};
+
+      push(@values,
+           { "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
     #
 
-    $form->get_lists("printers" => "ALL_PRINTERS",
-                     "languages" => "ALL_LANGUAGES");
-
-    @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));