$form->header;
map { delete $form->{$_} } qw(action header);
-
+
print $form->parse_html_template('ic/confirm_price_update', { HIDDENS => [ map { name => $_, value => $form->{$_} }, keys %$form ] });
$lxdebug->leave_sub();
# l_linetotal l_priceupdate l_bin l_rop l_weight l_image l_drawing l_microfiche
# l_partsgroup l_subtotal l_soldtotal l_deliverydate
#
-# hiddens:
+# hiddens:
# nextsub revers lastsort sort ndxs_counter
#
sub generate_report {
} #fi
# special case if we have a serialnumber limit search
- # serialnumbers are only given in invoices and orders,
+ # serialnumbers are only given in invoices and orders,
# so they can only pop up in bought, sold, rfq, and quoted stuff
- $form->{no_sn_joins} = 'Y' if ( !$form->{bought} && !$form->{sold}
- && !$form->{rfq} && !$form->{quoted}
+ $form->{no_sn_joins} = 'Y' if ( !$form->{bought} && !$form->{sold}
+ && !$form->{rfq} && !$form->{quoted}
&& ($form->{l_serialnumber} || $form->{serialnumber}));
# special case for any checkbox of bought | sold | onorder | ordered | rfq | quoted.
# generate callback and optionstrings
my @options;
- for my $key (@itemstatus_keys, @callback_keys) {
+ for my $key (@itemstatus_keys, @callback_keys) {
next if ($form->{itemstatus} ne $key && !$form->{$key});
push @options, $optiontexts{$key};
}
# set module stuff
if ($ref->{module} eq 'oe') {
- my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{type}), 'id=' . E($ref->{trans_id}), 'callback');
+ my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{customer_id} ne '' ? 'sales_order' : 'purchase_order'), 'id=' . E($ref->{trans_id}), 'callback');
$row->{ordnumber}{link} = $edit_oe_link;
$row->{quonumber}{link} = $edit_oe_link if (!$ref->{ordnumber});
sub parts_subtotal {
$lxdebug->enter_sub();
-
+
$auth->assert('part_service_assembly_edit');
# imports
map { $form->{"is_$_"} = ($form->{item} eq $_) } qw(part service assembly);
map { $form->{$_} =~ s/"/"/g; } qw(unit);
-
- $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS',
+
+ $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS',
'partsgroup' => 'all_partsgroup');
IC->retrieve_buchungsgruppen(\%myconfig, $form);
$form->{fokus} = "ic.partnumber";
$form->header;
- print $form->parse_html_template('ic/form_header', { ALL_PRICE_FACTORS => $form->{ALL_PRICE_FACTORS},
+ print $form->parse_html_template('ic/form_header', { ALL_PRICE_FACTORS => $form->{ALL_PRICE_FACTORS},
ALL_UNITS => $form->{ALL_UNITS},
BUCHUNGSGRUPPEN => $form->{BUCHUNGSGRUPPEN},
payment_terms => $form->{payment_terms},
$auth->assert('part_service_assembly_edit');
- if ($form->{item} eq "assembly") {
-
- print qq|
- <tr>
- <td>
- <table width="100%">
- <tr>
- <th colspan=2 align=right>| . $locale->text('Total') . qq| </th>
- <th align=right>| . $form->format_amount(\%myconfig, $form->{assemblytotal}, 2) . qq|</th>
- </tr>
- </table>
- </td>
- </tr>
- <input type=hidden name=assembly_rows value=$form->{assembly_rows}>
-|;
- }
-
- print qq|
- <input type=hidden name=callback value="$form->{callback}">
- <input type=hidden name=previousform value="$form->{previousform}">
- <input type=hidden name=taxaccount2 value="$form->{taxaccount2}">
- <input type=hidden name=vc value=$form->{vc}>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-
-<br>
-<input class=submit type=submit name=action value="|
- . $locale->text('Update') . qq|">
- |;
-
- unless ($form->{item} eq "service") {
- print qq|
- <input type=hidden name=makemodel_rows value=$form->{makemodel_rows}>
- |;
- }
-
- print qq|
- <input type=hidden name=price_rows value=$form->{price_rows}>|;
-
- print qq|
- <input class=submit type=submit name=action value="|
- . $locale->text('Save') . qq|">|;
-
- if ($form->{id}) {
-
- if (!$form->{previousform}) {
- print qq|
- <input class=submit type=submit name=action value="|
- . $locale->text('Save as new') . qq|">|;
- }
-
- if ($form->{orphaned}) {
- if (!$form->{previousform}) {
- if ($form->{item} eq 'assembly') {
- if (!$form->{onhand}) {
- print qq|
- <input class=submit type=submit name=action value="|
- . $locale->text('Delete') . qq|">|;
- }
- } else {
- print qq|
- <input class=submit type=submit name=action value="|
- . $locale->text('Delete') . qq|">|;
- }
- }
- }
- }
-
- if (!$form->{previousform}) {
- if ($form->{menubar}) {
- require "bin/mozilla/menu.pl";
- &menubar;
- }
- }
-# button for saving history
- if($form->{id} ne "") {
- print qq|
- <input type=button class=submit onclick=set_history_window(|
- . $form->{id}
- . qq|); name=history id=history value=|
- . $locale->text('history')
- . qq|>|;
- }
-# /button for saving history
- print qq|
-
-</form>
-
-<script type="text/javascript" src="js/wz_tooltip.js"></script>
-
-</body>
-</html>
-|;
+ print $form->parse_html_template('ic/form_footer');
$lxdebug->leave_sub();
}
sub makemodel_row {
$lxdebug->enter_sub();
my ($numrows) = @_;
-
- print qq|
- <tr>
- <td>
- <table width=100%>
- <tr>
- <th class="listheading">| . $locale->text('Make') . qq|</th>
- <th class="listheading">| . $locale->text('Model') . qq|</th>
- </tr>
-|;
- for my $i (1 .. $numrows) {
- $form->{"make_$i"} =~ s/\"/"/g;
- $form->{"model_$i"} =~ s/\"/"/g;
- print qq|
- <tr>
- <td width=50%><input name="make_$i" size=30 value="$form->{"make_$i"}"></td>
- <td width=50%><input name="model_$i" size=30 value="$form->{"model_$i"}"></td>
- </tr>
-|;
- }
-
- print qq|
- </table>
- </td>
- </tr>
-|;
+ my @mm_data = grep { any { $_ ne '' } @$_{qw(make model)} } map +{ make => $form->{"make_$_"}, model => $form->{"model_$_"} }, 1 .. $numrows;
+ print $form->parse_html_template('ic/makemodel', { MM_DATA => [ @mm_data, {} ], mm_rows => scalar @mm_data + 1 });
$lxdebug->leave_sub();
}
}
if (!$form->{buchungsgruppen_id}) {
- $form->error($locale->text("Parts must have an entry type.") . " " .
- $locale->text("If you see this message, you most likely just setup your LX-Office and haven't added any entry types. If this is the case, the option is accessible for administrators in the System menu.")
+ $form->error($locale->text("Parts must have an entry type.") . " " .
+ $locale->text("If you see this message, you most likely just setup your LX-Office and haven't added any entry types. If this is the case, the option is accessible for administrators in the System menu.")
);
}