Umstellung der HTML-Vorlagen aus templates/webpages/rp von HTML::Template auf Template.
[kivitendo-erp.git] / bin / mozilla / amtemplates.pl
index d13046d..6187725 100644 (file)
@@ -38,32 +38,20 @@ use Data::Dumper;
 
 1;
 
-require "$form->{path}/common.pl";
+require "bin/mozilla/common.pl";
 
 # end of main
 
 sub display {
-  if ($form->{display_nextsub}) {
-    &{ $form->{display_nextsub} }();
-  } else {
-    die "display_nextsub not defined";
-  }
+  call_sub($form->{display_nextsub});
 }
 
 sub save {
-  if ($form->{save_nextsub}) {
-    &{ $form->{save_nextsub} }();
-  } else {
-    die "save_nextsub not defined";
-  }
+  call_sub($form->{save_nextsub});
 }
 
 sub edit {
-  if ($form->{edit_nextsub}) {
-    &{ $form->{edit_nextsub} }();
-  } else {
-    die "edit_nextsub not defined";
-  }
+  call_sub($form->{edit_nextsub});
 }
 
 sub display_template {
@@ -110,7 +98,7 @@ sub display_template_form {
 
   my %options;
 
-  my @hidden = qw(login path password type format);
+  my @hidden = qw(login password type format);
 
   if (($form->{"type"} ne "stylesheet") && !$form->{"edit"}) {
     $options{"SHOW_EDIT_OPTIONS"} = 1;
@@ -119,91 +107,92 @@ 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);
 
     while (($file, $setup) = each(%formname_setup)) {
-      next unless (!ref($setup) || $setup->{$format});
+      next if ref($setup) && !$setup->{$format};
 
       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"} });
     }
 
     @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));
@@ -232,7 +221,7 @@ sub display_template_form {
   $options{"HIDDEN"} = [ map(+{ "name" => $_, "value" => $form->{$_} }, @hidden) ];
 
   $form->header;
-  print($form->parse_html_template("am/edit_templates", \%options));
+  print($form->parse_html_template2("am/edit_templates", \%options));
 
   $lxdebug->leave_sub();
 }