#use SL::PE;
-# use strict;
+use strict;
#use warnings;
# global imports
# <th class=listtop colspan=6>| . $locale->text('choice part') . qq|</th>
# </tr>
# <tr height="5"></tr>
-# <tr class=listheading>
-# <th> </th>
-# <th class=listheading>| . $locale->text('Part Number') . qq|</th>
-# <th class=listheading>| . $locale->text('Part Description') . qq|</th>
-# <th class=listheading>| . $locale->text('Unit of measure') . qq|</th>
-# <th class=listheading>| . $locale->text('Sell Price') . qq|</th>
-# <th class=listheading>| . $locale->text('soldtotal') . qq|</th>
-# </tr>|;
+# <tr class=listheading>
+# <th> </th>
+# <th class=listheading>| . $locale->text('Part Number') . qq|</th>
+# <th class=listheading>| . $locale->text('Part Description') . qq|</th>
+# <th class=listheading>| . $locale->text('Unit of measure') . qq|</th>
+# <th class=listheading>| . $locale->text('Sell Price') . qq|</th>
+# <th class=listheading>| . $locale->text('soldtotal') . qq|</th>
+# </tr>|;
#
# my $j = 0;
# my $i = $form->{rows};
# <tr class=listrow| . ($j % 2) . qq|>|;
# if ($j == 1) {
# print qq|
-# <td><input name=ndx class=radio type=radio value=$j checked></td>|;
+# <td><input name=ndx class=radio type=radio value=$j checked></td>|;
# } else {
# print qq|
-# <td><input name=ndx class=radio type=radio value=$j></td>|;
+# <td><input name=ndx class=radio type=radio value=$j></td>|;
# }
# print qq|
-# <td><input name="new_partnumber_$j" type=hidden value="$form->{"partnumber_$j"}">$form->{"partnumber_$j"}</td>
-# <td><input name="new_description_$j" type=hidden value="$form->{"description_$j"}">$form->{"description_$j"}</td>
-# <td><input name="new_unit_$j" type=hidden value="$form->{"unit_$j"}">$form->{"unit_$j"}</td>
-# <td><input name="new_sellprice_$j" type=hidden value="$form->{"sellprice_$j"}">$form->{"sellprice_$j"}</td>
-# <td><input name="new_soldtotal_$j" type=hidden value="$form->{"soldtotal_$j"}">$form->{"soldtotal_$j"}</td>
+# <td><input name="new_partnumber_$j" type=hidden value="$form->{"partnumber_$j"}">$form->{"partnumber_$j"}</td>
+# <td><input name="new_description_$j" type=hidden value="$form->{"description_$j"}">$form->{"description_$j"}</td>
+# <td><input name="new_unit_$j" type=hidden value="$form->{"unit_$j"}">$form->{"unit_$j"}</td>
+# <td><input name="new_sellprice_$j" type=hidden value="$form->{"sellprice_$j"}">$form->{"sellprice_$j"}</td>
+# <td><input name="new_soldtotal_$j" type=hidden value="$form->{"soldtotal_$j"}">$form->{"soldtotal_$j"}</td>
# </tr>
#
-# <input name="new_id_$j" type=hidden value="$form->{"id_$j"}">|;
+# <input name="new_id_$j" type=hidden value="$form->{"id_$j"}">|;
# }
#
# print qq|
$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};
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);
}
# 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};
if ($form->{l_linetotal}) {
$form->{l_onhand} = "Y";
$form->{l_linetotalsellprice} = "Y" if $form->{l_sellprice};
- if ($form->{l_lastcost}) {
- $form->{l_linetotallastcost} = "Y";
- if (($form->{searchitems} eq 'assembly') && !$form->{bom}) {
- $form->{l_linetotallastcost} = "";
- }
- }
+ $form->{l_linetotallastcost} = $form->{searchitems} eq 'assembly' && !$form->{bom} ? "" : 'Y' if $form->{l_lastcost};
$form->{l_linetotallistprice} = "Y" if $form->{l_listprice};
}
IC->all_parts(\%myconfig, \%$form);
- my @columns =
- qw(partnumber description partsgroup bin onhand rop unit listprice linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost
- priceupdate weight image drawing microfiche invnumber ordnumber quonumber name serialnumber soldtotal deliverydate);
+ my @columns = qw(
+ 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 ean
+ );
my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
my @searchable_custom_variables = grep { $_->{searchable} } @{ $cvar_configs };
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'), },
- '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);
$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},
# 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};
$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;
# 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;
# 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);
$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"}); }