X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fdn.pl;h=c6c520e66d980764deca4738480215f7a88f635c;hb=ee56f1b20ab915671ded297f593c0e2e245bad70;hp=65b3bc36f4561caff0edb1e9c8a7fae7215961e8;hpb=2a4ad354455f28cba2e42fe71ea1d1e93a0c69d0;p=kivitendo-erp.git diff --git a/bin/mozilla/dn.pl b/bin/mozilla/dn.pl index 65b3bc36f..c6c520e66 100644 --- a/bin/mozilla/dn.pl +++ b/bin/mozilla/dn.pl @@ -24,250 +24,147 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1335, USA. #====================================================================== # # Dunning process module # #====================================================================== +use POSIX qw(strftime); + use SL::IS; -use SL::PE; use SL::DN; -use Data::Dumper; +use SL::DB::Department; +use SL::DB::Dunning; +use SL::Helper::Flash qw(flash); +use SL::Locale::String qw(t8); +use SL::ReportGenerator; require "bin/mozilla/common.pl"; +require "bin/mozilla/reportgenerator.pl"; require "bin/mozilla/io.pl"; -require "bin/mozilla/arap.pl"; + +use strict; 1; sub edit_config { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + + $main::auth->assert('config'); DN->get_config(\%myconfig, \%$form); + $form->get_lists('charts' => { 'key' => 'ALL_CHARTS', + 'transdate' => 'current_date' }); + + $form->{SELECT_AR_AMOUNT} = []; + $form->{SELECT_AR} = []; + + foreach my $chart (@{ $form->{ALL_CHARTS} }) { + $chart->{LINKS} = { map { $_, 1 } split m/:/, $chart->{link} }; + + if ($chart->{LINKS}->{AR}) { + $chart->{AR_selected} = "selected" if $chart->{id} == $form->{AR}; + push @{ $form->{SELECT_AR} }, $chart; + } + + if ($chart->{LINKS}->{AR_amount}) { + $chart->{AR_amount_fee_selected} = "selected" if $chart->{id} == $form->{AR_amount_fee}; + $chart->{AR_amount_interest_selected} = "selected" if $chart->{id} == $form->{AR_amount_interest}; + push @{ $form->{SELECT_AR_AMOUNT} }, $chart; + } + } - $form->{title} = $locale->text('Edit Dunning Process Config'); - $form->{callback} ||= build_std_url("action=edit_config"); - $form->{rowcount} = 1 + scalar @{ $form->{DUNNING} }; - $form->{rowcount_odd} = $form->{rowcount} % 2; + $form->{title} = $locale->text('Edit Dunning Process Config'); + $form->{callback} ||= build_std_url("action=edit_config"); $form->header(); print $form->parse_html_template("dunning/edit_config"); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub add { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - # setup customer selection - $form->all_vc(\%myconfig, "customer", "AR"); + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + + $main::auth->assert('dunning_edit'); DN->get_config(\%myconfig, \%$form); - $form->{SHOW_CUSTOMER_SELECTION} = $form->{all_customer} && scalar @{ $form->{all_customer} }; $form->{SHOW_DUNNING_LEVEL_SELECTION} = $form->{DUNNING} && scalar @{ $form->{DUNNING} }; - $form->{SHOW_DEPARTMENT_SELECTION} = $form->{all_departments} && scalar @{ $form->{all_departments} }; + $form->{SHOW_DEPARTMENT_SELECTION} = $form->{all_departments} && scalar @{ $form->{all_departments} || [] }; $form->{title} = $locale->text('Start Dunning Process'); - $form->{jsscript} = 1; - $form->{fokus} = "search.customer"; $form->header(); print $form->parse_html_template("dunning/add"); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub show_invoices { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - DN->get_invoices(\%myconfig, \%$form); - $form->{title} = $locale->text('Start Dunning Process'); + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; - if (@{ $form->{DUNNING_CONFIG} }) { - foreach $item (@{ $form->{DUNNING_CONFIG} }) { - $form->{selectdunning} .= - ""; - } - } + $main::auth->assert('dunning_edit'); + DN->get_invoices(\%myconfig, \%$form); + $form->{title} = $locale->text('Start Dunning Process'); - $form->{nextsub} = "save_dunning"; - - $form->{jsscript} = 1; - $form->{javascript} .= qq||; - - $form->{callback} = - "$form->{script}?action=show_invoices&login=$form->{login}&password=$form->{password}&customer=$form->{customer}&invnumber=$form->{invnumber}&ordnumber=$form->{ordnumber}&paymentuntil=$form->{paymentuntil}&groupinvoices=$form->{groupinvoices}&minamount=$form->{minamount}&dunning_level=$form->{dunning_level}¬es=$form->{notes}" - unless $form->{callback}; - - @column_index = qw(dunning_description dunning_description_next active email customername invnumber invdate inv_duedate amount next_duedate fee interest ); - - $column_header{dunning_description} = - qq|