X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fic.pl;h=d83d40942d7bddcfebe9ae9566e4f445c2daf60d;hb=02e1cec838a274a87b1a1c69f9c07d2c86ce4127;hp=b29daa63c57d9bbf0044263886ba49c2491408fb;hpb=f42b8272a31219ff145eafb007874b520c1fc3eb;p=kivitendo-erp.git diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl index b29daa63c..d83d40942 100644 --- a/bin/mozilla/ic.pl +++ b/bin/mozilla/ic.pl @@ -78,7 +78,8 @@ sub add { $auth->assert('part_service_assembly_edit'); - $form->{title} = $locale->text('Add ' . ucfirst $form->{item}); + my $title = 'Add ' . ucfirst $form->{item}; + $form->{title} = $locale->text($title); $form->{callback} = "$form->{script}?action=add&item=$form->{item}" unless $form->{callback}; $form->{unit_changeable} = 1; @@ -127,6 +128,8 @@ sub search_update_prices { 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 }); @@ -789,7 +792,7 @@ sub addtop100 { if ($form->{l_subtotal} eq 'Y' && !$ref->{assemblyitem}) { if ($sameitem ne $ref->{ $form->{sort} }) { - &parts_subtotal; + parts_subtotal(\@column_index, \$subtotalonhand, \$subtotalsellprice, \$subtotallastcost, \$subtotallistprice); $sameitem = $ref->{ $form->{sort} }; } } @@ -912,7 +915,7 @@ sub addtop100 { } if ($form->{l_subtotal} eq 'Y') { - &parts_subtotal; + parts_subtotal(\@column_index, \$subtotalonhand, \$subtotalsellprice, \$subtotallastcost, \$subtotallistprice); } #fi if ($form->{"l_linetotal"}) { @@ -1023,6 +1026,35 @@ sub generate_report { $form->{title} =~ s/ys$/ies/; $form->{title} = $locale->text($form->{title}); + my %column_defs = ( + 'bin' => { 'text' => $locale->text('Bin'), }, + 'deliverydate' => { 'text' => $locale->text('deliverydate'), }, + 'description' => { 'text' => $locale->text('Part Description'), }, + 'drawing' => { 'text' => $locale->text('Drawing'), }, + 'image' => { 'text' => $locale->text('Image'), }, + 'invnumber' => { 'text' => $locale->text('Invoice Number'), }, + 'lastcost' => { 'text' => $locale->text('Last Cost'), }, + 'linetotallastcost' => { 'text' => $locale->text('Extended'), }, + 'linetotallistprice' => { 'text' => $locale->text('Extended'), }, + 'linetotalsellprice' => { 'text' => $locale->text('Extended'), }, + 'listprice' => { 'text' => $locale->text('List Price'), }, + 'microfiche' => { 'text' => $locale->text('Microfiche'), }, + 'name' => { 'text' => $locale->text('Name'), }, + 'onhand' => { 'text' => $locale->text('Qty'), }, + 'ordnumber' => { 'text' => $locale->text('Order Number'), }, + 'partnumber' => { 'text' => $locale->text('Part Number'), }, + 'partsgroup' => { 'text' => $locale->text('Group'), }, + 'priceupdate' => { 'text' => $locale->text('Updated'), }, + 'quonumber' => { 'text' => $locale->text('Quotation'), }, + 'rop' => { 'text' => $locale->text('ROP'), }, + 'sellprice' => { 'text' => $locale->text('Sell Price'), }, + 'serialnumber' => { 'text' => $locale->text('Serial Number'), }, + 'soldtotal' => { 'text' => $locale->text('soldtotal'), }, + 'transdate' => { 'text' => $locale->text('Transdate'), }, + 'unit' => { 'text' => $locale->text('Unit'), }, + 'weight' => { 'text' => $locale->text('Weight'), }, + ); + $revers = $form->{revers}; $lastsort = $form->{lastsort}; @@ -1094,6 +1126,7 @@ sub generate_report { drawing => $locale->text('Drawing') . ": '$form->{drawing}'", microfiche => $locale->text('Microfiche') . ": '$form->{microfiche}'", l_soldtotal => $locale->text('soldtotal'), + ean => $locale->text('EAN') . ": '$form->{ean}'", ); my @itemstatus_keys = qw(active obsolete orphaned onhand short); @@ -1114,7 +1147,12 @@ sub generate_report { } # special case for lastcost - $form->{l_lastcost} = "" if $form->{ledgerchecks}; + if ($form->{ledgerchecks}){ + # ledgerchecks don't know about sellprice or lastcost. they just return a + # price. so rename sellprice to price, and drop lastcost. + $column_defs{sellprice}{text} = $locale->text('Price'); + $form->{l_lastcost} = "" + } if ($form->{description}) { $description = $form->{description}; @@ -1155,7 +1193,7 @@ sub generate_report { partnumber description partsgroup bin onhand rop unit listprice linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost priceupdate weight image drawing microfiche invnumber ordnumber quonumber - transdate name serialnumber soldtotal deliverydate + transdate name serialnumber soldtotal deliverydate ean ); my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs }; @@ -1164,37 +1202,8 @@ sub generate_report { push @columns, map { "cvar_$_->{name}" } @includeable_custom_variables; - my %column_defs = ( - 'bin' => { 'text' => $locale->text('Bin'), }, - 'deliverydate' => { 'text' => $locale->text('deliverydate'), }, - 'description' => { 'text' => $locale->text('Part Description'), }, - 'drawing' => { 'text' => $locale->text('Drawing'), }, - 'image' => { 'text' => $locale->text('Image'), }, - 'invnumber' => { 'text' => $locale->text('Invoice Number'), }, - 'lastcost' => { 'text' => $locale->text('Last Cost'), }, - 'linetotallastcost' => { 'text' => $locale->text('Extended'), }, - 'linetotallistprice' => { 'text' => $locale->text('Extended'), }, - 'linetotalsellprice' => { 'text' => $locale->text('Extended'), }, - 'listprice' => { 'text' => $locale->text('List Price'), }, - 'microfiche' => { 'text' => $locale->text('Microfiche'), }, - 'name' => { 'text' => $locale->text('Name'), }, - 'onhand' => { 'text' => $locale->text('Qty'), }, - 'ordnumber' => { 'text' => $locale->text('Order Number'), }, - 'partnumber' => { 'text' => $locale->text('Part Number'), }, - 'partsgroup' => { 'text' => $locale->text('Group'), }, - 'priceupdate' => { 'text' => $locale->text('Updated'), }, - 'quonumber' => { 'text' => $locale->text('Quotation'), }, - 'rop' => { 'text' => $locale->text('ROP'), }, - 'sellprice' => { 'text' => $locale->text('Sell Price'), }, - 'serialnumber' => { 'text' => $locale->text('Serial Number'), }, - 'soldtotal' => { 'text' => $locale->text('soldtotal'), }, - 'transdate' => { 'text' => $locale->text('Transdate'), }, - 'unit' => { 'text' => $locale->text('Unit'), }, - 'weight' => { 'text' => $locale->text('Weight'), }, - %column_defs_cvars, - ); - - map { $column_defs{$_}->{visible} = $form->{"l_$_"} ? 1 : 0 } @columns; + %column_defs = (%column_defs,%column_defs_cvars); # nochmal die cvars als überschrift hinzufügen + map { $column_defs{$_}->{visible} = $form->{"l_$_"} ? 1 : 0 } @columns; map { $column_defs{$_}->{align} = 'right' } qw(onhand sellprice listprice lastcost linetotalsellprice linetotallastcost linetotallistprice rop weight soldtotal); my @hidden_variables = (qw(l_subtotal l_linetotal searchitems itemstatus bom), @itemstatus_keys, @callback_keys, @searchable_custom_variables, map { "l_$_" } @columns); @@ -1226,6 +1235,7 @@ sub generate_report { 'attachment_basename' => $attachment_basenames{$form->{searchitems}} . strftime('_%Y%m%d', localtime time), ); $report->set_options_from_form(); + $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv'; $report->set_columns(%column_defs); $report->set_column_order(@columns); @@ -1359,39 +1369,38 @@ sub parts_subtotal { $auth->assert('part_service_assembly_edit'); - # imports - our (%column_data, @column_index); - our ($subtotalonhand, $totalsellprice, $totallastcost, $totallistprice, $subtotalsellprice, $subtotallastcost, $subtotallistprice); + my (%column_data); + my ($column_index, $subtotalonhand, $subtotalsellprice, $subtotallastcost, $subtotallistprice) = @_; - map { $column_data{$_} = " " } @column_index; - $subtotalonhand = 0 if ($form->{searchitems} eq 'assembly' && $form->{bom}); + map { $column_data{$_} = " " } @{ $column_index }; + $$subtotalonhand = 0 if ($form->{searchitems} eq 'assembly' && $form->{bom}); $column_data{onhand} = "" - . $form->format_amount(\%myconfig, $subtotalonhand) + . $form->format_amount(\%myconfig, $$subtotalonhand) . ""; $column_data{linetotalsellprice} = "" - . $form->format_amount(\%myconfig, $subtotalsellprice, 2) + . $form->format_amount(\%myconfig, $$subtotalsellprice, 2) . ""; $column_data{linetotallistprice} = "" - . $form->format_amount(\%myconfig, $subtotallistprice, 2) + . $form->format_amount(\%myconfig, $$subtotallistprice, 2) . ""; $column_data{linetotallastcost} = "" - . $form->format_amount(\%myconfig, $subtotallastcost, 2) + . $form->format_amount(\%myconfig, $$subtotallastcost, 2) . ""; - $subtotalonhand = 0; - $subtotalsellprice = 0; - $subtotallistprice = 0; - $subtotallastcost = 0; + $$subtotalonhand = 0; + $$subtotalsellprice = 0; + $$subtotallistprice = 0; + $$subtotallastcost = 0; print ""; - map { print "\n$column_data{$_}" } @column_index; + map { print "\n$column_data{$_}" } @{ $column_index }; print qq| @@ -1412,7 +1421,8 @@ sub edit { $form->{"original_partnumber"} = $form->{"partnumber"}; - $form->{title} = $locale->text('Edit ' . ucfirst $form->{item}); + my $title = 'Edit ' . ucfirst $form->{item}; + $form->{title} = $locale->text($title); &link_part; &display_form; @@ -1570,8 +1580,8 @@ sub form_footer { sub makemodel_row { $lxdebug->enter_sub(); my ($numrows) = @_; - - my @mm_data = grep { any { $_ ne '' } @$_{qw(make model)} } map +{ make => $form->{"make_$_"}, model => $form->{"model_$_"} }, 1 .. $numrows; + #hli + my @mm_data = grep { any { $_ ne '' } @$_{qw(make model)} } map +{ make => $form->{"make_$_"}, model => $form->{"model_$_"}, lastcost => $form->{"lastcost_$_"}, lastupdate => $form->{"lastupdate_$_"}, sortorder => $form->{"sortorder_$_"} }, 1 .. $numrows; delete @{$form}{grep { m/^make_\d+/ || m/^model_\d+/ } keys %{ $form }}; print $form->parse_html_template('ic/makemodel', { MM_DATA => [ @mm_data, {} ], mm_rows => scalar @mm_data + 1 }); @@ -1584,8 +1594,6 @@ sub assembly_row { my (@column_index); my ($nochange, $callback, $previousform, $linetotal, $line_purchase_price, $href); - our ($deliverydate); # ToDO: check if this indeed comes from global context - @column_index = qw(runningnumber qty unit bom partnumber description partsgroup lastcost total); if ($form->{previousform}) { @@ -1673,7 +1681,6 @@ sub assembly_row { $row{lastcost}{data} = $line_purchase_price; $row{total}{data} = $linetotal; - $row{deliverydate}{data} = $deliverydate; $row{lastcost}{align} = 'right'; $row{total}{align} = 'right'; $row{deliverydate}{align} = 'right'; @@ -1717,7 +1724,7 @@ sub update { if ($rows > 1) { $form->{makemodel_rows}--; &select_item; - exit; + ::end_of_request(); } else { map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit partsgroup); @@ -1781,7 +1788,7 @@ sub save { if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; $form->{addition} = "SAVED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history $parts_id = $form->{id}; @@ -1865,7 +1872,7 @@ sub save { $form->{creditremaining} -= $amount; # redo number formatting, because invoice parse them! - map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}) } qw(weight listprice sellprice rop); + map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}) } qw(weight listprice sellprice lastcost rop); } $form->{"id_$i"} = $parts_id; @@ -1914,7 +1921,7 @@ sub save_as_new { if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; $form->{addition} = "SAVED AS NEW"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history $form->{id} = 0; @@ -1935,7 +1942,7 @@ sub delete { if(!exists $form->{addition}) { $form->{snumbers} = qq|partnumber_| . $form->{partnumber}; $form->{addition} = "DELETED"; - $form->save_history($form->dbconnect(\%myconfig)); + $form->save_history; } # /saving the history my $rc = IC->delete(\%myconfig, \%$form); @@ -1970,8 +1977,6 @@ sub parts_language_selection { $auth->assert('part_service_assembly_edit'); - our ($onload, $callback); - my $languages = IC->retrieve_languages(\%myconfig, $form); if ($form->{language_values} ne "") { @@ -1996,15 +2001,13 @@ sub parts_language_selection { my @header = map(+{ "column_title" => $header_title{$_}, "column" => $_, - "callback" => $callback, }, @header_sort); $form->{"title"} = $locale->text("Language Values"); $form->header(); print $form->parse_html_template("ic/parts_language_selection", { "HEADER" => \@header, - "LANGUAGES" => $languages, - "onload" => $onload }); + "LANGUAGES" => $languages, }); $lxdebug->leave_sub(); }