X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fap.pl;h=53dd785ed950fc57d229949ea1b951edb9415acb;hb=36bdd4875c67f916e4a885191f7870d301ae2c11;hp=fe978cb2c9f4ae4b9b97fc3b9a9bac65de0dd1fa;hpb=d51b3011755b4a7e006f433d9fe5836a22a69638;p=kivitendo-erp.git diff --git a/bin/mozilla/ap.pl b/bin/mozilla/ap.pl index fe978cb2c..53dd785ed 100644 --- a/bin/mozilla/ap.pl +++ b/bin/mozilla/ap.pl @@ -307,7 +307,7 @@ sub create_links { $form->{$_} = $saved{$_} for keys %saved; $form->{rowcount} = 1; - $form->{AP_chart_id} = $form->{acc_trans} && $form->{acc_trans}->{AP} ? $form->{acc_trans}->{AP}->[0]->{chart_id} : $form->{AP_links}->{AP}->[0]->{chart_id}; + $form->{AP_chart_id} = $form->{acc_trans} && $form->{acc_trans}->{AP} ? $form->{acc_trans}->{AP}->[0]->{chart_id} : $::instance_conf->get_ap_chart_id || $form->{AP_links}->{AP}->[0]->{chart_id}; # build the popup menus $form->{taxincluded} = ($form->{id}) ? $form->{taxincluded} : "checked"; @@ -413,7 +413,7 @@ sub form_header { @{ $form->{ALL_CHARTS} } ); - $form->{ALL_DEPARTMENTS} = SL::DB::Manager::Department->get_all; + $form->{ALL_DEPARTMENTS} = SL::DB::Manager::Department->get_all_sorted; my %project_labels = (); foreach my $item (@{ $form->{"ALL_PROJECTS"} }) { @@ -437,7 +437,7 @@ sub form_header { my $follow_up_vc = $form->{vendor_id} ? SL::DB::Vendor->load_cached($form->{vendor_id})->name : ''; my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)"; - $::request->layout->add_javascripts("autocomplete_chart.js", "autocomplete_customer.js", "show_vc_details.js", "show_history.js", "follow_up.js", "kivi.Draft.js", "kivi.GL.js", "kivi.RecordTemplate.js", "kivi.File.js", "kivi.AP.js"); + $::request->layout->add_javascripts("autocomplete_chart.js", "show_vc_details.js", "show_history.js", "follow_up.js", "kivi.Draft.js", "kivi.GL.js", "kivi.RecordTemplate.js", "kivi.File.js", "kivi.AP.js", "kivi.CustomerVendor.js", "kivi.Validator.js"); my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local; my $first_taxchart; @@ -744,10 +744,11 @@ sub post { my ($inline) = @_; # check if there is a vendor, invoice, due date and invnumber - $form->isblank("transdate", $locale->text("Invoice Date missing!")); - $form->isblank("duedate", $locale->text("Due Date missing!")); - $form->isblank("vendor_id", $locale->text('Vendor missing!')); - $form->isblank("invnumber", $locale->text('Invoice Number missing!')); + $form->isblank("transdate", $locale->text("Invoice Date missing!")); + $form->isblank("duedate", $locale->text("Due Date missing!")); + $form->isblank("vendor_id", $locale->text('Vendor missing!')); + $form->isblank("invnumber", $locale->text('Invoice Number missing!')); + $form->isblank("AP_chart_id", $locale->text('No contra account selected!')); if ($myconfig{mandatory_departments} && !$form->{department_id}) { $form->{saved_message} = $::locale->text('You have to specify a department.'); @@ -1167,10 +1168,12 @@ sub setup_ap_search_action_bar { action => [ $::locale->text('Search'), submit => [ '#form', { action => "ap_transactions" } ], + checks => [ 'kivi.validate_form' ], accesskey => 'enter', ], ); } + $::request->layout->add_javascripts('kivi.Validator.js'); } sub setup_ap_transactions_action_bar { @@ -1204,12 +1207,20 @@ sub setup_ap_display_form_action_bar { my $is_storno = IS->is_storno(\%::myconfig, $::form, 'ap', $::form->{id}); my $has_storno = IS->has_storno(\%::myconfig, $::form, 'ap'); + my $has_sepa_exports; + + if ($::form->{id}) { + my $invoice = SL::DB::Manager::PurchaseInvoice->find_by(id => $::form->{id}); + $has_sepa_exports = 1 if ($invoice->find_sepa_export_items()->[0]); + } + for my $bar ($::request->layout->get('actionbar')) { $bar->add( action => [ t8('Update'), submit => [ '#form', { action => "update" } ], id => 'update_button', + checks => [ 'kivi.validate_form' ], accesskey => 'enter', ], @@ -1217,7 +1228,7 @@ sub setup_ap_display_form_action_bar { action => [ t8('Post'), submit => [ '#form', { action => "post" } ], - checks => [ 'kivi.AP.check_fields_before_posting' ], + checks => [ 'kivi.validate_form', 'kivi.AP.check_fields_before_posting', 'kivi.AP.check_duplicate_invnumber' ], disabled => $is_closed ? t8('The billing period has already been locked.') : $is_storno ? t8('A canceled invoice cannot be posted.') : ($::form->{id} && $change_never) ? t8('Changing invoices has been disabled in the configuration.') @@ -1227,6 +1238,7 @@ sub setup_ap_display_form_action_bar { action => [ t8('Post Payment'), submit => [ '#form', { action => "post_payment" } ], + checks => [ 'kivi.validate_form' ], disabled => !$::form->{id} ? t8('This invoice has not been posted yet.') : undef, ], action => [ t8('Mark as paid'), @@ -1240,12 +1252,13 @@ sub setup_ap_display_form_action_bar { combobox => [ action => [ t8('Storno'), submit => [ '#form', { action => "storno" } ], - checks => [ 'kivi.AP.check_fields_before_posting' ], + checks => [ 'kivi.validate_form', 'kivi.AP.check_fields_before_posting' ], confirm => t8('Do you really want to cancel this invoice?'), disabled => !$::form->{id} ? t8('This invoice has not been posted yet.') : $has_storno ? t8('This invoice has been canceled already.') : $is_storno ? t8('Reversal invoices cannot be canceled.') : $::form->{totalpaid} ? t8('Invoices with payments cannot be canceled.') + : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.') : undef, ], action => [ t8('Delete'), @@ -1256,6 +1269,7 @@ sub setup_ap_display_form_action_bar { : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.') : $has_storno ? t8('This invoice has been canceled already.') : $is_closed ? t8('The billing period has already been locked.') + : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.') : undef, ], ], # end of combobox "Storno" @@ -1267,6 +1281,7 @@ sub setup_ap_display_form_action_bar { action => [ t8('Use As New'), submit => [ '#form', { action => "use_as_new" } ], + checks => [ 'kivi.validate_form' ], disabled => !$::form->{id} ? t8('This invoice has not been posted yet.') : undef, ], ], # end of combobox "Workflow" @@ -1297,4 +1312,5 @@ sub setup_ap_display_form_action_bar { ], # end of combobox "more" ); } + $::request->layout->add_javascripts('kivi.Validator.js'); }