Bearbeiten von Vorlagen: Es können jetzt die Vorlagen für alle konfigurierten Mahnstu...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 26 Apr 2007 10:08:00 +0000 (10:08 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 26 Apr 2007 10:08:00 +0000 (10:08 +0000)
SL/Form.pm
bin/mozilla/amtemplates.pl

index e840a63..ef50f1d 100644 (file)
@@ -1574,6 +1574,20 @@ sub _get_languages {
   $main::lxdebug->leave_sub();
 }
 
+sub _get_dunning_configs {
+  $main::lxdebug->enter_sub();
+
+  my ($self, $dbh, $key) = @_;
+
+  $key = "all_dunning_configs" unless ($key);
+
+  my $query = qq|SELECT * FROM dunning_config ORDER BY dunning_level|;
+
+  $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+  $main::lxdebug->leave_sub();
+}
+
 sub get_lists {
   $main::lxdebug->enter_sub();
 
@@ -1628,6 +1642,10 @@ sub get_lists {
     $self->_get_business_types($dbh, $params{"business_types"});
   }
 
+  if ($params{"dunning_configs"}) {
+    $self->_get_dunning_configs($dbh, $params{"dunning_configs"});
+  }
+
   $dbh->disconnect();
 
   $main::lxdebug->leave_sub();
@@ -1910,7 +1928,7 @@ sub create_links {
            d.description AS department,
            e.name AS employee
          FROM $arap a
-         JOIN $table c ON (a.${table}_id = c.id)
+         LEFT JOIN $table c ON (a.${table}_id = c.id)
          LEFT JOIN employee e ON (e.id = a.employee_id)
          LEFT JOIN department d ON (d.id = a.department_id)
          WHERE a.id = ?|;
@@ -1927,14 +1945,15 @@ sub create_links {
 
     # now get the account numbers
      $query = qq|SELECT c.accno, c.description, c.link, c.taxkey_id, tk.tax_id
-                 FROM chart c, taxkeys tk
+                 FROM chart c
+                 LEFT JOIN taxkeys tk ON (tk.chart_id = c.id)
                  WHERE c.link LIKE ? 
-                   AND (    tk.chart_id = c.id OR     c.link LIKE '%_tax%') 
-                   AND (NOT tk.chart_id = c.id OR NOT c.link LIKE '%_tax%')
                    AND (tk.id = (SELECT id FROM taxkeys WHERE taxkeys.chart_id = c.id AND startdate <= $transdate ORDER BY startdate DESC LIMIT 1)
                      OR c.link LIKE '%_tax%')
                  ORDER BY c.accno|;
 
+    dump_query(0, "wuff", $query, '%$module%');
+
     $sth = $dbh->prepare($query);
     do_statement($self, $sth, $query, "%$module%");
 
index 77f7659..73e7e9b 100644 (file)
@@ -107,32 +107,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);
@@ -146,6 +149,17 @@ sub display_template_form {
              "default" => $file eq $form->{"formname"} });
     }
 
+    # "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"},
+             "default" => $ref->{"template"} eq $form->{"formname"} });
+    }
+
     @values = sort({ $a->{"label"} cmp $b->{"label"} } @values);
 
     $options{"FORMNAME"} = [ @values ];
@@ -154,9 +168,6 @@ sub display_template_form {
     # Setup "language" selection
     #
 
-    $form->get_lists("printers" => "ALL_PRINTERS",
-                     "languages" => "ALL_LANGUAGES");
-
     @values = ( { "value" => "", "label" => "", "default" => 0 } );
 
     foreach my $item (@{ $form->{"ALL_LANGUAGES"} }) {