X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fam.pl;h=8f380aa20238e34b61d311c3e4fafd3ed32d2aba;hb=0c19f07b648830f552b949573031894d3cbe4543;hp=f1b339843c6fa782bca51b573aabc1e3500cb211;hpb=85a853868cf3d04e97aaa2456a6a2ab3c2581734;p=kivitendo-erp.git diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl index f1b339843..8f380aa20 100644 --- a/bin/mozilla/am.pl +++ b/bin/mozilla/am.pl @@ -2397,6 +2397,7 @@ sub edit_defaults { # get defaults for account numbers and last numbers AM->defaultaccounts(\%myconfig, \%$form); + $form->{ALL_UNITS} = AM->convertible_units(AM->retrieve_all_units(), 'g'); map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} }; @@ -2507,7 +2508,6 @@ sub config { %countrycodes = User->country_codes; - $countrycodes{""} = "American English"; $form->{COUNTRYCODES} = []; foreach $countrycode (sort { $countrycodes{$a} cmp $countrycodes{$b} } keys %countrycodes) { push @{ $form->{COUNTRYCODES} }, { @@ -2530,7 +2530,7 @@ sub config { $form->{CAN_CHANGE_PASSWORD} = $auth->can_change_password(); $form->{todo_cfg} = { TODO->get_user_config('login' => $form->{login}) }; - $form->{title} = $locale->text('Edit Preferences for #1', $form->{login}); + $form->{title} = $locale->text('Edit Preferences for #1', $form->{login}); $form->header(); print $form->parse_html_template('am/config'); @@ -2545,7 +2545,7 @@ sub save_preferences { TODO->save_user_config('login' => $form->{login}, %{ $form->{todo_cfg} || { } }); - $form->redirect($locale->text('Preferences saved!')) if (AM->save_preferences(\%myconfig, \%$form, $webdav)); + $form->redirect($locale->text('Preferences saved!')) if (AM->save_preferences(\%myconfig, \%$form, 0)); $form->error($locale->text('Cannot save preferences!')); $lxdebug->leave_sub(); @@ -2818,6 +2818,9 @@ sub show_am_history { $auth->assert('config'); + my $callback = build_std_url(qw(action einschraenkungen fromdate todate mitarbeiter searchid what2search)); + $form->{order} ||= 'h.itime--1'; + my %search = ( "Artikelnummer" => "parts", "Kundennummer" => "customer", "Lieferantennummer" => "vendor", @@ -2837,28 +2840,22 @@ sub show_am_history { "Mahnungsnummer" => "dunning_id" ); - my $restriction; - my $tempNo = 0; - foreach(split(/\,/, $form->{einschraenkungen})) { - if($tempNo == 0) { - $restriction .= " AND addition = '" . $_ . "'"; - $tempNo = 1; - } else { - $restriction .= " OR addition = '" . $_ . "'"; - } - } + my $dbh = $form->dbconnect(\%myconfig); - $restriction .= qq| AND h.itime::date >= | . conv_dateq($form->{fromdate}) if $form->{fromdate}; - $restriction .= qq| AND h.itime::date <= | . conv_dateq($form->{todate}) if $form->{todate}; - $restriction .= qq| AND employee_id = | . $form->{mitarbeiter} if $form->{mitarbeiter} =~ m/^\d+$/; - $restriction .= qq| AND employee_id = | . get_employee_id($form->{mitarbeiter}, $dbh) if $form->{mitarbeiter}; + my $restriction = qq| AND (| . join(' OR ', map { " addition = " . $dbh->quote($_) } split(m/\,/, $form->{einschraenkungen})) . qq|)| if $form->{einschraenkungen}; + $restriction .= qq| AND h.itime::date >= | . conv_dateq($form->{fromdate}) if $form->{fromdate}; + $restriction .= qq| AND h.itime::date <= | . conv_dateq($form->{todate}) if $form->{todate}; + if ($form->{mitarbeiter} =~ m/^\d+$/) { + $restriction .= qq| AND employee_id = | . $form->{mitarbeiter}; + } elsif ($form->{mitarbeiter}) { + $restriction .= qq| AND employee_id = (SELECT id FROM employee WHERE name ILIKE | . $dbh->quote('%' . $form->{mitarbeiter} . '%') . qq|)|; + } - my $dbh = $form->dbconnect(\%myconfig); my $query = qq|SELECT trans_id AS id FROM history_erp | . ( $form->{'searchid'} ? qq| WHERE snumbers = '| . $searchNo{$form->{'what2search'}} . qq|_| . $form->{'searchid'} . qq|'| : qq| WHERE snumbers ~ '^| . $searchNo{$form->{'what2search'}} . qq|'|); - my @ids = selectall_array_query($form, $dbh, $query); + my @ids = grep { $_ * 1 } selectall_array_query($form, $dbh, $query); my $daten .= shift @ids; $daten .= join '', map { " OR trans_id = $_" } @ids; @@ -2873,27 +2870,14 @@ sub show_am_history { "SUCCESS" => ($form->get_history($dbh, $daten, $restriction, $form->{order}) ne "0"), "NONEWWINDOW" => 1, uc($sort) => 1, - uc($sort) . "BY" => $sortby + uc($sort) . "BY" => $sortby, + 'callback' => $callback, }); $dbh->disconnect(); $lxdebug->leave_sub(); } -sub get_employee_id { - $lxdebug->enter_sub(); - - $auth->assert('config'); - - my $query = qq|SELECT id FROM employee WHERE name = '| . $_[0] . qq|'|; - my $sth = $_[1]->prepare($query); - $sth->execute() || $form->dberror($query); - my $return = $sth->fetch(); - $sth->finish(); - return ${$return}[0]; - $lxdebug->leave_sub(); -} - sub swap_units { $lxdebug->enter_sub();