X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=43f5447cc60b89eaa09382e33356ea8e6704cd9b;hb=e9e216f571e214e1d19c43a2b47f04525f4aaddf;hp=253b97ee4de6acd3fed910cb92cc0c28e9936e9c;hpb=ee4b3441e94a1e1481ec84554987ed1b079eb52e;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 253b97ee4..43f5447cc 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -32,9 +32,10 @@ #====================================================================== use SL::GL; +use SL::IS; use SL::PE; -require "$form->{path}/arap.pl"; +require "bin/mozilla/arap.pl"; require "bin/mozilla/common.pl"; 1; @@ -75,7 +76,7 @@ sub add { $form->{title} = "Add"; $form->{callback} = - "$form->{script}?action=add&path=$form->{path}&login=$form->{login}&password=$form->{password}" + "$form->{script}?action=add&login=$form->{login}&password=$form->{password}" unless $form->{callback}; # we use this only to set a default date @@ -109,7 +110,7 @@ sub add { } -sub edit { +sub prepare_transaction { $lxdebug->enter_sub(); GL->transaction(\%myconfig, \%$form); @@ -178,15 +179,24 @@ sub edit { ($form->datetonum($form->{transdate}, \%myconfig) <= $form->datetonum($form->{closedto}, \%myconfig)); + $lxdebug->leave_sub(); +} + +sub edit { + $lxdebug->enter_sub(); + + prepare_transaction(); + $form->{title} = "Edit"; - &form_header; - &display_rows; - &form_footer; - $lxdebug->leave_sub(); + form_header(); + display_rows(); + form_footer(); + $lxdebug->leave_sub(); } + sub search { $lxdebug->enter_sub(); @@ -233,12 +243,12 @@ sub search { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; $button2 = qq| - + text('button') . qq|> |; @@ -251,15 +261,17 @@ sub search { # without JavaScript Calendar $button1 = - qq||; + qq||; $button2 = - qq||; + qq||; } - + $form->{javascript} .= qq||; $form->header; - + $onload = qq|focus()|; + $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; + $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; print qq| - +
{script}> @@ -339,8 +351,6 @@ sub search { | . $locale->text('Source') . qq| | . $locale->text('Account') . qq| - - | . $locale->text('GIFI') . qq| @@ -364,7 +374,6 @@ $jsscript -{path}> {login}> {password}> @@ -387,7 +396,7 @@ sub generate_report { GL->all_transactions(\%myconfig, \%$form); $callback = - "$form->{script}?action=generate_report&path=$form->{path}&login=$form->{login}&password=$form->{password}"; + "$form->{script}?action=generate_report&login=$form->{login}&password=$form->{password}"; $href = $callback; @@ -412,14 +421,6 @@ sub generate_report { $locale->text('Account') . " : $form->{accno} $form->{account_description}"; } - if ($form->{gifi_accno}) { - $href .= "&gifi_accno=" . $form->escape($form->{gifi_accno}); - $callback .= "&gifi_accno=" . $form->escape($form->{gifi_accno}, 1); - $option .= "\n
" if $option; - $option .= - $locale->text('GIFI') - . " : $form->{gifi_accno} $form->{gifi_account_description}"; - } if ($form->{source}) { $href .= "&source=" . $form->escape($form->{source}); $callback .= "&source=" . $form->escape($form->{source}, 1); @@ -482,13 +483,13 @@ sub generate_report { 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 + credit_tax credit_tax_accno accno projectnumbers ) ); - if ($form->{accno} || $form->{gifi_accno}) { - @columns = grep !/(accno|gifi_accno)/, @columns; + if ($form->{accno}) { + @columns = grep !/accno/, @columns; push @columns, "balance"; $form->{l_balance} = "Y"; @@ -569,10 +570,6 @@ sub generate_report { "" . $locale->text('Credit Tax Account') . ""; - $column_header{gifi_accno} = - "" - . $locale->text('GIFI') - . ""; $column_header{balance} = "" . $locale->text('Balance') . ""; $column_header{projectnumbers} = "" . $locale->text('Project Numbers') . ""; @@ -617,7 +614,7 @@ sub generate_report { $sameitem = $form->{GL}->[0]->{ $form->{sort} }; } - if (($form->{accno} || $form->{gifi_accno}) && $form->{balance}) { + if ($form->{accno} && $form->{balance}) { map { $column_data{$_} = " " } @column_index; $column_data{balance} = @@ -766,11 +763,11 @@ sub generate_report { } $transdate = ""; - foreach $key (sort keys(%{ $ref->{transdate} })) { + foreach $key (sort keys(%{ $ref->{ac_transdate} })) { if ($key == 0) { - $transdate = "$ref->{transdate}{$key}"; + $transdate = "$ref->{ac_transdate}{$key}"; } else { - $transdate .= "
$ref->{transdate}{$key}"; + $transdate .= "
$ref->{ac_transdate}{$key}"; } } @@ -780,7 +777,7 @@ sub generate_report { $column_data{id} = " $ref->{id} "; $column_data{transdate} = "$transdate"; $column_data{reference} = - "{module}.pl?action=edit&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{reference}"; + "{module}.pl?action=edit&id=$ref->{id}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{reference}"; $column_data{description} = "$ref->{description} "; $column_data{source} = "$ref->{source} "; $column_data{notes} = "$ref->{notes} "; @@ -793,15 +790,11 @@ sub generate_report { ? "$debittax" : ""; $column_data{debit_tax_accno} = "$debittaxaccno"; - $column_data{gifi_accno} = - "{gifi_accno}&callback=$callback>$ref->{gifi_accno} "; $column_data{credit_tax} = ($ref->{credit_tax_accno} ne "") ? "$credittax" : ""; $column_data{credit_tax_accno} = "$credittaxaccno"; - $column_data{gifi_accno} = - "{gifi_accno}&callback=$callback>$ref->{gifi_accno} "; $column_data{balance} = "" . $form->format_amount(\%myconfig, $form->{balance}, 2, 0) . ""; @@ -887,7 +880,6 @@ sub generate_report { -{path}> {login}> {password}> @@ -1127,7 +1119,6 @@ sub display_rows { if ($previous_accno && ($previous_accno eq $selected_accno) && ($previous_tax_id ne $selected_tax_id)) { - $lxdebug->message(0, "yeah"); my $item = $taxcharts{$selected_tax_id}; $selected_taxchart = "$item->{id}--$item->{rate}"; } @@ -1315,7 +1306,7 @@ sub form_header { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; @@ -1327,7 +1318,7 @@ sub form_header { # without JavaScript Calendar $button1 = - qq||; + qq||; } $form->header; @@ -1336,11 +1327,11 @@ sub form_header { {script}> +|; -{id}> + $form->hide_form(qw(id closedto locked storno storno_id)); -{closedto}> -{locked}> + print qq| @@ -1353,7 +1344,7 @@ sub form_header { - + @@ -1384,7 +1375,7 @@ sub form_header { if ($form->{id}) { print qq| - + @@ -1472,7 +1463,6 @@ sub form_footer {
| . $locale->text('Reference') . qq|| . $locale->text('Reference') . qq| @@ -1373,7 +1364,7 @@ sub form_header {
- +
| . $locale->text('Buchungsdatum') . qq|{gldate} $readonly>{gldate} $readonly onBlur=\"check_right_date_format(this)\">
| . $locale->text('Description') . qq|| . $locale->text('Description') . qq| $description @@ -1398,7 +1389,7 @@ sub form_header {
- +
| . $locale->text('Mitarbeiter') . qq|{employee} $readonly>
-{path}> {login}> {password}> @@ -1486,8 +1476,10 @@ sub form_footer { if ($form->{id}) { - print qq||; + if (!$form->{storno}) { + print qq||; + } # Löschen und Ändern von Buchungen nicht mehr möglich (GoB) nur am selben Tag möglich @@ -1561,6 +1553,7 @@ sub yes { if (GL->delete_transaction(\%myconfig, \%$form)){ # saving the history if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "DELETED"; $form->save_history($form->dbconnect(\%myconfig)); } @@ -1594,19 +1587,6 @@ sub post { my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); - if ($form->{storno}) { - for my $i (1 .. $form->{rowcount}) { - unless (($form->{"debit_$i"} eq "") && ($form->{"credit_$i"} eq "")) { - if ($form->{"debit_$i"} ne "") { - $form->{"credit_$i"} = $form->{"debit_$i"}; - $form->{"debit_$i"} = ""; - } elsif ($form->{"credit_$i"} ne "") { - $form->{"debit_$i"} = $form->{"credit_$i"}; - $form->{"credit_$i"} = ""; - } - } - } - } for my $i (1 .. $form->{rowcount}) { @@ -1754,6 +1734,7 @@ sub post { undef($form->{callback}); # saving the history if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "SAVED"; $form->{what_done} = $locale->text("Buchungsnummer") . " = " . $form->{id}; $form->save_history($form->dbconnect(\%myconfig)); @@ -1776,15 +1757,55 @@ sub post_as_new { sub storno { $lxdebug->enter_sub(); - $form->{id} = 0; - $form->{storno} = 1; + if (IS->has_storno(\%myconfig, $form, 'gl')) { + $form->{title} = $locale->text("Cancel General Ledger Transaction"); + $form->error($locale->text("Transaction has already been cancelled!")); + } + + my %keep_keys = map { $_, 1 } qw(login password id stylesheet); + map { delete $form->{$_} unless $keep_keys{$_} } keys %{ $form }; + + prepare_transaction(); + + for my $i (1 .. $form->{rowcount}) { + for (qw(debit credit tax)) { + $form->{"${_}_$i"} = + ($form->{"${_}_$i"}) + ? $form->format_amount(\%myconfig, $form->{"${_}_$i"}, 2) + : ""; + } + } + + $form->{storno} = 1; + $form->{storno_id} = $form->{id}; + $form->{id} = 0; + + $form->{reference} = "Storno-" . $form->{reference}; + $form->{description} = "Storno-" . $form->{description}; + + for my $i (1 .. $form->{rowcount}) { + next if (($form->{"debit_$i"} eq "") && ($form->{"credit_$i"} eq "")); + + if ($form->{"debit_$i"} ne "") { + $form->{"credit_$i"} = $form->{"debit_$i"}; + $form->{"debit_$i"} = ""; + + } else { + $form->{"debit_$i"} = $form->{"credit_$i"}; + $form->{"credit_$i"} = ""; + } + } + + post(); + # saving the history if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; $form->{addition} = "STORNO"; $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history - &post; + $lxdebug->leave_sub(); }