Belege: Filtern nach Ansprechpartner
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 14 Nov 2014 15:02:59 +0000 (16:02 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 14 Nov 2014 15:02:59 +0000 (16:02 +0100)
12 files changed:
SL/AP.pm
SL/AR.pm
SL/DO.pm
SL/OE.pm
bin/mozilla/ap.pl
bin/mozilla/ar.pl
bin/mozilla/do.pl
bin/mozilla/oe.pl
templates/webpages/ap/search.html
templates/webpages/ar/search.html
templates/webpages/do/search.html
templates/webpages/oe/search.html

index dddb8b3..35a8e19 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -433,6 +433,7 @@ sub ap_transactions {
           ) AS charts } .
     qq|FROM ap a | .
     qq|JOIN vendor v ON (a.vendor_id = v.id) | .
+    qq|LEFT JOIN contacts cp ON (a.cp_id = cp.cp_id) | .
     qq|LEFT JOIN employee e ON (a.employee_id = e.id) | .
     qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id) | .
     qq|LEFT JOIN tax_zones tz ON (tz.id = v.taxzone_id)| .
@@ -453,6 +454,10 @@ sub ap_transactions {
     $where .= " AND v.name ILIKE ?";
     push(@values, $form->like($form->{vendor}));
   }
+  if ($form->{"cp_name"}) {
+    $where .= " AND (cp.cp_name ILIKE ? OR cp.cp_givenname ILIKE ?)";
+    push(@values, ('%' . $form->{"cp_name"} . '%')x2);
+  }
   if ($form->{department}) {
     # ähnlich wie commit 0bbfb33b6aa8e38bb6c81d1684ab7d08e5b5c5af abteilung
     # wird so nicht mehr als zeichenkette zusammengebaut
index af78117..692967f 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -480,6 +480,7 @@ sub ar_transactions {
           ) AS charts } .
     qq|FROM ar a | .
     qq|JOIN customer c ON (a.customer_id = c.id) | .
+    qq|LEFT JOIN contacts cp ON (a.cp_id = cp.cp_id) | .
     qq|LEFT JOIN employee e ON (a.employee_id = e.id) | .
     qq|LEFT JOIN employee e2 ON (a.salesman_id = e2.id) | .
     qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)| .
@@ -505,6 +506,10 @@ sub ar_transactions {
     $where .= " AND c.name ILIKE ?";
     push(@values, $form->like($form->{customer}));
   }
+  if ($form->{"cp_name"}) {
+    $where .= " AND (cp.cp_name ILIKE ? OR cp.cp_givenname ILIKE ?)";
+    push(@values, ('%' . $form->{"cp_name"} . '%')x2);
+  }
   if ($form->{business_id}) {
     my $business_id = $form->{business_id};
     $where .= " AND c.business_id = ?";
index a66b64d..89f2d92 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -76,6 +76,7 @@ sub transactions {
          sm.name AS salesman
        FROM delivery_orders dord
        LEFT JOIN $vc ct ON (dord.${vc}_id = ct.id)
+       LEFT JOIN contacts cp ON (dord.cp_id = cp.cp_id)
        LEFT JOIN employee e ON (dord.employee_id = e.id)
        LEFT JOIN employee sm ON (dord.salesman_id = sm.id)
        LEFT JOIN project pr ON (dord.globalproject_id = pr.id)
@@ -106,6 +107,11 @@ sub transactions {
     push @values, '%' . $form->{$vc} . '%';
   }
 
+  if ($form->{"cp_name"}) {
+    push @where, "(cp.cp_name ILIKE ? OR cp.cp_givenname ILIKE ?)";
+    push @values, ('%' . $form->{"cp_name"} . '%')x2;
+  }
+
   foreach my $item (qw(employee_id salesman_id)) {
     next unless ($form->{$item});
     push @where, "dord.$item = ?";
index 8e746f4..2c821cb 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -118,6 +118,7 @@ sub transactions {
     qq|  , o.order_probability, o.expected_billing_date, (o.netamount * o.order_probability / 100) AS expected_netamount | .
     qq|FROM oe o | .
     qq|JOIN $vc ct ON (o.${vc}_id = ct.id) | .
+    qq|LEFT JOIN contacts cp ON (o.cp_id = cp.cp_id) | .
     qq|LEFT JOIN employee e ON (o.employee_id = e.id) | .
     qq|LEFT JOIN employee s ON (o.salesman_id = s.id) | .
     qq|LEFT JOIN exchangerate ex ON (ex.currency_id = o.currency_id | .
@@ -168,6 +169,11 @@ SQL
     push(@values, '%' . $form->{$vc} . '%');
   }
 
+  if ($form->{"cp_name"}) {
+    $query .= " AND (cp.cp_name ILIKE ? OR cp.cp_givenname ILIKE ?)";
+    push(@values, ('%' . $form->{"cp_name"} . '%')x2);
+  }
+
   if (!$main::auth->assert('sales_all_edit', 1)) {
     $query .= " AND o.employee_id = (select id from employee where login= ?)";
     push @values, $form->{login};
index f290c34..dc48e3d 100644 (file)
@@ -911,6 +911,7 @@ sub ap_transactions {
 
   my @options;
   push @options, $locale->text('Vendor')                  . " : $form->{vendor}"                         if ($form->{vendor});
+  push @options, $locale->text('Contact Person')          . " : $form->{cp_name}"                        if ($form->{cp_name});
   push @options, $locale->text('Department')              . " : " . (split /--/, $form->{department})[0] if ($form->{department});
   push @options, $locale->text('Invoice Number')          . " : $form->{invnumber}"                      if ($form->{invnumber});
   push @options, $locale->text('Order Number')            . " : $form->{ordnumber}"                      if ($form->{ordnumber});
index 64efbc7..a7a93de 100644 (file)
@@ -957,6 +957,9 @@ sub ar_transactions {
   if ($form->{customer}) {
     push @options, $locale->text('Customer') . " : $form->{customer}";
   }
+  if ($form->{cp_name}) {
+    push @options, $locale->text('Contact Person') . " : $form->{cp_name}";
+  }
   if ($form->{department}) {
     my ($department) = split /--/, $form->{department};
     push @options, $locale->text('Department') . " : $department";
index c608351..b25cdad 100644 (file)
@@ -580,6 +580,9 @@ sub orders {
   if ($form->{vendor}) {
     push @options, $locale->text('Vendor') . " : $form->{vendor}";
   }
+  if ($form->{cp_name}) {
+    push @options, $locale->text('Contact Person') . " : $form->{cp_name}";
+  }
   if ($form->{department}) {
     my ($department) = split /--/, $form->{department};
     push @options, $locale->text('Department') . " : $department";
index 7e38f8e..59b5c62 100644 (file)
@@ -949,6 +949,7 @@ sub orders {
 
   push @options, $locale->text('Customer')                . " : $form->{customer}"                        if $form->{customer};
   push @options, $locale->text('Vendor')                  . " : $form->{vendor}"                          if $form->{vendor};
+  push @options, $locale->text('Contact Person')          . " : $form->{cp_name}"                         if $form->{cp_name};
   push @options, $locale->text('Department')              . " : $department"                              if $form->{department};
   push @options, $locale->text('Order Number')            . " : $form->{ordnumber}"                       if $form->{ordnumber};
   push @options, $locale->text('Customer Order Number')   . " : $form->{cusordnumber}"                    if $form->{cusordnumber};
index 9932cdd..ff763c0 100644 (file)
                  -%]
       </td>
      </tr>
+    <tr>
+     <th align="right" nowrap>[% 'Contact Person' | $T8 %]</th>
+     <td colspan="3">[% L.input_tag("cp_name", '', size=20) %]</td>
+    </tr>
      <tr>
       <th align=right nowrap>[% 'Department' | $T8 %]</th>
       <td>
index b095f08..71d2b69 100644 (file)
                  -%]
       </td>
      </tr>
+    <tr>
+     <th align="right" nowrap>[% 'Contact Person' | $T8 %]</th>
+     <td colspan="3">[% L.input_tag("cp_name", '', size=20) %]</td>
+    </tr>
      <tr>
       <th align=right nowrap>[% 'Department' | $T8 %]</th>
       <td>
index 905215c..040b0cd 100644 (file)
      </td>
     </tr>
 
+    <tr>
+     <th align="right" nowrap>[% 'Contact Person' | $T8 %]</th>
+     <td colspan="3">[% L.input_tag("cp_name", '', class="fixed_width") %]</td>
+    </tr>
+
     <tr>
      <th align="right">[% 'Delivery Order Number' | $T8 %]</th>
      <td colspan="3"><input name="donumber" class="fixed_width"></td>
index 4fdcbda..f50a77b 100644 (file)
                  -%]
      </td>
     </tr>
+    <tr>
+     <th align="right" nowrap>[% 'Contact Person' | $T8 %]</th>
+     <td colspan="3">[% L.input_tag("cp_name", '', style="width: 250px") %]</td>
+    </tr>
 [%- IF ALL_DEPARTMENTS.size %]
     <tr>
      <th align="right" nowrap>[% 'Department' | $T8 %]</th>