X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fic.pl;h=24a2754128b61085aad0e955e05b0854f605d37c;hb=70539eb46c15dd0cb8e7965cc5090c90510ff18d;hp=fdd7a822d2072257f1c9b3a6d6823b4f980a69d0;hpb=5067d7bd31514962af9730b33323b831d87164f8;p=kivitendo-erp.git diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl index fdd7a822d..24a275412 100644 --- a/bin/mozilla/ic.pl +++ b/bin/mozilla/ic.pl @@ -24,7 +24,8 @@ # 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. #====================================================================== # # Inventory Control module @@ -74,23 +75,6 @@ require "bin/mozilla/reportgenerator.pl"; # end of main -sub add { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_edit'); - - my $title = 'Add ' . ucfirst $form->{part_type}; - $form->{title} = $locale->text($title); - $form->{callback} = "$form->{script}?action=add&part_type=$form->{part_type}" unless $form->{callback}; - $form->{unit_changeable} = 1; - - IC->get_pricegroups(\%myconfig, \%$form); - &link_part; - &display_form; - - $lxdebug->leave_sub(); -} - sub search { $lxdebug->enter_sub(); @@ -100,9 +84,6 @@ sub search { $form->{lastsort} = ""; # memory for which table was sort at last time $form->{ndxs_counter} = 0; # counter for added entries to top100 - # for seach all possibibilities, is_service only used as UNLESS so == 0 - my %is_xyz = ("is_part" => 1, "is_service" => 0, "is_assembly" =>1 ); - $form->{title} = (ucfirst $form->{searchitems}) . "s"; $form->{title} =~ s/ys$/ies/; $form->{title} = $locale->text($form->{title}); @@ -113,91 +94,15 @@ sub search { 'include_prefix' => 'l_', 'include_value' => 'Y'); + setup_ic_search_action_bar(); $form->header; $form->get_lists('partsgroup' => 'ALL_PARTSGROUPS'); - print $form->parse_html_template('ic/search', { %is_xyz, }); - - $lxdebug->leave_sub(); -} #end search() - -sub search_update_prices { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_edit'); - - my $pricegroups = IC->get_pricegroups(\%myconfig, \%$form); - - $form->{title} = $locale->text('Update Prices'); - - $form->header; - - print $form->parse_html_template('ic/search_update_prices', { PRICE_ROWS => $pricegroups }); + print $form->parse_html_template('ic/search'); $lxdebug->leave_sub(); } #end search() -sub confirm_price_update { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_edit'); - - my @errors = (); - my $value_found = undef; - - foreach my $idx (qw(sellprice listprice), (1..$form->{price_rows})) { - my $name = $idx =~ m/\d/ ? $form->{"pricegroup_${idx}"} : $idx eq 'sellprice' ? $locale->text('Sell Price') : $locale->text('List Price'); - my $type = $idx =~ m/\d/ ? $form->{"pricegroup_type_${idx}"} : $form->{"${idx}_type"}; - my $value_idx = $idx =~ m/\d/ ? "price_${idx}" : $idx; - my $value = $form->parse_amount(\%myconfig, $form->{$value_idx}); - - if ((0 > $value) && ($type eq 'percent')) { - push @errors, $locale->text('You cannot adjust the price for pricegroup "#1" by a negative percentage.', $name); - - } elsif (!$value && ($form->{$value_idx} ne '')) { - push @errors, $locale->text('No valid number entered for pricegroup "#1".', $name); - - } elsif (0 < $value) { - $value_found = 1; - } - } - - push @errors, $locale->text('No prices will be updated because no prices have been entered.') if (!$value_found); - - my $num_matches = IC->get_num_matches_for_priceupdate(); - - $form->header(); - - if (@errors) { - $form->show_generic_error(join('
', @errors), 'back_button' => 1); - } - - $form->{nextsub} = "update_prices"; - - map { delete $form->{$_} } qw(action header); - - print $form->parse_html_template('ic/confirm_price_update', { HIDDENS => [ map { name => $_, value => $form->{$_} }, keys %$form ], - num_matches => $num_matches }); - - $lxdebug->leave_sub(); -} - -sub update_prices { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_edit'); - - my $num_updated = IC->update_prices(\%myconfig, \%$form); - - if (-1 != $num_updated) { - $form->redirect($locale->text('#1 prices were updated.', $num_updated)); - } else { - $form->error($locale->text('Could not update prices!')); - } - - $lxdebug->leave_sub(); -} - sub top100 { $::lxdebug->enter_sub(); @@ -259,15 +164,7 @@ sub generate_report { my $cvar_configs = CVar->get_configs('module' => 'IC'); - my %titles = ( - '' => $locale->text('Articles'), - part => $locale->text('Parts'), - service => $locale->text('Services'), - assembly => $locale->text('Assemblies'), - assortment => $locale->text('Assortments'), - ); - - $form->{title} = $titles{$form->{searchitems}}; + $form->{title} = $locale->text('Articles'); my %column_defs = ( 'bin' => { 'text' => $locale->text('Bin'), }, @@ -289,7 +186,7 @@ sub generate_report { 'onhand' => { 'text' => $locale->text('Stocked Qty'), }, 'ordnumber' => { 'text' => $locale->text('Order Number'), }, 'partnumber' => { 'text' => $locale->text('Part Number'), }, - 'partsgroup' => { 'text' => $locale->text('Group'), }, + 'partsgroup' => { 'text' => $locale->text('Partsgroup'), }, 'priceupdate' => { 'text' => $locale->text('Updated'), }, 'quonumber' => { 'text' => $locale->text('Quotation'), }, 'rop' => { 'text' => $locale->text('ROP'), }, @@ -297,7 +194,7 @@ sub generate_report { 'serialnumber' => { 'text' => $locale->text('Serial Number'), }, 'soldtotal' => { 'text' => $locale->text('Qty in Selected Records'), }, 'name' => { 'text' => $locale->text('Name in Selected Records'), }, - 'transdate' => { 'text' => $locale->text('Transdate'), }, + 'transdate' => { 'text' => $locale->text('Transdate Record'), }, 'unit' => { 'text' => $locale->text('Unit'), }, 'weight' => { 'text' => $locale->text('Weight'), }, 'shop' => { 'text' => $locale->text('Shop article'), }, @@ -376,8 +273,8 @@ sub generate_report { transdatefrom => $locale->text('From') . " " . $locale->date(\%myconfig, $form->{transdatefrom}, 1), transdateto => $locale->text('To (time)') . " " . $locale->date(\%myconfig, $form->{transdateto}, 1), partnumber => $locale->text('Part Number') . ": '$form->{partnumber}'", - partsgroup => $locale->text('Group') . ": '$form->{partsgroup}'", - partsgroup_id => $locale->text('Group') . ": '$pg_name'", + partsgroup => $locale->text('Partsgroup') . ": '$form->{partsgroup}'", + partsgroup_id => $locale->text('Partsgroup') . ": '$pg_name'", serialnumber => $locale->text('Serial Number') . ": '$form->{serialnumber}'", description => $locale->text('Part Description') . ": '$form->{description}'", make => $locale->text('Make') . ": '$form->{make}'", @@ -428,7 +325,7 @@ sub generate_report { } $form->{"l_type_and_classific"} = "Y"; - if ($form->{l_service} && !$form->{l_assembly} && !$form->{l_part}) { + if ($form->{l_service} && !$form->{l_assembly} && !$form->{l_part}) { # remove bin, weight and rop from list map { $form->{"l_$_"} = "" } qw(bin weight rop); @@ -508,7 +405,7 @@ sub generate_report { my @hidden_variables = ( qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups insertdatefrom insertdateto), - qw(l_type_and_classific classification_id), + qw(l_type_and_classific classification_id l_part l_service l_assembly l_assortment), @itemstatus_keys, @callback_keys, map({ "cvar_$_->{name}" } @searchable_custom_variables), @@ -539,7 +436,8 @@ sub generate_report { ); $report->set_options('raw_top_info_text' => $form->parse_html_template('ic/generate_report_top', { options => \@options }), - 'raw_bottom_info_text' => $form->parse_html_template('ic/generate_report_bottom'), + 'raw_bottom_info_text' => $form->parse_html_template('ic/generate_report_bottom' , + { PART_CLASSIFICATIONS => SL::DB::Manager::PartClassification->get_all_sorted }), 'output_format' => 'HTML', 'title' => $form->{title}, 'attachment_basename' => 'article_list' . strftime('_%Y%m%d', localtime time), @@ -689,743 +587,58 @@ sub generate_report { $report->add_data($row); } + setup_ic_generate_report_action_bar(); $report->generate_with_headers(); $lxdebug->leave_sub(); } #end generate_report -sub parts_subtotal { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_edit'); - - my (%column_data); - my ($column_index, $subtotalonhand, $subtotalsellprice, $subtotallastcost, $subtotallistprice) = @_; - - map { $column_data{$_} = " " } @{ $column_index }; - $$subtotalonhand = 0 if ($form->{l_assembly} && $form->{bom}); - - $column_data{onhand} = - "" - . $form->format_amount(\%myconfig, $$subtotalonhand) - . ""; - - $column_data{linetotalsellprice} = - "" - . $form->format_amount(\%myconfig, $$subtotalsellprice, 2) - . ""; - $column_data{linetotallistprice} = - "" - . $form->format_amount(\%myconfig, $$subtotallistprice, 2) - . ""; - $column_data{linetotallastcost} = - "" - . $form->format_amount(\%myconfig, $$subtotallastcost, 2) - . ""; - - $$subtotalonhand = 0; - $$subtotalsellprice = 0; - $$subtotallistprice = 0; - $$subtotallastcost = 0; - - print ""; - - map { print "\n$column_data{$_}" } @{ $column_index }; - - print qq| - -|; - - $lxdebug->leave_sub(); -} - -sub edit { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_details'); - - # show history button - $form->{javascript} = qq||; - #/show hhistory button - IC->get_part(\%myconfig, \%$form); - - $form->{"original_partnumber"} = $form->{"partnumber"}; - - my $title = 'Edit ' . ucfirst $form->{part_type}; - $form->{title} = $locale->text($title); - - &link_part; - &display_form; - - $lxdebug->leave_sub(); -} - -sub link_part { - $lxdebug->enter_sub(); - - $auth->assert('part_service_assembly_details'); - - IC->create_links("IC", \%myconfig, \%$form); - - # currencies - map({ $form->{selectcurrency} .= "