Im Vertretermodus auch ungültige Vertreter in Vertreterauswahl anzeigen
authorMoritz Bunkus <moritz@bunkus.org>
Wed, 28 Jul 2010 07:54:00 +0000 (09:54 +0200)
committerMoritz Bunkus <moritz@bunkus.org>
Wed, 28 Jul 2010 07:54:00 +0000 (09:54 +0200)
SL/Form.pm
bin/mozilla/ct.pl

index 4a5ff40..22af6fb 100644 (file)
@@ -2373,9 +2373,13 @@ sub _get_customers {
   my $options        = ref $key eq 'HASH' ? $key : { key => $key };
   $options->{key}  ||= "all_customers";
   my $limit_clause   = "LIMIT $options->{limit}" if $options->{limit};
-  my $where          = $options->{business_is_salesman} ? qq| AND business_id IN (SELECT id FROM business WHERE salesman)| : '';
 
-  my $query = qq|SELECT * FROM customer WHERE NOT obsolete $where ORDER BY name $limit_clause|;
+  my @where;
+  push @where, qq|business_id IN (SELECT id FROM business WHERE salesman)| if  $options->{business_is_salesman};
+  push @where, qq|NOT obsolete|                                            if !$options->{with_obsolete};
+  my $where_str = @where ? "WHERE " . join(" AND ", map { "($_)" } @where) : '';
+
+  my $query = qq|SELECT * FROM customer $where_str ORDER BY name $limit_clause|;
   $self->{ $options->{key} } = selectall_hashref_query($self, $dbh, $query);
 
   $main::lxdebug->leave_sub();
index 274ae4a..b6526b9 100644 (file)
@@ -289,7 +289,7 @@ sub form_header {
                    taxzones  => "ALL_TAXZONES");
   $form->get_pricegroup(\%myconfig, { all => 1 });
 
-  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::vertreter;
+  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1, with_obsolete => 1 }) if $::vertreter;
 
   $form->{ALL_SALESMEN}   = $form->{ALL_EMPLOYEES};
   $form->{taxincluded}    = ($form->{taxincluded}) ? "checked" : "";