In Verkaufsberichte->Rechnungen auch nach Bearbeiter/Verkäufer filtern
authorG. Richardson <information@lx-office-hosting.de>
Fri, 10 Dec 2010 20:36:02 +0000 (21:36 +0100)
committerG. Richardson <information@lx-office-hosting.de>
Fri, 10 Dec 2010 20:36:02 +0000 (21:36 +0100)
Wie in den anderen Berichten auch

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

index 11333ce..a2512c8 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -490,10 +490,21 @@ sub ar_transactions {
     }
   }
 
- if (!$main::auth->assert('sales_all_edit', 1)) {
+  if (!$main::auth->assert('sales_all_edit', 1)) {
+    # only show own invoices
     $where .= " AND a.employee_id = (select id from employee where login= ?)";
     push (@values, $form->{login});
-  }
+  } else {
+    if ($form->{employee_id}) {
+      $where .= " AND a.employee_id = ?";
+      push @values, conv_i($form->{employee_id});
+    }
+    if ($form->{salesman_id}) {
+      $where .= " AND a.salesman_id = ?";
+      push @values, conv_i($form->{salesman_id});
+    }
+  };
+
   my @a = qw(transdate invnumber name);
   push @a, "employee" if $form->{l_employee};
   my $sortdir   = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
index 6f0b738..f0c3f4f 100644 (file)
@@ -1279,12 +1279,16 @@ sub search {
   $form->get_lists("projects"       => { "key" => "ALL_PROJECTS", "all" => 1 },
                    "departments"    => "ALL_DEPARTMENTS",
                    "customers"      => "ALL_VC",
+                   "employees"    => "ALL_EMPLOYEES",
+                   "salesmen"     => "ALL_SALESMEN",
                    "business_types" => "ALL_BUSINESS_TYPES");
   $form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
 
   # constants and subs for template
   $form->{jsscript}  = 1;
   $form->{vc_keys}   = sub { "$_[0]->{name}--$_[0]->{id}" };
+  $form->{employee_labels} = sub { $_[0]->{"name"} || $_[0]->{"login"} };
+  $form->{salesman_labels} = $form->{employee_labels};
 
   $form->header;
   print $form->parse_html_template('ar/search', { %myconfig });
index 45d6ebf..c45f286 100644 (file)
       <th align=right nowrap>[% 'Order Number' | $T8 %]</th>
       <td colspan=3><input name=ordnumber size=20></td>
      </tr>
+     <tr>
+      <th align="right">[% 'Employee' | $T8 %]</th>
+      <td>
+             [%- INCLUDE 'generic/multibox.html'
+                  name          = 'employee_id',
+                  style         = 'width: 250px',
+                  DATA          =  ALL_EMPLOYEES,
+                  id_key        = 'id',
+                  label_sub     = 'employee_labels',
+                  limit         = vclimit,
+                  show_empty    = 1,
+                  allow_textbox = 0,
+                  default       = ' ',
+             -%]
+      </td>
+     </tr>
+    <tr>
+     <th align="right">[% 'Salesman' | $T8 %]</th>
+     <td>
+            [%- INCLUDE 'generic/multibox.html'
+                 name          = 'salesman_id',
+                 style         = 'width: 250px',
+                 DATA          =  ALL_SALESMEN,
+                 id_key        = 'id',
+                 label_sub     = 'salesman_labels',
+                 limit         = vclimit,
+                 show_empty    = 1,
+                 allow_textbox = 0,
+            -%]
+     </td>
+     </tr>
      <tr>
       <th align=right nowrap>[% 'Transaction description' | $T8 %]</th>
       <td colspan=3><input name=transaction_description size=40></td>