X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/c2aaf253649281fee8e79a3300d81c827d9a1fd1..08e820fa7a9aa4beae1da564b69a1362e6020121:/bin/mozilla/oe.pl diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index f24612112..8f4f28ac4 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -358,35 +358,41 @@ sub setup_oe_action_bar { combobox => [ action => [ t8('Workflow') ], - (action => [ + action => [ t8('Sales Order'), submit => [ '#form', { action => "sales_order" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, - ]) x !!$params{is_sales_quo}, - (action => [ + only_if => $params{is_sales_quo} || $params{is_pur_ord}, + ], + action => [ t8('Purchase Order'), - submit => [ '#form', { action => "sales_order" } ], + submit => [ '#form', { action => "purchase_order" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, - ]) x !!$params{is_req_quo}, - (action => [ + only_if => $params{is_sales_ord} || $params{is_req_quo}, + ], + action => [ t8('Delivery Order'), submit => [ '#form', { action => "delivery_order" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, - ]) x ($params{is_sales_ord} || $params{is_pur_ord}), - (action => [ + only_if => $params{is_sales_ord} || $params{is_pur_ord}, + ], + action => [ t8('Invoice'), submit => [ '#form', { action => "invoice" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, - ]) x !!$allow_invoice, + only_if => $allow_invoice, + ], action => [ t8('Quotation'), submit => [ '#form', { action => "quotation" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, + only_if => $params{is_sales_ord}, ], action => [ t8('Request for Quotation'), - submit => [ '#form', { action => "reqest_for_quotation" } ], + submit => [ '#form', { action => "request_for_quotation" } ], disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, + only_if => $params{is_pur_ord}, ], ], # end of combobox "Workflow" @@ -402,6 +408,12 @@ sub setup_oe_action_bar { call => [ 'kivi.SalesPurchase.show_email_dialog' ], checks => [ @req_trans_desc ], ], + action => [ + t8('Download attachments of all parts'), + call => [ 'kivi.File.downloadOrderitemsFiles', $::form->{type}, $::form->{id} ], + disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef, + only_if => $::instance_conf->get_doc_storage, + ], ], #end of combobox "Export" combobox => [ @@ -435,6 +447,23 @@ sub setup_oe_search_action_bar { } } +sub setup_oe_orders_action_bar { + my %params = @_; + + return unless $::form->{type} eq 'sales_order'; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('New sales order'), + submit => [ '#form', { action => 'edit' } ], + checks => [ [ 'kivi.check_if_entries_selected', '[name^=multi_id_]' ] ], + accesskey => 'enter', + ], + ); + } +} + sub form_header { $main::lxdebug->enter_sub(); my @custom_hiddens; @@ -457,8 +486,11 @@ sub form_header { $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); - $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; - $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; + 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; # openclosed checkboxes my @tmp; @@ -990,7 +1022,7 @@ sub orders { $form->{l_open} = $form->{l_closed} = "Y" if ($form->{open} && $form->{closed}); $form->{l_delivered} = "Y" if ($form->{delivered} && $form->{notdelivered}); $form->{l_periodic_invoices} = "Y" if ($form->{periodic_invoices_active} && $form->{periodic_invoices_inactive}); - $form->{l_edit_exp} = "Y" if (any { $form->{type} eq $_ } qw(sales_order purchase_order)); + $form->{l_edit_exp} = "Y" if $::instance_conf->get_feature_experimental && (any { $form->{type} eq $_ } qw(sales_order purchase_order)); map { $form->{"l_${_}"} = 'Y' } qw(order_probability expected_billing_date expected_netamount) if $form->{l_order_probability_expected_billing_date}; my $attachment_basename; @@ -1158,7 +1190,7 @@ sub orders { $report->set_options('top_info_text' => join("\n", @options), 'raw_top_info_text' => $form->parse_html_template('oe/orders_top'), - 'raw_bottom_info_text' => $form->parse_html_template('oe/orders_bottom', { 'SHOW_CONTINUE_BUTTON' => $allow_multiple_orders }), + 'raw_bottom_info_text' => $form->parse_html_template('oe/orders_bottom'), 'output_format' => 'HTML', 'title' => $form->{title}, 'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time), @@ -1239,7 +1271,8 @@ sub orders { $report->add_separator(); $report->add_data(create_subtotal_row(\%totals, \@columns, \%column_alignment, \@subtotal_columns, 'listtotal')); - $report->generate_with_headers(action_bar => 1); + setup_oe_orders_action_bar(); + $report->generate_with_headers(); $main::lxdebug->leave_sub(); } @@ -1261,6 +1294,8 @@ sub check_delivered_flag { foreach my $i (1 .. $form->{rowcount}) { next if (!$form->{"id_$i"}); + $form->{"ship_$i"} = 0 if $form->{saveasnew}; + if ($form->parse_amount(\%myconfig, $form->{"qty_$i"}) == $form->parse_amount(\%myconfig, $form->{"ship_$i"})) { $all_delivered = 1; next; @@ -1271,6 +1306,7 @@ sub check_delivered_flag { } $form->{delivered} = 1 if $all_delivered; + $form->{delivered} = 0 if $form->{saveasnew}; $main::lxdebug->leave_sub(); }