-require "$form->{path}/io.pl";
-
-1;
-
-# end of main
-
-sub add {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text('Add ' . ucfirst $form->{item});
-
- $form->{callback} =
- "$form->{script}?action=add&item=$form->{item}&path=$form->{path}&login=$form->{login}&password=$form->{password}"
- unless $form->{callback};
-
- $form->{"unit_changeable"} = 1;
-
- IC->get_pricegroups(\%myconfig, \%$form);
- &link_part;
- &display_form;
-
- $lxdebug->leave_sub();
-}
-
-sub search {
- $lxdebug->enter_sub();
-
- $form->{title} = (ucfirst $form->{searchitems}) . "s";
- $form->{title} = $locale->text($form->{title});
-
- # switch for backward sorting
- $form->{revers} = 0;
-
- # memory for which table was sort at last time
- $form->{lastsort} = "";
-
- # counter for added entries to top100
- $form->{ndxs_counter} = 0;
-
- # $locale->text('Parts')
- # $locale->text('Services')
-
- # use JavaScript Calendar or not
- $form->{jsscript} = $jscalendar;
- $jsscript = "";
- if ($form->{jsscript}) {
-
- # with JavaScript Calendar
- $button1 = qq|
- <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>
- <td><input type=button name=transdatefrom id="trigger1" value=|
- . $locale->text('button') . qq|></td>
- |;
- $button2 = qq|
- <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>
- <td><input type=button name=transdateto name=transdateto id="trigger2" value=|
- . $locale->text('button') . qq|></td>
- |;
-
- #write Trigger
- $jsscript =
- Form->write_trigger(\%myconfig, "2", "transdatefrom", "BL", "trigger1",
- "transdateto", "BL", "trigger2");
- } else {
-
- # without JavaScript Calendar
- $button1 = qq|
- <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>|;
- $button2 = qq|
- <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>|;
- }
-
- unless ($form->{searchitems} eq 'service') {
-
- $onhand = qq|
- <input name=itemstatus class=radio type=radio value=onhand> |
- . $locale->text('On Hand') . qq|
- <input name=itemstatus class=radio type=radio value=short> |
- . $locale->text('Short') . qq|
-|;
-
- $makemodel = qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Make') . qq|</th>
- <td><input name=make size=20></td>
- <th align=right nowrap>| . $locale->text('Model') . qq|</th>
- <td><input name=model size=20></td>
- </tr>
-|;
-
- $serialnumber = qq|
- <th align=right nowrap>| . $locale->text('Serial Number') . qq|</th>
- <td><input name=serialnumber size=20></td>
-|;
-
- $l_serialnumber = qq|
- <td><input name=l_serialnumber class=checkbox type=checkbox value=Y> |
- . $locale->text('Serial Number') . qq|</td>
-|;
-
- }
-
- if ($form->{searchitems} eq 'assembly') {
-
- $form->{title} = $locale->text('Assemblies');
-
- $toplevel = qq|
- <tr>
- <td></td>
- <td colspan=3>
- <input name=null class=radio type=radio value=1 checked> |
- . $locale->text('Top Level') . qq|
- <input name=bom class=checkbox type=checkbox value=1> |
- . $locale->text('Individual Items') . qq|
- </td>
- </tr>
-|;
-
- $bought = qq|
- <tr>
- <td></td>
- <td colspan=3>
- <table>
- <tr>
- <td>
- <table>
- <tr>
- <td><input name=sold class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Sold') . qq|</td>
- </tr>
- <tr>
- <td colspan=2><hr size=1 noshade></td>
- </tr>
- <tr>
- <td><input name=ordered class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Ordered') . qq|</td>
- </tr>
- <tr>
- <td colspan=4><hr size=1 noshade></td>
- </tr>
- <tr>
- <td><input name=quoted class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Quoted') . qq|</td>
- </tr>
- </table>
- </td>
- <td width=5%> </td>
- <th>| . $locale->text('From') . qq|</th>
- $button1
- <th>| . $locale->text('To') . qq|</th>
- $button2
- </tr>
- </table>
- </td>
- </tr>
-|;
-
- } else {
-
- $bought = qq|
- <tr>
- <td></td>
- <td colspan=3>
- <table>
- <tr>
- <td>
- <table>
- <tr>
- <td><input name=bought class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Bought') . qq|</td>
- <td><input name=sold class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Sold') . qq|</td>
- </tr>
- <tr>
- <td colspan=4><hr size=1 noshade></td>
- </tr>
- <tr>
- <td><input name=onorder class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('On Order') . qq|</td>
- <td><input name=ordered class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Ordered') . qq|</td>
- </tr>
- <tr>
- <td colspan=4><hr size=1 noshade></td>
- </tr>
- <tr>
- <td><input name=rfq class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('RFQ') . qq|</td>
- <td><input name=quoted class=checkbox type=checkbox value=1></td>
- <td nowrap>| . $locale->text('Quoted') . qq|</td>
- </tr>
- </table>
- </td>
- <td width=5%> </td>
- <td>
- <table>
- <tr>
- <th>| . $locale->text('From') . qq|</th>
- $button1
- <th>| . $locale->text('To') . qq|</th>
- $button2
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
-|;
- }
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=searchitems value=$form->{searchitems}>
-<input type=hidden name=title value="$form->{title}">
-
-<input type=hidden name=revers value="$form->{revers}">
-<input type=hidden name=lastsort value="$form->{lastsort}">
-
-<table width="100%">
- <tr><th class=listtop>$form->{title}</th></tr>
- <tr height="5"></tr>
- <tr valign=top>
- <td>
- <table>
- <tr>
- <th align=right nowrap>| . $locale->text('Part Number') . qq|</th>
- <td><input name=partnumber size=20></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Part Description') . qq|</th>
- <td colspan=3><input name=description size=40></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Group') . qq|</th>
- <td><input name=partsgroup size=20></td>
- $serialnumber
- </tr>
- $makemodel
- <tr>
- <th align=right nowrap>| . $locale->text('Drawing') . qq|</th>
- <td><input name=drawing size=20></td>
- <th align=right nowrap>| . $locale->text('Microfiche') . qq|</th>
- <td><input name=microfiche size=20></td>
- </tr>
- $toplevel
- <tr>
- <td></td>
- <td colspan=3>
- <input name=itemstatus class=radio type=radio value=active checked> |
- . $locale->text('Active') . qq|
- $onhand
- <input name=itemstatus class=radio type=radio value=obsolete> |
- . $locale->text('Obsolete') . qq|
- <input name=itemstatus class=radio type=radio value=orphaned> |
- . $locale->text('Orphaned') . qq|
- </td>
- </tr>
- $bought
- <tr>
- <td></td>
- <td colspan=3>
- <hr size=1 noshade>
- </td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Include in Report') . qq|</th>
- <td colspan=3>
- <table>
- <tr>
- <td><input name=l_partnumber class=checkbox type=checkbox value=Y> |
- . $locale->text('Part Number') . qq|</td>
- <td><input name=l_description class=checkbox type=checkbox value=Y checked> |
- . $locale->text('Part Description') . qq|</td>
- $l_serialnumber
- <td><input name=l_unit class=checkbox type=checkbox value=Y checked> |
- . $locale->text('Unit of measure') . qq|</td>
- </tr>
- <tr>
- <td><input name=l_listprice class=checkbox type=checkbox value=Y> |
- . $locale->text('List Price') . qq|</td>
- <td><input name=l_sellprice class=checkbox type=checkbox value=Y checked> |
- . $locale->text('Sell Price') . qq|</td>
- <td><input name=l_lastcost class=checkbox type=checkbox value=Y checked> |
- . $locale->text('Last Cost') . qq|</td>
- <td><input name=l_linetotal class=checkbox type=checkbox value=Y checked> |
- . $locale->text('Line Total') . qq|</td>
- </tr>
- <tr>
- <td><input name=l_priceupdate class=checkbox type=checkbox value=Y> |
- . $locale->text('Updated') . qq|</td>
- <td><input name=l_bin class=checkbox type=checkbox value=Y> |
- . $locale->text('Bin') . qq|</td>
- <td><input name=l_rop class=checkbox type=checkbox value=Y> |
- . $locale->text('ROP') . qq|</td>
- <td><input name=l_weight class=checkbox type=checkbox value=Y> |
- . $locale->text('Weight') . qq|</td>
- </tr>
- <tr>
- <td><input name=l_image class=checkbox type=checkbox value=Y> |
- . $locale->text('Image') . qq|</td>
- <td><input name=l_drawing class=checkbox type=checkbox value=Y> |
- . $locale->text('Drawing') . qq|</td>
- <td><input name=l_microfiche class=checkbox type=checkbox value=Y> |
- . $locale->text('Microfiche') . qq|</td>
- <td><input name=l_partsgroup class=checkbox type=checkbox value=Y> |
- . $locale->text('Group') . qq|</td>
- </tr>
- <tr>
- <td><input name=l_subtotal class=checkbox type=checkbox value=Y> |
- . $locale->text('Subtotal') . qq|</td>
- <td><input name=l_soldtotal class=checkbox type=checkbox value=Y> |
- . $locale->text('soldtotal') . qq|</td>
- <td><input name=l_deliverydate class=checkbox type=checkbox value=Y> |
- . $locale->text('deliverydate') . qq|</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td colspan=4><hr size=3 noshade></td></tr>
-</table>
-
-$jsscript
-
-<input type=hidden name=nextsub value=generate_report>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<input type=hidden name=revers value="$form->{revers}">
-<input type=hidden name=lastsort value="$form->{lastsort}">
-<input type=hidden name=sort value="description">
-
-<input type=hidden name=ndxs_counter value="$form->{ndxs_counter}">
-
-<br>
-<input class=submit type=submit name=action value="|
- . $locale->text('Continue') . qq|">
-<input class=submit type=submit name=action value="|
- . $locale->text('TOP100') . qq|">
-</form>
-
-</body>
-</html>
-|;
- $lxdebug->leave_sub();
-} #end search()
-
-
-sub search_update_prices {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text('Update prices');
- IC->get_pricegroups(\%myconfig, \%$form);
-
- # use JavaScript Calendar or not
-# $form->{jsscript} = $jscalendar;
-# $jsscript = "";
-# if ($form->{jsscript}) {
-#
-# # with JavaScript Calendar
-# $button1 = qq|
-# <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>
-# <td><input type=button name=transdatefrom id="trigger1" value=|
-# . $locale->text('button') . qq|></td>
-# |;
-# $button2 = qq|
-# <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>
-# <td><input type=button name=transdateto name=transdateto id="trigger2" value=|
-# . $locale->text('button') . qq|></td>
-# |;
-#
-# #write Trigger
-# $jsscript =
-# Form->write_trigger(\%myconfig, "2", "transdatefrom", "BL", "trigger1",
-# "transdateto", "BL", "trigger2");
-# } else {
-#
-# # without JavaScript Calendar
-# $button1 = qq|
-# <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>|;
-# $button2 = qq|
-# <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>|;
-# }
-
- $onhand = qq|
- <input name=itemstatus class=radio type=radio value=onhand> |
- . $locale->text('On Hand') . qq|
- <input name=itemstatus class=radio type=radio value=short> |
- . $locale->text('Short') . qq|
-|;
-
- $makemodel = qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Make') . qq|</th>
- <td><input name=make size=20></td>
- <th align=right nowrap>| . $locale->text('Model') . qq|</th>
- <td><input name=model size=20></td>
- </tr>
-|;
-
- $serialnumber = qq|
- <th align=right nowrap>| . $locale->text('Serial Number') . qq|</th>
- <td><input name=serialnumber size=20></td>
-|;
-
- $l_serialnumber = qq|
- <td><input name=l_serialnumber class=checkbox type=checkbox value=Y> |
- . $locale->text('Serial Number') . qq|</td>
-|;
-
-
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=title value="$form->{title}">
-
-<table width="100%">
- <tr><th class=listtop>$form->{title}</th></tr>
- <tr height="5"></tr>
- <tr valign=top>
- <td>
- <table>
- <tr>
- <th align=right nowrap>| . $locale->text('Part Number') . qq|</th>
- <td><input name=partnumber size=20></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Part Description') . qq|</th>
- <td colspan=3><input name=description size=40></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Group') . qq|</th>
- <td><input name=partsgroup size=20></td>
- $serialnumber
- </tr>
- $makemodel
- <tr>
- <th align=right nowrap>| . $locale->text('Drawing') . qq|</th>
- <td><input name=drawing size=20></td>
- <th align=right nowrap>| . $locale->text('Microfiche') . qq|</th>
- <td><input name=microfiche size=20></td>
- </tr>
- $toplevel
- <tr>
- <td></td>
- <td colspan=3>
- <input name=itemstatus class=radio type=radio value=active checked> |
- . $locale->text('Active') . qq|
- $onhand
- <input name=itemstatus class=radio type=radio value=obsolete> |
- . $locale->text('Obsolete') . qq|
- <input name=itemstatus class=radio type=radio value=orphaned> |
- . $locale->text('Orphaned') . qq|
- </td>
- </tr>
- $bought
- <tr>
- <td></td>
- <td colspan=3>
- <hr size=1 noshade>
- </td>
- </tr>|;
- print qq|
- <tr>
- <td colspan=4>
- <table width=100%>
- <tr>
- <th class="listheading">| . $locale->text('Preisklasse') . qq|</th>
- <th class="listheading">| . $locale->text('Preis') . qq|</th>
- <th class="listheading">| . $locale->text('Prozentual/Absolut') . qq|</th>
- </tr>
- <tr>
- <td>| . $locale->text('Sell Price') . qq|</td>
- <td><input name="sellprice" size=11 value="$form->{"sellprice"}"></td>
- <td><input name="sellprice_type" class=radio type=radio value=percent checked>/<input name="sellprice_type" class=radio type=radio value=absolut></td>
- </tr>
- <tr>
- <td>| . $locale->text('List Price') . qq|</td>
- <td><input name="listprice" size=11 value="$form->{"listprice"}"></td>
- <td><input name="listprice_type" class=radio type=radio value=percent checked>/<input name="listprice_type" class=radio type=radio value=absolut></td>
- </tr>
-|;
- for $i (1 .. $form->{price_rows}) {
- print qq|
- <tr>
- <td width=50%><input type=hidden name="pricegroup_$i" size=30 value="$form->{"pricegroup_$i"}">$form->{"pricegroup_$i"}</td>
- <td width=50%><input name="price_$i" size=11></td>
- <input type=hidden name="pricegroup_id_$i" value="$form->{"pricegroup_id_$i"}">
- <td><input name="pricegroup_type_$i" class=radio type=radio value=percent checked>/<input name="pricegroup_type_$i" class=radio type=radio value=absolut></td>
- </tr>
-|;
- }
-
- print qq|
- </table>
- </td>
- </tr>
-
- <tr><td colspan=4><hr size=3 noshade></td></tr>
-</table>
-<input type=hidden name=nextsub value=confirm_price_update>
-<input type=hidden name=price_rows value=$form->{price_rows}>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<br>
-<input class=submit type=submit name=action value="|
- . $locale->text('Continue') . qq|">
-</form>
-
-</body>
-</html>
-|;
- $lxdebug->leave_sub();
-} #end search()
-
-sub confirm_price_update {
- $lxdebug->enter_sub();
-
-
- $form->{nextsub} = "update_prices";
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-|;
-
- # delete action variable
- map { delete $form->{$_} } qw(action header);
-
- foreach $key (keys %$form) {
- $form->{$key} =~ s/\"/"/g;
- print qq|<input type=hidden name=$key value="$form->{$key}">\n|;
- }
-
- print qq|
-<h2 class=confirm>| . $locale->text('Confirm!') . qq|</h2>
-
-<h4>|
- . $locale->text('Are you sure you want to update the prices')
-. qq| </h4>
-
-<p>
-<input name=action class=submit type=submit value="|
- . $locale->text('Continue') . qq|">
-</form>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub update_prices {
- $lxdebug->enter_sub();
-
- if (IC->update_prices(\%myconfig, \%$form)) {
- $form->redirect($form->{update_count} . $locale->text('prices updated!'));
- } else {
- $form->error($locale->text('Could not update prices!'));
- }
-
- $lxdebug->leave_sub();
-}
-
-sub choice {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text('Top 100 hinzufuegen');
-
- $form->header;
-
- print qq|
- <body>
-
- <form method=post action=$form->{script}>
-
- <input type=hidden name=searchitems value=$form->{searchitems}>
- <input type=hidden name=title value="$form->{title}">
-
- <input type=hidden name=revers value="$form->{revers}">
- <input type=hidden name=lastsort value="$form->{lastsort}">|;
-
- print qq|
- <table>
- <tr class=listheading>
- <th class=listheading nowrap>|
- . $locale->text('Part Number') . qq|</th>
- <th class=listheading nowrap>|
- . $locale->text('Part Description') . qq|</th>
- </tr>
- <tr valign=top>
- <td><input type=text name=partnumber size=20 value=></td>
- <td><input type=text name=description size=30 value=></td>
- </tr>
- </table>
- <br>|;
-
- print qq|
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<input type=hidden name=itemstatus value="$form->{itemstatus}">
-<input type=hidden name=l_linetotal value="$form->{l_linetotal}">
-<input type=hidden name=l_partnumber value="$form->{l_partnumber}">
-<input type=hidden name=l_description value="$form->{l_description}">
-<input type=hidden name=l_onhand value="$form->{l_onhand}">
-<input type=hidden name=l_unit value="$form->{l_unit}">
-<input type=hidden name=l_sellprice value="$form->{l_sellprice}">
-<input type=hidden name=l_linetotalsellprice value="$form->{l_linetotalsellprice}">
-<input type=hidden name=sort value="$form->{sort}">
-<input type=hidden name=revers value="$form->{revers}">
-<input type=hidden name=lastsort value="$form->{lastsort}">
-
-<input type=hidden name=bom value="$form->{bom}">
-<input type=hidden name=titel value="$form->{titel}">
-<input type=hidden name=searchitems value="$form->{searchitems}">
-
-<input type=hidden name=row value=$j>
-
-<input type=hidden name=nextsub value=item_selected>
-
-<input type=hidden name=test value=item_selected>
-
-<input name=lastndx type=hidden value=$lastndx>
-
-<input name=ndxs_counter type=hidden value=$form->{ndxs_counter}>
-
-<input name=extras type=hidden value=$form->{extras}>|;
-
- # if choice set data
- if ($form->{ndx}) {
- for ($i = 0; $i < $form->{ndxs_counter}; $i++) {
-
- # prepeare data
- $partnumber = $form->{"totop100_partnumber_$j"};
- $description = $form->{"totop100_description_$j"};
- $unit = $form->{"totop100_unit_$j"};
- $sellprice = $form->{"totop100_sellprice_$j"};
- $soldtotal = $form->{"totop100_soldtotal_$j"};
-
- # insert data into top100
- push @{ $form->{parts} },
- { number => "",
- partnumber => "$partnumber",
- description => "$description",
- unit => "$unit",
- sellprice => "$sellprice",
- soldtotal => "$soldtotal" };
- } #rof
- } #fi
-
- $totop100 = "";