X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fic.pl;h=f11fad9a88b108659d6494fd3919b4279305434f;hb=2394dc67bf4994673afcec18ea3c2e1aaed787f5;hp=fdd7a822d2072257f1c9b3a6d6823b4f980a69d0;hpb=5067d7bd31514962af9730b33323b831d87164f8;p=kivitendo-erp.git
diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl
index fdd7a822d..f11fad9a8 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);
@@ -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} .= "