-sub sic_header {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text("$form->{title} SIC");
-
- # $locale->text('Add SIC')
- # $locale->text('Edit SIC')
-
- $form->{code} =~ s/\"/"/g;
- $form->{description} =~ s/\"/"/g;
-
- $checked = ($form->{sictype} eq 'H') ? "checked" : "";
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=type value=sic>
-<input type=hidden name=id value=$form->{code}>
-
-<table width=100%>
- <tr>
- <th class=listtop colspan=2>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <th align=right>| . $locale->text('Code') . qq|</th>
- <td><input name=code size=10 value=$form->{code}></td>
- <tr>
- <tr>
- <td></td>
- <th align=left><input name=sictype type=checkbox style=checkbox value="H" $checked> |
- . $locale->text('Heading') . qq|</th>
- <tr>
- <tr>
- <th align=right>| . $locale->text('Description') . qq|</th>
- <td><input name=description size=60 value="$form->{description}"></td>
- </tr>
- <td colspan=2><hr size=3 noshade></td>
- </tr>
-</table>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub save_sic {
- $lxdebug->enter_sub();
-
- $form->isblank("code", $locale->text('Code missing!'));
- $form->isblank("description", $locale->text('Description missing!'));
- AM->save_sic(\%myconfig, \%$form);
- $form->redirect($locale->text('SIC saved!'));
-
- $lxdebug->leave_sub();
-}
-
-sub delete_sic {
- $lxdebug->enter_sub();
-
- AM->delete_sic(\%myconfig, \%$form);
- $form->redirect($locale->text('SIC deleted!'));
-
- $lxdebug->leave_sub();
-}
-
-sub display_stylesheet {
- $lxdebug->enter_sub();
-
- $form->{file} = "css/$myconfig{stylesheet}";
- &display_form;
-
- $lxdebug->leave_sub();
-}
-
-sub display_form {
- $lxdebug->enter_sub();
-
- $form->{file} =~ s/^(.:)*?\/|\.\.\///g;
- $form->{file} =~ s/^\/*//g;
- $form->{file} =~ s/$userspath//;
-
- $form->error("$!: $form->{file}") unless -f $form->{file};
-
- AM->load_template(\%$form);
-
- $form->{title} = $form->{file};
-
- # if it is anything but html
- if ($form->{file} !~ /\.html$/) {
- $form->{body} = "<pre>\n$form->{body}\n</pre>";
- }
-
- $form->header;
-
- print qq|
-<body>
-
-$form->{body}
-
-<form method=post action=$form->{script}>
-
-<input name=file type=hidden value=$form->{file}>
-<input name=type type=hidden value=template>
-
-<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 name=action type=submit class=submit value="|
- . $locale->text('Edit') . qq|">
-
- </form>
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub edit_template {
- $lxdebug->enter_sub();
-
- AM->load_template(\%$form);
-
- $form->{title} = $locale->text('Edit Template');
-
- # convert   to &nbsp;
- $form->{body} =~ s/ /&nbsp;/gi;
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input name=file type=hidden value=$form->{file}>
-<input name=type type=hidden value=template>
-
-<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 name=callback type=hidden value="$form->{script}?action=display_form&file=$form->{file}&path=$form->{path}&login=$form->{login}&password=$form->{password}">
-
-<textarea name=body rows=25 cols=70>
-$form->{body}
-</textarea>
-
-<br>
-<input type=submit class=submit name=action value="|
- . $locale->text('Save') . qq|">
-
- </form>
-
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub save_template {
- $lxdebug->enter_sub();
-
- AM->save_template(\%$form);
- $form->redirect($locale->text('Template saved!'));
-
- $lxdebug->leave_sub();
-}
-
-sub config {
- $lxdebug->enter_sub();
-
- # get defaults for account numbers and last numbers
- AM->defaultaccounts(\%myconfig, \%$form);
-
- foreach $item (qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd)) {
- $dateformat .=
- ($item eq $myconfig{dateformat})
- ? "<option selected>$item\n"
- : "<option>$item\n";
- }
-
- foreach $item (qw(1,000.00 1000.00 1.000,00 1000,00)) {
- $numberformat .=
- ($item eq $myconfig{numberformat})
- ? "<option selected>$item\n"
- : "<option>$item\n";
- }
-
- foreach $item (qw(name company address signature)) {
- $myconfig{$item} =~ s/\"/"/g;
- }
-
- foreach $item (qw(address signature)) {
- $myconfig{$item} =~ s/\\n/\r\n/g;
- }
-
- @formats = ();
- if ($opendocument_templates && $openofficeorg_writer_bin &&
- $xvfb_bin && (-x $openofficeorg_writer_bin) && (-x $xvfb_bin)) {
- push(@formats, { "name" => $locale->text("PDF (OpenDocument/OASIS)"),
- "value" => "opendocument_pdf" });
- }
- if ($latex_templates) {
- push(@formats, { "name" => $locale->text("PDF"), "value" => "pdf" });
- }
- push(@formats, { "name" => "HTML", "value" => "html" });
- if ($latex_templates) {
- push(@formats, { "name" => $locale->text("Postscript"),
- "value" => "postscript" });
- }
- if ($opendocument_templates) {
- push(@formats, { "name" => $locale->text("OpenDocument/OASIS"),
- "value" => "opendocument" });
- }
-
- if (!$myconfig{"template_format"}) {
- $myconfig{"template_format"} = "pdf";
- }
- my $template_format = "";
- foreach $item (@formats) {
- $template_format .=
- "<option value=\"$item->{value}\"" .
- ($item->{"value"} eq $myconfig{"template_format"} ?
- " selected" : "") .
- ">" . H($item->{"name"}) . "</option>";
- }
-
- if (!$myconfig{"default_media"}) {
- $myconfig{"default_media"} = "screen";
- }
- my %selected = ($myconfig{"default_media"} => "selected");
- my $default_media = qq|
- <option value="screen" $selected{'screen'}>| . $locale->text("Screen") . qq|</option>
- <option value="printer" $selected{'printer'}>| . $locale->text("Printer") . qq|</option>
- <option value="queue" $selected{'queue'}>| . $locale->text("Queue") . qq|</option>
-|;
-
- %selected = ();
- $selected{$myconfig{"default_printer_id"}} = "selected"
- if ($myconfig{"default_printer_id"});
- my $default_printer = qq|<option></option>|;
- AM->printer(\%myconfig, $form);
- foreach my $printer (@{$form->{"ALL"}}) {
- $default_printer .= qq|<option value="| . Q($printer->{"id"}) .
- qq|" $selected{$printer->{'id'}}>| .
- H($printer->{"printer_description"}) . qq|</option>|;
- }
-
- %countrycodes = User->country_codes;
- $countrycodes = '';
- foreach $key (sort { $countrycodes{$a} cmp $countrycodes{$b} }
- keys %countrycodes
- ) {
- $countrycodes .=
- ($myconfig{countrycode} eq $key)
- ? "<option selected value=$key>$countrycodes{$key}\n"
- : "<option value=$key>$countrycodes{$key}\n";
- }
- $countrycodes = "<option>American English\n$countrycodes";
-
- foreach $key (keys %{ $form->{IC} }) {
- foreach $accno (sort keys %{ $form->{IC}{$key} }) {
- $myconfig{$key} .=
- ($form->{IC}{$key}{$accno}{id} == $form->{defaults}{$key})
- ? "<option selected>$accno--$form->{IC}{$key}{$accno}{description}\n"
- : "<option>$accno--$form->{IC}{$key}{$accno}{description}\n";
- }
- }
-
- opendir CSS, "css/.";
- @all = grep /.*\.css$/, readdir CSS;
- closedir CSS;
-
- foreach $item (@all) {
- if ($item eq $myconfig{stylesheet}) {
- $selectstylesheet .= qq|<option selected>$item\n|;
- } else {
- $selectstylesheet .= qq|<option>$item\n|;
- }
- }
- $selectstylesheet .= "<option>\n";
-
- $form->{title} = $locale->text('Edit Preferences for') . qq| $form->{login}|;
-
- $form->header;
-
- if ($myconfig{menustyle} eq "old") {
- $menustyle_old = "checked";
- } elsif ($myconfig{menustyle} eq "neu") {
- $menustyle_neu = "checked";
- } elsif ($myconfig{menustyle} eq "v3") {
- $menustyle_v3 = "checked";
- }
-
- my ($show_form_details, $hide_form_details);
- $myconfig{"show_form_details"} = 1
- unless (defined($myconfig{"show_form_details"}));
- $show_form_details = "checked" if ($myconfig{"show_form_details"});
- $hide_form_details = "checked" unless ($myconfig{"show_form_details"});
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=old_password value=$myconfig{password}>
-<input type=hidden name=type value=preferences>
-<input type=hidden name=role value=$myconfig{role}>
-
-<table width=100%>
- <tr><th class=listtop>$form->{title}</th></tr>
- <tr>
- <td>
- <table>
- <tr>
- <th align=right>| . $locale->text('Name') . qq|</th>
- <td><input name=name size=15 value="$myconfig{name}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Password') . qq|</th>
- <td><input type=password name=new_password size=10 value=$myconfig{password}></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('E-mail') . qq|</th>
- <td><input name=email size=30 value="$myconfig{email}"></td>
- </tr>
- <tr valign=top>
- <th align=right>| . $locale->text('Signature') . qq|</th>
- <td><textarea name=signature rows=3 cols=50>$myconfig{signature}</textarea></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Phone') . qq|</th>
- <td><input name=tel size=14 value="$myconfig{tel}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Fax') . qq|</th>
- <td><input name=fax size=14 value="$myconfig{fax}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Company') . qq|</th>
- <td><input name=company size=30 value="$myconfig{company}"></td>
- </tr>
- <tr valign=top>
- <th align=right>| . $locale->text('Address') . qq|</th>
- <td><textarea name=address rows=4 cols=50>$myconfig{address}</textarea></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Date Format') . qq|</th>
- <td><select name=dateformat>$dateformat</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Output Number Format') . qq|</th>
- <td><select name=numberformat>$numberformat</select></td>
- </tr>
-
- <tr>
- <th align=right>| . $locale->text('Dropdown Limit') . qq|</th>
- <td><input name=vclimit size=10 value="$myconfig{vclimit}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Language') . qq|</th>
- <td><select name=countrycode>$countrycodes</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Stylesheet') . qq|</th>
- <td><select name=usestylesheet>$selectstylesheet</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Setup Menu') . qq|</th>
- <td><input name=menustyle type=radio class=radio value=v3 $menustyle_v3> | .
- $locale->text("Top (CSS)") . qq|
- <input name=menustyle type=radio class=radio value=neu $menustyle_neu> | .
- $locale->text("Top (Javascript)") . qq|
- <input name=menustyle type=radio class=radio value=old $menustyle_old> | .
- $locale->text("Old (on the side)") . qq|</td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Form details (second row)') . qq|</th>
- <td><input type="radio" id="rad_show_form_details" name="show_form_details" value="1" $show_form_details>
- <label for="rad_show_form_details">| . $locale->text('Show by default') . qq|</label>
- <input type="radio" id="rad_hide_form_details" name="show_form_details" value="0" $hide_form_details>
- <label for="rad_hide_form_details">| . $locale->text('Hide by default') . qq|</label></td>
- </tr>
- <input name=printer type=hidden value="$myconfig{printer}">
- <tr class=listheading>
- <th colspan=2>| . $locale->text("Print options") . qq|</th>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Default template format') . qq|</th>
- <td><select name="template_format">$template_format</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Default output medium') . qq|</th>
- <td><select name="default_media">$default_media</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Default printer') . qq|</th>
- <td><select name="default_printer_id">$default_printer</select></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Number of copies') . qq|</th>
- <td><input name="copies" size="10" value="| .
- $form->quote($myconfig{"copies"}) . qq|"></td>
- </tr>
-
-
- <tr class=listheading>
- <th colspan=2> </th>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Business Number') . qq|</th>
- <td><input name=businessnumber size=25 value="$myconfig{businessnumber}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Year End') . qq| (mm/dd)</th>
- <td><input name=yearend size=5 value=$form->{defaults}{yearend}></td>
- </tr>
- <tr class=listheading>
- <th colspan=2>|
- . $locale->text('Last Numbers & Default Accounts') . qq|</th>
- </tr>
- <tr>
- <td colspan=2>
- <table width=100%>
- <tr>
- <th align=right nowrap>| . $locale->text('Inventory Account') . qq|</th>
- <td><select name=inventory_accno>$myconfig{IC}</select></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Revenue Account') . qq|</th>
- <td><select name=income_accno>$myconfig{IC_income}</select></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Expense Account') . qq|</th>
- <td><select name=expense_accno>$myconfig{IC_expense}</select></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Foreign Exchange Gain') . qq|</th>
- <td><select name=fxgain_accno>$myconfig{FX_gain}</select></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Foreign Exchange Loss') . qq|</th>
- <td><select name=fxloss_accno>$myconfig{FX_loss}</select></td>
- </tr>
- <tr>
- <td colspan=2>|
- . $locale->text(
- 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies'
- )
- . qq|<br><input name=curr size=40 value="$form->{defaults}{curr}"></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td colspan=2>
- <table width=100%>
- <tr>
- <th align=right nowrap>| . $locale->text('Last Invoice Number') . qq|</th>
- <td><input name=invnumber size=10 value=$form->{defaults}{invnumber}></td>
- <th align=right nowrap>|
- . $locale->text('Last Customer Number') . qq|</th>
- <td><input name=customernumber size=10 value=$form->{defaults}{customernumber}></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Last Credit Note Number') . qq|</th>
- <td><input name=cnnumber size=10 value=$form->{defaults}{cnnumber}></td>
- <th align=right nowrap>|
- . $locale->text('Last Vendor Number') . qq|</th>
- <td><input name=vendornumber size=10 value=$form->{defaults}{vendornumber}></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Last Sales Order Number') . qq|</th>
- <td><input name=sonumber size=10 value=$form->{defaults}{sonumber}></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Last Purchase Order Number') . qq|</th>
- <td><input name=ponumber size=10 value=$form->{defaults}{ponumber}></td>
- <th align=right nowrap>|
- . $locale->text('Last Article Number') . qq|</th>
- <td><input name=articlenumber size=10 value=$form->{defaults}{articlenumber}></td>
- </tr>
- <tr>
- <th align=right nowrap>|
- . $locale->text('Last Sales Quotation Number') . qq|</th>
- <td><input name=sqnumber size=10 value=$form->{defaults}{sqnumber}></td>
- <th align=right nowrap>|
- . $locale->text('Last Service Number') . qq|</th>
- <td><input name=servicenumber size=10 value=$form->{defaults}{servicenumber}></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Last RFQ Number') . qq|</th>
- <td><input name=rfqnumber size=10 value=$form->{defaults}{rfqnumber}></td>
- <th align=right nowrap></th>
- <td></td>
- </tr>
- </table>
- </td>
- </tr>|;
-# <tr class=listheading>
-# <th colspan=2>| . $locale->text('Tax Accounts') . qq|</th>
-# </tr>
-# <tr>
-# <td colspan=2>
-# <table>
-# <tr>
-# <th> </th>
-# <th>| . $locale->text('Rate') . qq| (%)</th>
-# <th>| . $locale->text('Number') . qq|</th>
-# </tr>
-# |;
-#
-# foreach $accno (sort keys %{ $form->{taxrates} }) {
-# print qq|
-# <tr>
-# <th align=right>$form->{taxrates}{$accno}{description}</th>
-# <td><input name=$form->{taxrates}{$accno}{id} size=6 value=$form->{taxrates}{$accno}{rate}></td>
-# <td><input name="taxnumber_$form->{taxrates}{$accno}{id}" value="$form->{taxrates}{$accno}{taxnumber}"></td>
-# </tr>
-# |;
-# $form->{taxaccounts} .= "$form->{taxrates}{$accno}{id} ";
-# }
-#
-# chop $form->{taxaccounts};
-#
-# print qq|
-# <input name=taxaccounts type=hidden value="$form->{taxaccounts}">
-#
-# </table>
-# </td>
-# </tr>
-print qq| </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-
-<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 type=submit class=submit name=action value="|
- . $locale->text('Save') . qq|">
-
- </form>
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub save_preferences {
- $lxdebug->enter_sub();
-
- $form->{stylesheet} = $form->{usestylesheet};
-
- $form->redirect($locale->text('Preferences saved!'))
- if (
- AM->save_preferences(\%myconfig, \%$form, $memberfile, $userspath, $webdav
- ));
- $form->error($locale->text('Cannot save preferences!'));
-
- $lxdebug->leave_sub();
-}
-
-sub backup {
- $lxdebug->enter_sub();
-
- if ($form->{media} eq 'email') {
- $form->error($locale->text('No email address for') . " $myconfig{name}")
- unless ($myconfig{email});
-
- $form->{OUT} = "$sendmail";
-
- }
-
- AM->backup(\%myconfig, \%$form, $userspath);
-
- if ($form->{media} eq 'email') {
- $form->redirect($locale->text('Backup sent to') . qq| $myconfig{email}|);
- }