X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fic.pl;h=add189593c1f15cdfc24eb6e00c304f508a8ce13;hb=b71b35308c2f7c628666e4a69e6c3b90cefc5ed0;hp=dd8cc46a5c0c34bc9142f27e9f84018cc944ea0b;hpb=f134996afb100bedaefba9a4176a9fbcc715a83c;p=kivitendo-erp.git diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl index dd8cc46a5..add189593 100644 --- a/bin/mozilla/ic.pl +++ b/bin/mozilla/ic.pl @@ -42,7 +42,7 @@ use SL::ReportGenerator; #use SL::PE; -# use strict; +use strict; #use warnings; # global imports @@ -290,14 +290,14 @@ sub update_prices { # | . $locale->text('choice part') . qq| # # -# -#   -# | . $locale->text('Part Number') . qq| -# | . $locale->text('Part Description') . qq| -# | . $locale->text('Unit of measure') . qq| -# | . $locale->text('Sell Price') . qq| -# | . $locale->text('soldtotal') . qq| -# |; +# +#   +# | . $locale->text('Part Number') . qq| +# | . $locale->text('Part Description') . qq| +# | . $locale->text('Unit of measure') . qq| +# | . $locale->text('Sell Price') . qq| +# | . $locale->text('soldtotal') . qq| +# |; # # my $j = 0; # my $i = $form->{rows}; @@ -308,20 +308,20 @@ sub update_prices { # |; # if ($j == 1) { # print qq| -# |; +# |; # } else { # print qq| -# |; +# |; # } # print qq| -# $form->{"partnumber_$j"} -# $form->{"description_$j"} -# $form->{"unit_$j"} -# $form->{"sellprice_$j"} -# $form->{"soldtotal_$j"} +# $form->{"partnumber_$j"} +# $form->{"description_$j"} +# $form->{"unit_$j"} +# $form->{"sellprice_$j"} +# $form->{"soldtotal_$j"} # # -# |; +# |; # } # # print qq| @@ -1241,6 +1241,13 @@ sub generate_report { 'column_defs' => \%column_defs, 'data' => $form->{parts}); + CVar->add_custom_variables_to_report('module' => 'IC', + 'sub_module' => sub { $_[0]->{ioi} }, + 'trans_id_field' => 'ioi_id', + 'configs' => $cvar_configs, + 'column_defs' => \%column_defs, + 'data' => $form->{parts}); + my @subtotal_columns = qw(sellprice listprice lastcost); my %subtotals = map { $_ => 0 } ('onhand', @subtotal_columns); my %totals = map { $_ => 0 } @subtotal_columns; @@ -1294,7 +1301,7 @@ sub generate_report { # set module stuff if ($ref->{module} eq 'oe') { - my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{customer_id} ne '' ? 'sales_order' : 'purchase_order'), 'id=' . E($ref->{trans_id}), 'callback'); + my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{cv} eq 'vendor' ? 'purchase_order' : 'sales_order'), 'id=' . E($ref->{trans_id}), 'callback'); $row->{ordnumber}{link} = $edit_oe_link; $row->{quonumber}{link} = $edit_oe_link if (!$ref->{ordnumber}); @@ -1538,7 +1545,8 @@ sub form_header { $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'IC', 'trans_id' => $form->{id}); - CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}) if (scalar @{ $form->{CUSTOM_VARIABLES} }); + CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}, show_disabled_message => 1) + if (scalar @{ $form->{CUSTOM_VARIABLES} }); $form->header; #print $form->parse_html_template('ic/form_header', { ALL_PRICE_FACTORS => $form->{ALL_PRICE_FACTORS}, @@ -1753,13 +1761,8 @@ sub save { # check if there is a description $form->isblank("description", $locale->text("Part Description missing!")); - if ($form->{obsolete}) { - $form->error( - $locale->text( - "Inventory quantity must be zero before you can set this $form->{item} obsolete!" - )) - if ($form->{onhand} * 1); - } + $form->error($locale->text("Inventory quantity must be zero before you can set this $form->{item} obsolete!")) + if $form->{obsolete} && $form->{onhand} * 1 && $form->{item} ne 'service'; if (!$form->{buchungsgruppen_id}) { $form->error($locale->text("Parts must have an entry type.") . " " . @@ -1778,8 +1781,8 @@ sub save { # saving the history if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; - $form->{addition} = "SAVED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history $parts_id = $form->{id}; @@ -1911,8 +1914,8 @@ sub save_as_new { # saving the history if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; - $form->{addition} = "SAVED AS NEW"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->{addition} = "SAVED AS NEW"; + $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history $form->{id} = 0; @@ -1932,8 +1935,8 @@ sub delete { # saving the history if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; - $form->{addition} = "DELETED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->{addition} = "DELETED"; + $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history my $rc = IC->delete(\%myconfig, \%$form); @@ -2007,4 +2010,23 @@ sub parts_language_selection { $lxdebug->leave_sub(); } +sub ajax_autocomplete { + $main::lxdebug->enter_sub(); + + my $form = $main::form; + my %myconfig = %main::myconfig; + + $form->{column} = 'description' unless $form->{column} =~ /^partnumber|description$/; + $form->{$form->{column}} = $form->{q} || ''; + $form->{limit} = ($form->{limit} * 1) || 10; + $form->{searchitems} ||= ''; + + my @results = IC->all_parts(\%myconfig, $form); + + print $form->ajax_response_header(), + $form->parse_html_template('ic/ajax_autocomplete'); + + $main::lxdebug->leave_sub(); +} + sub continue { call_sub($form->{"nextsub"}); }