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();