X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=2d8d31d3abcaddfabc57e15fedc10f190bcaeeff;hb=15f549fdb43fba2d99817c659533dfa02638bf27;hp=89febc2080061cfffe17b3f3eee985d9dd7c5b10;hpb=0437033e3e747a77b8999ae13a599e3c614be817;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 89febc208..2d8d31d3a 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -227,6 +227,21 @@ sub search { | if $form->{selectdepartment}; + $form->get_lists("projects" => { "key" => "ALL_PROJECTS", + "all" => 1 }); + + my %project_labels = (); + my @project_values = (""); + foreach my $item (@{ $form->{"ALL_PROJECTS"} }) { + push(@project_values, $item->{"id"}); + $project_labels{$item->{"id"}} = $item->{"projectnumber"}; + } + + my $projectnumber = + NTI($cgi->popup_menu('-name' => "project_id", + '-values' => \@project_values, + '-labels' => \%project_labels)); + # use JavaScript Calendar or not $form->{jsscript} = $jscalendar; $jsscript = ""; @@ -289,6 +304,10 @@ sub search { | . $locale->text('Notes') . qq| + + | . $locale->text('Project Number') . qq| + $projectnumber + | . $locale->text('From') . qq| $button1 @@ -342,6 +361,8 @@ sub search { | . $locale->text('Subtotal') . qq| + + | . $locale->text('Project Number') . qq| @@ -447,6 +468,10 @@ sub generate_report { $option .= "\n
" if $option; $option .= $locale->text('Notes') . " : $form->{notes}"; } + if ($form->{project_id}) { + $href .= "&project_id=" . $form->escape($form->{project_id}); + $callback .= "&project_id=" . $form->escape($form->{project_id}); + } if ($form->{datefrom}) { $href .= "&datefrom=$form->{datefrom}"; @@ -469,8 +494,13 @@ sub generate_report { . $locale->date(\%myconfig, $form->{dateto}, 1); } - @columns = $form->sort_columns( - qw(transdate id reference description notes source debit debit_accno credit credit_accno debit_tax debit_tax_accno credit_tax credit_tax_accno accno gifi_accno) + @columns = $form->sort_columns( qw( + transdate id reference description + notes source debit debit_accno + credit credit_accno debit_tax debit_tax_accno + credit_tax credit_tax_accno accno gifi_accno + projectnumbers + ) ); if ($form->{accno} || $form->{gifi_accno}) { @@ -560,6 +590,8 @@ sub generate_report { . $locale->text('GIFI') . ""; $column_header{balance} = "" . $locale->text('Balance') . ""; + $column_header{projectnumbers} = + "" . $locale->text('Project Numbers') . ""; $form->{landscape} = 1; @@ -789,6 +821,8 @@ sub generate_report { $column_data{balance} = "" . $form->format_amount(\%myconfig, $form->{balance}, 2, 0) . ""; + $column_data{projectnumbers} = + "" . join(", ", sort({ lc($a) cmp lc($b) } keys(%{ $ref->{projectnumbers} }))) . ""; $i++; $i %= 2; @@ -803,6 +837,12 @@ sub generate_report { map { $column_data{$_} = " " } @column_index; + my $balanced_ledger = $totaldebit + + $totaldebittax + - $totalcredit + - $totalcredittax; + # = 0 for balanced ledger + $column_data{debit} = "" . $form->format_amount(\%myconfig, $totaldebit, 2, " ") . ""; @@ -827,6 +867,27 @@ sub generate_report { print qq| + |; + + + if ( abs($balanced_ledger) > 0.001 ) { + + print qq|| + . $locale->text('Unbalanced Ledger') + . ": " + . $form->format_amount(\%myconfig, $balanced_ledger, 3, " ") + + } elsif ( abs($balanced_ledger) <= 0.001 ) { + + print qq|| + . $locale->text('Balanced Ledger') + + } + + + print qq| + + @@ -1427,7 +1488,7 @@ sub form_footer { print qq||; - # Löschen und ändern von Buchungen nicht mehr möglich (GoB) nur am selben Tag möglich + # Löschen und Ändern von Buchungen nicht mehr möglich (GoB) nur am selben Tag möglich if (!$form->{locked} && $radieren) { print qq| @@ -1496,9 +1557,15 @@ sub delete { sub yes { $lxdebug->enter_sub(); - - $form->redirect($locale->text('Transaction deleted!')) - if (GL->delete_transaction(\%myconfig, \%$form)); + if (GL->delete_transaction(\%myconfig, \%$form)){ + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{addition} = "DELETED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history + $form->redirect($locale->text('Transaction deleted!')) + } $form->error($locale->text('Cannot delete transaction!')); $lxdebug->leave_sub(); @@ -1684,6 +1751,13 @@ sub post { $form->error($err[$errno]); } undef($form->{callback}); + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{addition} = "SAVED"; + $form->{what_done} = $locale->text("Buchungsnummer") . " = " . $form->{id}; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history $form->redirect("Buchung gespeichert. Buchungsnummer = " . $form->{id}); $lxdebug->leave_sub(); @@ -1703,6 +1777,12 @@ sub storno { $form->{id} = 0; $form->{storno} = 1; + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{addition} = "STORNO"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &post; $lxdebug->leave_sub();