Rechungssuche - Department bei selectbox richtig suchen.
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 1 Oct 2010 10:46:24 +0000 (12:46 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 1 Oct 2010 10:46:24 +0000 (12:46 +0200)
Applikation des Multibox Features von eben. Department wird im Suchpfad jetzt
getrennt von department_id behandelt, und die selectbox stellt rendert gleich
den korrekten Elementnamen.

SL/AR.pm
bin/mozilla/ar.pl
templates/webpages/ar/search.html

index 04af973..fe3e443 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -435,7 +435,8 @@ sub ar_transactions {
     qq|LEFT JOIN employee e2 ON (a.salesman_id = e2.id) | .
     qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)| .
     qq|LEFT JOIN tax_zones tz ON (tz.id = c.taxzone_id)| .
-    qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)|;
+    qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)| .
+    qq|LEFT JOIN department d ON (d.id = a.department_id)|;
 
   my $where = "1 = 1";
   if ($form->{customer_id}) {
@@ -445,11 +446,16 @@ sub ar_transactions {
     $where .= " AND c.name ILIKE ?";
     push(@values, $form->like($form->{customer}));
   }
-  if ($form->{department}) {
-    my ($null, $department_id) = split /--/, $form->{department};
+  if ($form->{department_id}) {
+    my $department_id = $form->{department_id};
     $where .= " AND a.department_id = ?";
     push(@values, $department_id);
   }
+  if ($form->{department}) {
+    my $department = "%" . $form->{department} . "%";
+    $where .= " AND d.description ILIKE ?";
+    push(@values, $department);
+  }
   foreach my $column (qw(invnumber ordnumber notes transaction_description)) {
     if ($form->{$column}) {
       $where .= " AND a.$column ILIKE ?";
index 35f23d6..8efd498 100644 (file)
@@ -1398,6 +1398,9 @@ sub ar_transactions {
     my ($department) = split /--/, $form->{department};
     push @options, $locale->text('Department') . " : $department";
   }
+  if ($form->{department_id}) {
+    push @options, $locale->text('Department Id') . " : $form->{department_id}";
+  }
   if ($form->{invnumber}) {
     push @options, $locale->text('Invoice Number') . " : $form->{invnumber}";
   }
index cf8c70a..9245d6b 100644 (file)
@@ -31,6 +31,7 @@
       <td>
             [%- INCLUDE 'generic/multibox.html'
                  name          = 'department',
+                 select_name   = 'department_id',
                  style         = 'width: 250px',
                  DATA          = ALL_DEPARTMENTS,
                  id_key        = 'id',