X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=d2e0f9cc32c946e2760c416bd630591d03cc7e6e;hb=935813e4a2959a0b94933d6b853dd5d129f1a61e;hp=626d688179aadbad19dc93eb787a50ad8b943045;hpb=0f8092f8a406307b06f92e07381e3eecd08bb09f;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 626d68817..d2e0f9cc3 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -257,16 +257,16 @@ sub generate_report { my %myconfig = %main::myconfig; my $locale = $main::locale; - # generate_report wird beim ersten Aufruf per Weiter-Knopf und POST mit der hidden Variablen sort mit Wert "datesort" (früher "transdate" als Defaultsortiervariable) übertragen + # generate_report wird beim ersten Aufruf per Weiter-Knopf und POST mit der hidden Variablen sort mit Wert "datesort" (früher "transdate" als Defaultsortiervariable) übertragen #
# # form->{sort} setzen # # anhand von neuer Variable datesort wird jetzt $form->{sort} auf transdate oder gldate gesetzt - # damit ist die Hidden Variable "sort" wahrscheinlich sogar überflüssig + # damit ist die Hidden Variable "sort" wahrscheinlich sogar überflüssig - # ändert man die Sortierreihenfolge per Klick auf eine der Überschriften wird die Variable "sort" per GET übergeben, z.B. id,transdate, gldate, ... + # ändert man die Sortierreihenfolge per Klick auf eine der Überschriften wird die Variable "sort" per GET übergeben, z.B. id,transdate, gldate, ... # gl.pl?action=generate_report&employee=18383--Jan%20B%c3%bcren&datesort=transdate&category=X&l_transdate=Y&l_gldate=Y&l_id=Y&l_reference=Y&l_description=Y&l_source=Y&l_debit=Y&l_credit=Y&sort=gldate&sortdir=0 if ( $form->{sort} eq 'datesort' ) { # sollte bei einem Post (Aufruf aus Suchmaske) immer wahr sein @@ -304,19 +304,21 @@ sub generate_report { ); # add employee here, so that variable is still known and passed in url when choosing a different sort order in resulting table - my @hidden_variables = qw(accno source reference department description notes project_id datefrom dateto employee datesort category l_subtotal); + my @hidden_variables = qw(accno source reference department description notes project_id datefrom dateto employee_id datesort category l_subtotal); push @hidden_variables, map { "l_${_}" } @columns; foreach ( @hidden_variables ) { print URL "$_\n"; }; + my $employee = $form->{employee_id} ? SL::DB::Employee->new(id => $form->{employee_id})->load->name : ''; + my (@options, @date_options); push @options, $locale->text('Account') . " : $form->{accno} $form->{account_description}" if ($form->{accno}); push @options, $locale->text('Source') . " : $form->{source}" if ($form->{source}); push @options, $locale->text('Reference') . " : $form->{reference}" if ($form->{reference}); push @options, $locale->text('Description') . " : $form->{description}" if ($form->{description}); push @options, $locale->text('Notes') . " : $form->{notes}" if ($form->{notes}); - push @options, $locale->text('Employee') . " : $form->{employee_name}" if ($form->{employee_name}); + push @options, $locale->text('Employee') . " : $employee" if $employee; my $datesorttext = $form->{datesort} eq 'transdate' ? $locale->text('Invoice Date') : $locale->text('Booking Date'); push @date_options, "$datesorttext" if ($form->{datesort} and ($form->{datefrom} or $form->{dateto})); push @date_options, $locale->text('From'), $locale->date(\%myconfig, $form->{datefrom}, 1) if ($form->{datefrom}); @@ -671,8 +673,8 @@ sub display_rows { my %charts = (); my $taxchart_init; foreach my $item (@{ $form->{ALL_CHARTS} }) { - if ($item->{charttype} eq 'H'){ #falls überschrift - next; #überspringen (Bug 1150) + if ($item->{charttype} eq 'H'){ #falls ÃŒberschrift + next; #ÃŒberspringen (Bug 1150) } my $key = $item->{accno} . "--" . $item->{tax_id}; $taxchart_init = $item->{tax_id} unless (@chart_values); @@ -684,7 +686,7 @@ sub display_rows { my %taxchart_labels = (); my @taxchart_values = (); my %taxcharts = (); - foreach my $item (@{ $form->{ALL_TAXCHARTS} }) { + foreach my $item (@{ $form->{TAX_ACCOUNTS} }) { my $key = $item->{id} . "--" . $item->{rate}; $taxchart_init = $key if ($taxchart_init == $item->{id}); push(@taxchart_values, $key); @@ -728,7 +730,7 @@ sub display_rows { my $accno = qq|| . NTI($cgi->popup_menu('-name' => "accno_$i", '-id' => "accno_$i", - '-onChange' => "setTaxkey($i)", + '-onChange' => "updateTaxes($i);", '-style' => 'width:200px', '-values' => \@chart_values, '-labels' => \%chart_labels, @@ -860,8 +862,10 @@ sub form_header { "all" => 0, "old_id" => \@old_project_ids }, "charts" => { "key" => "ALL_CHARTS", - "transdate" => $::form->{transdate} }, - "taxcharts" => "ALL_TAXCHARTS"); + "transdate" => $::form->{transdate} }); + + $::form->{accno} = $::form->{ALL_CHARTS}[0]->{accno}; + GL->get_tax_dropdown(); GL->get_chart_balances('charts' => $::form->{ALL_CHARTS}); @@ -1111,6 +1115,9 @@ sub post_transaction { $form->{taxincluded} = 0 if !$taxtotal; # this is just for the wise guys + + $form->error($locale->text('Cannot post transaction above the maximum future booking date!')) + if ($form->date_max_future($form->{"transdate"}, \%myconfig)); $form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig)); if ($form->round_amount($debit, 2) != $form->round_amount($credit, 2)) { @@ -1217,4 +1224,21 @@ sub continue { call_sub($main::form->{nextsub}); } +sub get_tax_dropdown { + + my $form = $main::form; + $main::lxdebug->enter_sub(); + GL->get_tax_dropdown(); + + foreach my $item (@{ $form->{TAX_ACCOUNTS} }) { + $item->{taxdescription} = $::locale->{iconv_utf8}->convert($item->{taxdescription}); + $item->{taxdescription} .= ' ' . $form->round_amount($item->{rate} * 100); + } + + print $form->ajax_response_header, $form->parse_html_template("gl/update_tax_accounts"); + + $main::lxdebug->leave_sub(); + +} + 1;