X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/4deefb650e21142416c2d1d2caff98357837964f..8cef58b276ce4005c0e2ada350fecd5d7a103e89:/bin/mozilla/dn.pl diff --git a/bin/mozilla/dn.pl b/bin/mozilla/dn.pl index f0f2a57e2..88b2cb339 100644 --- a/bin/mozilla/dn.pl +++ b/bin/mozilla/dn.pl @@ -105,7 +105,7 @@ sub edit_config { - + |; @@ -163,9 +163,8 @@ sub edit_config { $column_data{dunning_level} = qq||; $column_data{dunning_description} = qq||; - my $active = ""; $column_data{active} = - qq||; + qq||; my $email = ""; $column_data{email} = qq||; @@ -272,7 +271,7 @@ sub add { # with JavaScript Calendar $button1 = qq| - |; @@ -284,12 +283,16 @@ sub add { # without JavaScript Calendar $button1 = - qq||; + qq||; } $form->{fokus} = "search.customer"; + $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}> @@ -321,7 +324,6 @@ sub add { $button1 -
$form->{title}$form->{title}
$i + text('button') . qq|>
| . $locale->text('Payment until') . qq|
@@ -446,7 +448,7 @@ sub show_invoices { - + |; @@ -466,19 +468,19 @@ sub show_invoices { |; $form->{selectdunning} =~ s/ selected//g; - if ($ref->{next_dunning_id} ne "") { - $form->{selectdunning} =~ s/value=$ref->{next_dunning_id}/value=$ref->{next_dunning_id} selected/; + if ($ref->{next_dunning_config_id} ne "") { + $form->{selectdunning} =~ s/value=$ref->{next_dunning_config_id}/value=$ref->{next_dunning_config_id} selected/; } - $dunning = qq||; + $dunning = qq||; $column_data{dunning_description} = qq||; - my $active = "checked"; + my $active = ($ref->{active}) ? "checked" : ""; $column_data{active} = qq||; - my $email = "checked"; + my $email = ($ref->{email}) ? "checked" : ""; $column_data{email} = qq||; $column_data{next_duedate} = qq||; @@ -510,7 +512,7 @@ sub show_invoices {
$form->{title}$form->{title}
$ref->{dunning_level}: $dunning$ref->{next_duedate}
|; - &print_options; + print_options(); print qq|
{script}> @@ -552,6 +554,13 @@ sub save { } DN->save_config(\%myconfig, \%$form); + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|dunning_id_| . $form->{"dunning_id"}; + $form->{addition} = "SAVED FOR DUNNING"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history $form->redirect($locale->text('Dunning Process Config saved!')); $lxdebug->leave_sub(); @@ -566,18 +575,14 @@ sub save_dunning { if ($form->{groupinvoices}) { while ($active) { $lastcustomer = 0; - $form->{inv_ids} = ""; + $form->{inv_ids} = []; $active = 0; @rows = (); for my $i (1 .. $form->{rowcount}) { $form->{"active_$i"} *= 1; $lastcustomer = $form->{"customer_id_$i"} unless ($lastcustomer); if ($form->{"active_$i"} && ($form->{"customer_id_$i"} == $lastcustomer)) { - if ($form->{inv_ids}) { - $form->{inv_ids} .= qq|,$form->{"inv_id_$i"}|; - } else { - $form->{inv_ids} = qq|($form->{"inv_id_$i"}|; - } + push(@{ $form->{inv_ids} }, $form->{"inv_id_$i"}); $form->{"active_$i"} = 0; $form->{"customer_id_$i"} = 0; push(@rows, $i); @@ -587,25 +592,30 @@ sub save_dunning { $form->{"customer_id_$i"} = 0; } } - if ($form->{inv_ids} ne "") { - $form->{inv_ids} .= ")"; - DN->save_dunning(\%myconfig, \%$form, \@rows, $userspath,$spool, $sendmail); + if (scalar(@{ $form->{inv_ids} }) != 0) { + DN->save_dunning(\%myconfig, \%$form, \@rows, $userspath, $spool, $sendmail); } } } else { for my $i (1 .. $form->{rowcount}) { if ($form->{"active_$i"}) { @rows = (); - $form->{inv_ids} = qq|($form->{"inv_id_$i"})|; + $form->{inv_ids} = [ $form->{"inv_id_$i"} ]; push(@rows, $i); - DN->save_dunning(\%myconfig, \%$form, \@rows, $userspath,$spool, $sendmail); + DN->save_dunning(\%myconfig, \%$form, \@rows, $userspath, $spool, $sendmail); } } } if($form->{DUNNING_PDFS}) { DN->melt_pdfs(\%myconfig, \%$form,$spool); } - + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|dunning_id_| . $form->{"dunning_id"}; + $form->{addition} = "DUNNING STARTED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history $form->redirect($locale->text('Dunning Process started for selected invoices!')); $lxdebug->leave_sub(); @@ -683,22 +693,22 @@ sub search { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; $button2 = qq| - + text('button') . qq|> |; $button3 = qq| - + text('button') . qq|> |; $button4 = qq| - + text('button') . qq|> |; @@ -710,19 +720,24 @@ sub search { # without JavaScript Calendar $button1 = - qq||; + qq||; $button2 = - qq||; - $button1 = - qq||; - $button1 = - qq||; + qq||; + $button3 = + qq||; + $button4 = + qq||; } $form->{fokus} = "search.customer"; + $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}> @@ -763,7 +778,6 @@ sub search { $button4 - @@ -874,7 +888,7 @@ sub show_dunning { - + |; @@ -883,11 +897,28 @@ sub show_dunning { print qq| |; + + my %columns = ( + "dunning_duedate" => "next_duedate", + "duedate" => "inv_duedate", + "transdate" => "invdate", + "amount" => "invamount", + ); + my $i = 0; + my $j = 0; + my ($previous_dunning_id, $first_row_for_dunning); foreach $ref (@{ $form->{DUNNINGS} }) { - $i++; - my $j = $i % 2; + + if ($previous_dunning_id != $ref->{dunning_id}) { + $j++; + $j = $j % 2; + $first_row_for_dunning = 1; + } else { + $first_row_for_dunning = 0; + } + $previous_dunning_id = $ref->{dunning_id}; print qq| @@ -895,23 +926,28 @@ sub show_dunning { - $dunning = qq||; - - - $column_data{dunning_description} = qq||; - my $active = "checked"; - $column_data{dunning_date} = qq||; - $column_data{next_duedate} = qq||; - - $column_data{inv_duedate} = qq||; - $column_data{invdate} = qq||; - $column_data{invnumber} = qq||; - $column_data{customername} = qq||; - $column_data{invamount} = qq||; - $column_data{fee} = qq||; - $column_data{interest} = qq||; + foreach (qw(dunning_date dunning_duedate duedate transdate customername + amount fee interest)) { + my $col = $columns{$_} ? $columns{$_} : $_; + $column_data{$col} = ""; + } + if ($first_row_for_dunning) { + $column_data{dunning_description} = + qq||; + } else { + $column_data{dunning_description} = qq||; + $column_data{customername} = qq||; + } + $column_data{invnumber} = + qq||; map { print "$column_data{$_}\n" } @column_index; @@ -957,7 +993,7 @@ sub show_dunning { sub print_dunning { $lxdebug->enter_sub(); - DN->print_dunning(\%myconfig, \%$form, $form->{dunning_id}, $userspath,$spool, $sendmail); + DN->print_dunning(\%myconfig, \%$form, $form->{dunning_id}, $userspath, $spool, $sendmail); if($form->{DUNNING_PDFS}) { DN->melt_pdfs(\%myconfig, \%$form,$spool);
$form->{title}$form->{title}
{dunning_id}&format=pdf&media=screen&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$form->{callback}>$ref->{dunning_description}$ref->{dunning_date}$ref->{dunning_duedate}$ref->{duedate}$ref->{transdate}{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$form->{callback}>$ref->{invnumber}$ref->{customername}$ref->{amount}$ref->{fee}$ref->{interest}" . H($ref->{$_}) . "| . H($ref->{dunning_description}) . qq|  {id}) . + join(map({ "&${_}=" . E($form->{$_}) } qw(login path password callback))) . + qq|">| . H($ref->{invnumber}) . qq|