use CGI::Ajax;
use CGI;
-require "$form->{path}/common.pl";
+require "bin/mozilla/common.pl";
# any custom scripts for this one
-if (-f "$form->{path}/custom_io.pl") {
- eval { require "$form->{path}/custom_io.pl"; };
+if (-f "bin/mozilla/custom_io.pl") {
+ eval { require "bin/mozilla/custom_io.pl"; };
}
-if (-f "$form->{path}/$form->{login}_io.pl") {
- eval { require "$form->{path}/$form->{login}_io.pl"; };
+if (-f "bin/mozilla/$form->{login}_io.pl") {
+ eval { require "bin/mozilla/$form->{login}_io.pl"; };
}
1;
}
$column_data{sellprice_pg} =
- qq|<td align="right"><select name="sellprice_pg_$i">$form->{"prices_$i"}</select></td>|;
+ qq|<td align="right"><select name="sellprice_pg_$i">$form->{"prices_$i"}</select></td>|;
$column_data{sellprice} =
- qq|<td><input name="sellprice_$i" size="10" value="$price_tmp"></td>|;
+ qq|<td><input name="sellprice_$i" size="10" value="$price_tmp" onBlur=\"check_right_number_format(this)\"></td>|;
} else {
# for last row and report
# for last row
$column_data{sellprice_pg} = qq|<td align="right"> </td>|;
- }
-
+ }
+
$column_data{sellprice} =
- qq|<td><input name="sellprice_$i" size="10" value="|
+ qq|<td><input name="sellprice_$i" size="10" onBlur=\"check_right_number_format(this)\" value="|
. $form->format_amount(\%myconfig, $form->{"sellprice_$i"},
$decimalplaces)
. qq|"></td>|;
? 'deliverydate'
: 'reqdate'; # invoice uses a different term for the same thing.
print qq|
- <b>${$reqdate_term}</b> <input name="${reqdate_term}_$i" size="11" value="$form->{"${reqdate_term}_$i"}">
+ <b>${$reqdate_term}</b> <input name="${reqdate_term}_$i" size="11" onBlur="check_right_date_format(this)" value="$form->{"${reqdate_term}_$i"}">
|;
}
my $subtotalchecked = ($form->{"subtotal_$i"}) ? "checked" : "";
$colspan = $#column_index + 1;
print qq|
-<body>
+ <body>
<form method="post" action="$form->{script}">
. $locale->text('Service');
print $cgi->hidden("-name" => "previousform", "-value" => $previousform);
map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); }
- ("rowcount", "vc", "path", "login", "password"));
+ qw(rowcount vc login password));
map({ print($cgi->hidden("-name" => $_, "-value" => $form->{"$__$i"})); }
("partnumber", "description"));
print $cgi->hidden("-name" => "taxaccount2", "-value" => $form->{taxaccounts});
# if we have a display_form
if ($form->{display_form}) {
- &{"$form->{display_form}"};
+ call_sub($form->{"display_form"});
exit;
}
$form->{cp_id} *= 1;
- require "$form->{path}/$form->{script}";
+ require "bin/mozilla/$form->{script}";
my $script = $form->{"script"};
$script =~ s|.*/||;
$script =~ s|.pl$||;
$form->{rowcount}--;
- require "$form->{path}/$form->{script}";
+ require "bin/mozilla/$form->{script}";
map { $form->{"select$_"} = "" } ($form->{vc}, currency);
$form->{print_and_post} = 0;
$form->{resubmit} = 0;
}
- if ($myconfig{role} eq 'admin') {
- $bcc = qq|
- <tr>
- <th align="right" nowrap="true">| . $locale->text('Bcc') . qq|</th>
- <td><input name="bcc" size="30" value="| . Q($form->{bcc}) . qq|"></td>
- </tr>
-|;
- }
- if ($form->{formname} =~ /(pick|packing|bin)_list/) {
- $form->{email} = $form->{shiptoemail} if $form->{shiptoemail};
- }
+ $form->{email} = $form->{shiptoemail} if $form->{shiptoemail} && $form->{formname} =~ /(pick|packing|bin)_list/;
if ($form->{"cp_id"} && !$form->{"email"}) {
CT->get_contact(\%myconfig, $form);
$form->{"email"} = $form->{"cp_email"};
}
- $name = $form->{ $form->{vc} };
- $name =~ s/--.*//g;
- $title = $locale->text('E-mail') . " $name";
+ $form->{ $form->{vc} } =~ /--/;
+ $title = $locale->text('E-mail') . " $`";
$form->{oldmedia} = $form->{media};
$form->{media} = "email";
- my %formname_translations =
- (
- "bin_list" => $locale->text('Bin List'),
- "credit_note" => $locale->text('Credit Note'),
- "invoice" => $locale->text('Invoice'),
- "packing_list" => $locale->text('Packing List'),
- "pick_list" => $locale->text('Pick List'),
- "proforma" => $locale->text('Proforma Invoice'),
- "purchase_order" => $locale->text('Purchase Order'),
- "request_quotation" => $locale->text('RFQ'),
- "sales_order" => $locale->text('Confirmation'),
- "sales_quotation" => $locale->text('Quotation'),
- "storno_invoice" => $locale->text('Storno Invoice'),
- "storno_packing_list" => $locale->text('Storno Packing List'),
- );
-
- my $attachment_filename = $formname_translations{$form->{"formname"}};
- my $prefix;
-
- if (grep({ $form->{"type"} eq $_ } qw(invoice credit_note))) {
- $prefix = "inv";
- } elsif ($form->{"type"} =~ /_quotation$/) {
- $prefix = "quo";
- } else {
- $prefix = "ord";
- }
-
- if ($attachment_filename && $form->{"${prefix}number"}) {
- $attachment_filename .= "_" . $form->{"${prefix}number"} .
- ($form->{"format"} =~ /pdf/i ? ".pdf" :
- $form->{"format"} =~ /postscript/i ? ".ps" :
- $form->{"format"} =~ /opendocument/i ? ".odt" :
- $form->{"format"} =~ /html/i ? ".html" : "");
- $attachment_filename =~ s/ /_/g;
- my %umlaute =
- (
- "ä" => "ae", "ö" => "oe", "ü" => "ue",
- "Ä" => "Ae", "Ö" => "Oe", "Ü" => "Ue",
- "ß" => "ss"
- );
- map({ $attachment_filename =~ s/$_/$umlaute{$_}/g; } keys(%umlaute));
- } else {
- $attachment_filename = "";
- }
+ my $attachment_filename = $form->generate_attachment_filename();
- if ($form->{"email"}) {
- $form->{"fokus"} = "Form.subject";
- } else {
- $form->{"fokus"} = "Form.email";
- }
+ $form->{"fokus"} = $form->{"email"} ? "Form.subject" : "Form.email";
$form->header;
- print qq|
-<body onload="fokus()">
-
-<form name="Form" method="post" action="$form->{script}">
-
-<table width="100%">
- <tr class="listtop">
- <th class="listtop">$title</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <td>
- <table>
- <tr>
- <th align="right" nowrap>| . $locale->text('To') . qq|</th>
- <td><input name="email" size="30" value="| .
- Q($form->{"email"}) . qq|"></td>
- </tr>
- <tr>
- <th align="right" nowrap>| . $locale->text('Cc') . qq|</th>
- <td><input name="cc" size="30" value="| .
- Q($form->{"cc"}) . qq|"></td>
- </tr>
- $bcc
- <tr>
- <th align="right" nowrap>| . $locale->text('Subject') . qq|</th>
- <td><input name="subject" size="30" value="| .
- Q($form->{"subject"}) . qq|"></td>
- </tr>
- <tr>
- <th align="right" nowrap>| . $locale->text('Attachment name') .
- qq|</th>
- <td><input name="attachment_filename" size="30" value="| .
- Q($attachment_filename) . qq|"></td>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <table>
- <tr>
- <th align="left" nowrap>| . $locale->text('Message') . qq|</th>
- </tr>
- <tr>
- <td><textarea name="message" rows="15" cols="60" wrap="soft">| .
- H($form->{"message"}) . qq|</textarea></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
-|;
-
- print_options();
+ my (@dont_hide_key_list, %dont_hide_key, @hidden_keys);
+ @dont_hide_key_list = qw(action email cc bcc subject message formname sendmode format header override);
+ @dont_hide_key{@dont_hide_key_list} = (1) x @dont_hide_key_list;
+ @hidden_keys = grep { !$dont_hide_key{$_} } grep { !ref $form->{$_} } keys %$form;
- map { delete $form->{$_} }
- qw(action email cc bcc subject message formname sendmode format header override);
-
- # save all other variables
- foreach $key (keys %$form) {
- $form->{$key} =~ s/\"/"/g;
- print qq|<input type="hidden" name="$key" value="| . Q($form->{$key}) . qq|">\n|;
- }
-
- print qq|
- </td>
- </tr>
- <tr>
- <td><hr size="3" noshade></td>
- </tr>
-</table>
-
-<input type="hidden" name="nextsub" value="send_email">
-
-<br>
-<input name="action" class="submit" type="submit" value="|
- . $locale->text('Continue') . qq|">
-</form>
-
-</body>
-</html>
-|;
+ print $form->parse_html_template('generic/edit_email',
+ { title => $title,
+ a_filename => $attachment_filename,
+ _print_options_ => print_options('inline'),
+ HIDDEN => [ map +{ name => $_, value => $form->{$_} }, @hidden_keys ],
+ SHOW_BCC => $myconfig{role} eq 'admin' });
$lxdebug->leave_sub();
}
my $callback = $form->{script} . "?action=edit";
map({ $callback .= "\&${_}=" . E($form->{$_}); }
- qw(login password path type id));
+ qw(login password type id));
print_form("return");
push @MEDIA, grep $_,
opthash("screen", $form->{OP}{screen}, $locale->text('Screen')),
- (scalar keys %{ $form->{printers} } && $latex_templates) ?
+ (scalar @{ $form->{printers} } && $latex_templates) ?
opthash("printer", $form->{OP}{printer}, $locale->text('Printer')) : undef,
($latex_templates) ?
opthash("queue", $form->{OP}{queue}, $locale->text('Queue')) : undef
push @PRINTER_ID,
map { opthash($_->{id}, ($_->{id} eq $form->{printer_id} ? 'selected' : ''), $_->{printer_description}) } +{}, @{ $form->{printers} }
- if (ref $form->{printers} eq 'ARRAY');
+ if ((ref $form->{printers} eq 'ARRAY') && scalar @{ $form->{printers } });
@SELECTS = map { sname => lc $_, DATA => \@$_, show => scalar @$_ }, qw(FORMNAME LANGUAGE_ID FORMAT SENDMODE MEDIA PRINTER_ID);
%template_vars = (
- display_copies => scalar keys %{ $form->{printers} } && $latex_templates && $form->{media} ne 'email',
+ display_copies => scalar @{ $form->{printers} } && $latex_templates && $form->{media} ne 'email',
display_remove_draft => (!$form->{id} && $form->{draft_id}),
groupitems_checked => $form->{groupitems} ? "checked" : '',
remove_draft_checked => $form->{remove_draft} ? "checked" : ''
$form->{rowcount}--;
- &{"$display_form"};
+ call_sub($display_form);
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "PRINTED";
$form->save_history($form->dbconnect(\%myconfig));
}
$salesman_id_saved = $form->{salesman_id};
$cp_id_saved = $form->{cp_id};
- &{"$form->{vc}_details"}();
+ call_sub("$form->{vc}_details");
$form->{language_id} = $language_saved;
$form->{payment_id} = $payment_id_saved;
$form->{templates} = "$myconfig{templates}";
+ delete $form->{printer_command};
+
$form->{language} = $form->get_template_language(\%myconfig);
$form->{printer_code} = $form->get_printer_code(\%myconfig);
$form->{"IN"} =~ s/html$/odt/;
}
+ delete $form->{OUT};
+
if ($form->{media} eq 'printer') {
$form->{OUT} = "| $form->{printer_command} &>/dev/null";
$form->{printed} .= " $form->{formname}";
$form->{subject} = qq|$form->{label} $form->{"${inv}number"}|
unless $form->{subject};
- $form->{OUT} = "$sendmail";
-
$form->{emailed} .= " $form->{formname}";
$form->{emailed} =~ s/^ //;
}
$emailed = $form->{emailed};
if ($form->{media} eq 'queue') {
- %queued = split / /, $form->{queued};
+ %queued = map { s|.*/|| } split / /, $form->{queued};
if ($filename = $queued{ $form->{formname} }) {
$form->{queued} =~ s/$form->{formname} $filename//;
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
if($form->{media} =~ /printer/) {
$form->{addition} = "PRINTED";
}
} qw(paid exchangerate);
}
- &{"$display_form"};
+ call_sub($display_form);
exit;
}
$form->redirect(qq|$form->{label} $form->{"${inv}number"} $msg|);
}
if ($form->{printing}) {
- &{"$display_form"};
+ call_sub($display_form);
exit;
}
contact email phone fax));
# get details for name
- &{"$form->{vc}_details"}(@addr_vars);
+ call_sub("$form->{vc}_details", @addr_vars);
$number =
($form->{vc} eq 'customer')
map { $form->{$_} = $form->escape($form->{$_}, 1) }
qw(partnumber description);
$form->{callback} =
- qq|$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&customer=$customer&partnumber=$form->{partnumber}&description=$form->{description}&previousform="$previousform"&initial=1|;
+ qq|$form->{script}?login=$form->{login}&password=$form->{password}&action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&customer=$customer&partnumber=$form->{partnumber}&description=$form->{description}&previousform="$previousform"&initial=1|;
$form->redirect;
$lxdebug->leave_sub();