From: Moritz Bunkus Date: Tue, 7 Jan 2014 13:11:35 +0000 (+0100) Subject: SL::Form->get_lists für employees: Gelöschte nur auf Anfrage mitliefern X-Git-Tag: release-3.1.0beta1~22^2~25^2~13^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=ca18e0478035f63;p=kivitendo-erp.git SL::Form->get_lists für employees: Gelöschte nur auf Anfrage mitliefern Behebt #2116. --- diff --git a/SL/Form.pm b/SL/Form.pm index f0500d3b5..e115f9706 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -2137,10 +2137,22 @@ sub _get_taxzones { sub _get_employees { $main::lxdebug->enter_sub(); - my ($self, $dbh, $default_key, $key) = @_; + my ($self, $dbh, $params) = @_; + + my $deleted = 0; + + my $key; + if (ref $params eq 'HASH') { + $key = $params->{key}; + $deleted = $params->{deleted}; + + } else { + $key = $params; + } - $key = $default_key unless ($key); - $self->{$key} = selectall_hashref_query($self, $dbh, qq|SELECT * FROM employee ORDER BY lower(name)|); + $key ||= "all_employees"; + my $filter = $deleted ? '' : 'WHERE NOT COALESCE(deleted, FALSE)'; + $self->{$key} = selectall_hashref_query($self, $dbh, qq|SELECT * FROM employee $filter ORDER BY lower(name)|); $main::lxdebug->leave_sub(); } @@ -2380,7 +2392,7 @@ sub get_lists { } if ($params{"employees"}) { - $self->_get_employees($dbh, "all_employees", $params{"employees"}); + $self->_get_employees($dbh, $params{"employees"}); } if ($params{"salesmen"}) {