$main::lxdebug->leave_sub();
}
+sub setup_do_action_bar {
+ my @transfer_qty = qw(kivi.SalesPurchase.delivery_order_check_transfer_qty);
+ my @req_trans_desc = qw(kivi.SalesPurchase.check_transaction_description) x!!$::instance_conf->get_require_transaction_description_ps;
+ my $is_customer = $::form->{vc} eq 'customer';
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action =>
+ [ t8('Update'),
+ submit => [ '#form', { action => "update" } ],
+ id => 'update_button',
+ accesskey => 'enter',
+ ],
+
+ combobox => [
+ action => [
+ t8('Save'),
+ submit => [ '#form', { action => "save" } ],
+ checks => [ @req_trans_desc ],
+ disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
+ ],
+ action => [
+ t8('Save as new'),
+ submit => [ '#form', { action => "save_as_new" } ],
+ checks => [ @req_trans_desc ],
+ disabled => !$::form->{id},
+ ],
+ action => [
+ t8('Mark as closed'),
+ submit => [ '#form', { action => "mark_closed" } ],
+ checks => [ @req_trans_desc ],
+ confirm => t8('This will remove the delivery order from showing as open even if contents are not delivered. Proceed?'),
+ disabled => !$::form->{id} ? t8('This record has not been saved yet.')
+ : $::form->{closed} ? t8('This record has already been closed.')
+ : undef,
+ ],
+ ], # end of combobox "Save"
+
+ action => [
+ t8('Delete'),
+ submit => [ '#form', { action => "delete" } ],
+ confirm => t8('Do you really want to delete this object?'),
+ disabled => !$::form->{id} ? t8('This record has not been saved yet.')
+ : $::form->{delivered} ? t8('This record has already been delivered.')
+ : ($::form->{vc} eq 'customer' && !$::instance_conf->get_sales_delivery_order_show_delete) ? t8('Deleting this type of record has been disabled in the configuration.')
+ : ($::form->{vc} eq 'vendor' && !$::instance_conf->get_purchase_delivery_order_show_delete) ? t8('Deleting this type of record has been disabled in the configuration.')
+ : undef,
+ ],
+
+ combobox => [
+ action => [
+ t8('Transfer out'),
+ submit => [ '#form', { action => "transfer_out" } ],
+ checks => [ @req_trans_desc, @transfer_qty ],
+ disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
+ only_if => $is_customer,
+ ],
+ action => [
+ t8('Transfer out via default'),
+ submit => [ '#form', { action => "transfer_out_default" } ],
+ checks => [ @req_trans_desc, @transfer_qty ],
+ disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
+ only_if => $is_customer && $::instance_conf->get_transfer_default,
+ ],
+ action => [
+ t8('Transfer in'),
+ submit => [ '#form', { action => "transfer_in" } ],
+ checks => [ @req_trans_desc, @transfer_qty ],
+ disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
+ only_if => !$is_customer,
+ ],
+ action => [
+ t8('Transfer in via default'),
+ submit => [ '#form', { action => "transfer_in_default" } ],
+ checks => [ @req_trans_desc, @transfer_qty ],
+ disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
+ only_if => !$is_customer && $::instance_conf->get_transfer_default,
+ ],
+ ], # end of combobox "Transfer out"
+
+
+ 'separator',
+
+ action => [
+ t8('Invoice'),
+ submit => [ '#form', { action => "invoice" } ],
+ disabled => !$::form->{id} ? t8('This record has not been saved yet.') : undef,
+ ],
+
+ combobox => [
+ action => [ t8('Export') ],
+ action => [
+ t8('Print'),
+ call => [ 'kivi.SalesPurchase.show_print_dialog' ],
+ checks => [ @req_trans_desc ],
+ ],
+ action => [
+ t8('E Mail'),
+ call => [ 'kivi.SalesPurchase.show_email_dialog' ],
+ checks => [ @req_trans_desc ],
+ ],
+ ], # end of combobox "Export"
+
+ combobox => [
+ action => [ t8('more') ],
+ action => [
+ t8('History'),
+ call => [ 'set_history_window', $::form->{id} * 1, 'id' ],
+ disabled => !$::form->{id} ? t8('This record has not been saved yet.') : undef,
+ ],
+ action => [
+ t8('Follow-Up'),
+ call => [ 'follow_up_window' ],
+ disabled => !$::form->{id} ? t8('This record has not been saved yet.') : undef,
+ ],
+ ], # end if combobox "more"
+ );
+ }
+}
+
+sub setup_do_search_action_bar {
+ my %params = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Search'),
+ submit => [ '#form' ],
+ accesskey => 'enter',
+ ],
+ );
+ }
+}
+
+sub setup_do_orders_action_bar {
+ my %params = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('New invoice'),
+ submit => [ '#form', { action => 'invoice_multi' } ],
+ checks => [ [ 'kivi.check_if_entries_selected', '#form tbody input[type=checkbox]' ] ],
+ accesskey => 'enter',
+ ],
+ action => [
+ t8('Print'),
+ call => [ 'kivi.SalesPurchase.show_print_dialog', 'js:kivi.MassDeliveryOrderPrint.submitMultiOrders' ],
+ checks => [ [ 'kivi.check_if_entries_selected', '#form tbody input[type=checkbox]' ] ],
+ ],
+ );
+ }
+}
+
sub form_header {
$main::lxdebug->enter_sub();
my $class = "SL::DB::" . ($form->{vc} eq 'customer' ? 'Customer' : 'Vendor');
$form->{VC_OBJ} = $class->load_cached($form->{ $form->{vc} . '_id' });
- $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
- $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
+ $form->{CONTACT_OBJ} = $form->{cp_id} ? SL::DB::Contact->load_cached($form->{cp_id}) : undef;
+ my $current_employee = SL::DB::Manager::Employee->current;
+ $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
+ $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
+ $form->{employee_id} ||= $current_employee->id;
+ $form->{salesman_id} ||= $current_employee->id;
my $vc = $form->{vc} eq "customer" ? "customers" : "vendors";
$form->get_lists("price_factors" => "ALL_PRICE_FACTORS",
$::form->{HIDDENS} = [ map { +{ name => $_, value => $::form->{$_} } } (@custom_hidden) ];
- my @transfer_qty = qw(kivi.SalesPurchase.delivery_order_check_transfer_qty);
- my @req_trans_desc = qw(kivi.SalesPurchase.check_transaction_description) x!!$::instance_conf->get_require_transaction_description_ps;
-
- for my $bar ($::request->layout->get('actionbar')) {
- $bar->add_actions([ t8('Update'),
- submit => [ '#form', { action_update => 1 } ],
- ]);
- $bar->add_actions("combobox");
- $bar->actions->[-1]->add_actions([ t8('Save'),
- submit => [ '#form', { action_save => 1 } ],
- checks => [ @req_trans_desc ],
- disabled => $::form->{delivered},
- ]);
- $bar->actions->[-1]->add_actions([ t8('Save as new'),
- submit => [ '#form', { action_save_as_new => 1 } ],
- checks => [ @req_trans_desc ],
- disabled => !$::form->{id},
- ]);
- $bar->actions->[-1]->add_actions([ t8('mark as paid'),
- submit => [ '#form', { action_mark_closed => 1 } ],
- checks => [ @req_trans_desc ],
- confirm => t8('This will remove the delivery order from showing as open even if contents are not delivered. Proceed?'),
- disabled => !$::form->{id} || $::form->{closed},
- ]);
- $bar->add_actions([ t8('Delete'),
- submit => [ '#form', { action_delete => 1 } ],
- confirm => t8('Do you really want to delete this object?'),
- disabled => !$::form->{id} || $::form->{delivered}
- || ($::form->{vc} eq 'customer' && !$::instance_conf->get_sales_delivery_order_show_delete)
- || ($::form->{vc} eq 'vendor' && !$::instance_conf->get_purchase_delivery_order_show_delete),
- ]);
- $bar->add_actions("combobox");
- $bar->actions->[-1]->add_actions([ t8('Transfer out'),
- submit => [ '#form', { action_transfer_out => 1 } ],
- checks => [ @req_trans_desc, @transfer_qty ],
- disabled => $::form->{delivered},
- ]) if $::form->{vc} eq 'customer';
- $bar->actions->[-1]->add_actions([ t8('Transfer out via default'),
- submit => [ '#form', { action_transfer_out_default => 1 } ],
- checks => [ @req_trans_desc, @transfer_qty ],
- disabled => $::form->{delivered},
- ]) if $::form->{vc} eq 'customer' && $::instance_conf->get_transfer_default;
- $bar->actions->[-1]->add_actions([ t8('Transfer in'),
- submit => [ '#form', { action_transfer_in => 1 } ],
- checks => [ @req_trans_desc, @transfer_qty ],
- disabled => $::form->{delivered},
- ]) if $::form->{vc} eq 'vendor';
- $bar->actions->[-1]->add_actions([ t8('Transfer in via default'),
- submit => [ '#form', { action_transfer_in_default => 1 } ],
- checks => [ @req_trans_desc, @transfer_qty ],
- disabled => $::form->{delivered},
- ]) if $::form->{vc} eq 'vendor' && $::instance_conf->get_transfer_default;
-
- $bar->add_actions("separator");
- $bar->add_actions([ t8('Invoice'),
- submit => [ '#form', { action_invoice => 1 } ],
- disabled => !$::form->{id},
- ]);
- $bar->add_actions('combobox');
- $bar->actions->[-1]->add_actions([ t8('Export'),
- disabled => 1,
- ]);
- $bar->actions->[-1]->add_actions([ t8('Print'),
- submit => [ '#form', { action_print => 1 } ],
- checks => [ @req_trans_desc ],
- ]);
- $bar->actions->[-1]->add_actions([ t8('E Mail'),
- submit => [ '#form', { action_print => 1 } ],
- checks => [ @req_trans_desc ],
- ]);
- $bar->add_actions('combobox');
- $bar->actions->[-1]->add_actions([ t8('more'),
- disabled => 1,
- ]);
- $bar->actions->[-1]->add_actions([ t8('History'),
- call => [ 'set_history_window', $::form->{id} * 1, 'id' ],
- disabled => !$::form->{id},
- ]);
- $bar->actions->[-1]->add_actions([ t8('Follow-Up'),
- call => [ 'follow_up_window' ],
- disabled => !$::form->{id},
- ]);
- }
+ setup_do_action_bar();
$form->header();
# Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID'
my $form = $main::form;
- $form->{PRINT_OPTIONS} = print_options('inline' => 1);
+ $form->{PRINT_OPTIONS} = setup_sales_purchase_print_options();
$form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted();
print $form->parse_html_template('do/form_footer',
$form->{ALL_DEPARTMENTS} = SL::DB::Manager::Department->get_all;
$form->{title} = $locale->text('Delivery Orders');
+ setup_do_search_action_bar();
+
$form->header();
print $form->parse_html_template('do/search');
my $locale = $main::locale;
my $cgi = $::request->{cgi};
- $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.MassDeliveryOrderPrint));
+ $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.MassDeliveryOrderPrint kivi.SalesPurchase));
($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = split(/--/, $form->{ $form->{vc} });
report_generator_set_default_sort('transdate', 1);
$form->{printer_id} = $pr->id;
}
+ my $print_options = SL::Helper::PrintOptions->get_print_options(
+ options => {
+ hide_language_id => 1,
+ show_bothsided => 1,
+ show_headers => 1,
+ },
+ );
+
$report->set_options('top_info_text' => join("\n", @options),
'raw_top_info_text' => $form->parse_html_template('do/orders_top'),
- 'raw_bottom_info_text' => $form->parse_html_template('do/orders_bottom', { print_options => print_options(inline => 1,hide_language_id => 1) }),
+ 'raw_bottom_info_text' => $form->parse_html_template('do/orders_bottom', { print_options => $print_options }),
'output_format' => 'HTML',
'title' => $form->{title},
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
$idx++;
}
+ setup_do_orders_action_bar();
+
$report->generate_with_headers();
$main::lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
-sub e_mail {
- $main::lxdebug->enter_sub();
-
- check_do_access();
-
- $::form->mtime_ischanged('delivery_orders','mail');
-
- $::form->{print_and_save} = 1;
-
- my $saved_form = save_form();
-
- save();
-
- restore_form($saved_form, 0, qw(id ordnumber quonumber));
-
- edit_e_mail();
-
- $main::lxdebug->leave_sub();
-}
-
sub calculate_stock_in_out {
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
- foreach my $action (qw(update ship_to print e_mail save transfer_out transfer_out_default sort
+ foreach my $action (qw(update print save transfer_out transfer_out_default sort
transfer_in transfer_in_default mark_closed save_as_new invoice delete)) {
if ($form->{"action_${action}"}) {
call_sub($action);