# get customer/vendor
$form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
- # retrieve order/quotation
+ # retrieve order/quotation and webdav config
$form->{webdav} = $::instance_conf->get_webdav;
my $editing = $form->{id};
# openclosed checkboxes
my @tmp;
push @tmp, sprintf qq|<input name="delivered" id="delivered" type="checkbox" class="checkbox" value="1" %s><label for="delivered">%s</label>|,
- $form->{"delivered"} ? "checked" : "", $locale->text('Delivery Order created') if $form->{"type"} =~ /_order$/;
+ $form->{"delivered"} ? "checked" : "", $locale->text('Delivery Order(s) for full qty created') if $form->{"type"} =~ /_order$/;
push @tmp, sprintf qq|<input name="closed" id="closed" type="checkbox" class="checkbox" value="1" %s><label for="closed">%s</label>|,
$form->{"closed"} ? "checked" : "", $locale->text('Closed') if $form->{id};
$TMPL_VAR{openclosed} = sprintf qq|<tr><td colspan=%d align=center>%s</td></tr>\n|, 2 * scalar @tmp, join "\n", @tmp if @tmp;
my $vc = $form->{vc} eq "customer" ? "customers" : "vendors";
- # project ids
- $form->get_lists("taxzones" => "ALL_TAXZONES",
+ $form->get_lists("taxzones" => ($form->{id} ? "ALL_TAXZONES" : "ALL_ACTIVE_TAXZONES"),
"payments" => "ALL_PAYMENTS",
"currencies" => "ALL_CURRENCIES",
"departments" => "ALL_DEPARTMENTS",
$TMPL_VAR{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted();
+ my $tpca_reminder;
+ $tpca_reminder = check_transport_cost_reminder_article_number() if $::instance_conf->get_transport_cost_reminder_article_number_id;
print $form->parse_html_template("oe/form_footer", {
%TMPL_VAR,
webdav => $::instance_conf->get_webdav,
+ tpca_reminder => $tpca_reminder,
print_options => print_options(inline => 1),
label_edit => $locale->text("Edit the $form->{type}"),
label_workflow => $locale->text("Workflow $form->{type}"),
push @options, $locale->text('Customer') . " : $form->{customer}" if $form->{customer};
push @options, $locale->text('Vendor') . " : $form->{vendor}" if $form->{vendor};
+ push @options, $locale->text('Contact Person') . " : $form->{cp_name}" if $form->{cp_name};
push @options, $locale->text('Department') . " : $department" if $form->{department};
push @options, $locale->text('Order Number') . " : $form->{ordnumber}" if $form->{ordnumber};
push @options, $locale->text('Customer Order Number') . " : $form->{cusordnumber}" if $form->{cusordnumber};
my $wday = (localtime(time))[6];
my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
+ # if we have a client configured interval for sales quotation, we add this
+ $next_workday += $::instance_conf->get_reqdate_interval if ($::instance_conf->get_reqdate_interval &&
+ $form->{type} eq 'sales_quotation' );
+
my $query = 'SELECT
date(current_date + interval \''. $next_workday .' days\') AS reqdate,
date(current_date) AS transdate';
if ($form->{type} =~ /^sales_/) {
delete($form->{ordnumber});
+ delete($form->{payment_id});
+ delete($form->{delivery_term_id});
}
$form->{cp_id} *= 1;
_remove_billed_or_delivered_rows(quantities => \%handled_base_qtys);
}
+# iterate all positions and match articlenumber
+sub check_transport_cost_reminder_article_number {
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+
+ check_oe_access();
+
+ my $transport_article_id = $::instance_conf->get_transport_cost_reminder_article_number_id;
+ for my $i (1 .. $form->{rowcount}) {
+ return if $form->{"id_${i}"} eq $transport_article_id;
+ }
+
+ # simply return the name of the part
+ return SL::DB::Part->new(id => $transport_article_id)->load()->partnumber;
+
+ $main::lxdebug->leave_sub();
+}
sub dispatcher {
foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation
request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) {