# $locale->text('Add Customer')
# $locale->text('Add Vendor')
-use SL::CT;
-use CGI::Ajax;
use CGI;
-use Data::Dumper;
+use CGI::Ajax;
+use POSIX qw(strftime);
+
+use SL::CT;
+use SL::ReportGenerator;
require "bin/mozilla/common.pl";
+require "bin/mozilla/reportgenerator.pl";
1;
$form->{title} = "Add";
$form->{callback} =
- "$form->{script}?action=add&db=$form->{db}&path=$form->{path}&login=$form->{login}&password=$form->{password}"
+ "$form->{script}?action=add&db=$form->{db}&login=$form->{login}&password=$form->{password}"
unless $form->{callback};
CT->populate_drop_down_boxes(\%myconfig, \%$form);
sub search {
$lxdebug->enter_sub();
- $label = ucfirst $form->{db};
- $form->{title} = $locale->text($label . "s");
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=db value=$form->{db}>
-
-<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($label . ' Number') . qq|</th>
- <td><input name=$form->{db}number size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Company Name') . qq|</th>
- <td><input name=name size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Contact') . qq|</th>
- <td><input name=contact size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
- <td><input name=email size=35></td>
- </tr>
- <tr>
- <td></td>
- <td><input name=status class=radio type=radio value=all checked> |
- . $locale->text('All') . qq|
- <input name=status class=radio type=radio value=orphaned> |
- . $locale->text('Orphaned') . qq|</td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
- <td>
- <table>
- <tr>
- <td><input name="l_id" type=checkbox class=checkbox value=Y> |
- . $locale->text('ID') . qq|</td>
- <td><input name="l_$form->{db}number" type=checkbox class=checkbox value=Y> |
- . $locale->text($label . ' Number') . qq|</td>
- <td><input name="l_name" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Company Name') . qq|</td>
- <td><input name="l_address" type=checkbox class=checkbox value=Y> |
- . $locale->text('Address') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_contact" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Contact') . qq|</td>
- <td><input name="l_phone" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Phone') . qq|</td>
- <td><input name="l_fax" type=checkbox class=checkbox value=Y> |
- . $locale->text('Fax') . qq|</td>
- <td><input name="l_email" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('E-mail') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_taxnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Tax Number') . qq|</td>
- <td><input name="l_sic_code" type=checkbox class=checkbox value=Y> |
- . $locale->text('SIC') . qq|</td>
- <td><input name="l_business" type=checkbox class=checkbox value=Y> |
- . $locale->text('Type of Business') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_invnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Invoices') . qq|</td>
- <td><input name="l_ordnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Orders') . qq|</td>
- <td><input name="l_quonumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Quotations') . qq|</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
+ $form->{IS_CUSTOMER} = $form->{db} eq 'customer';
-<input type=hidden name=nextsub value=list_names>
+ $form->get_lists("business_types" => "ALL_BUSINESS_TYPES");
+ $form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
+ $form->{title} = $form->{IS_CUSTOMER} ? $locale->text('Customers') : $locale->text('Vendors');
+ $form->{fokus} = 'Form.name';
-<br>
-<input type=submit class=submit name=action value="|
- . $locale->text('Continue') . qq|">
-</form>
+ $form->header();
+ print $form->parse_html_template2('ct/search');
-</body>
-</html>
-|;
- $lxdebug->leave_sub();
-}
-
-sub search_delivery {
- $lxdebug->enter_sub();
-
- $label = ucfirst $form->{db};
- $form->{title} = $locale->text($label . "s");
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=db value=$form->{db}>
-
-<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($label . ' Number') . qq|</th>
- <td><input name=$form->{db}number size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Company Name') . qq|</th>
- <td><input name=name size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Contact') . qq|</th>
- <td><input name=contact size=35></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
- <td><input name=email size=35></td>
- </tr>
- <tr>
- <td></td>
- <td><input name=status class=radio type=radio value=all checked> |
- . $locale->text('All') . qq|
- <input name=status class=radio type=radio value=orphaned> |
- . $locale->text('Orphaned') . qq|</td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
- <td>
- <table>
- <tr>
- <td><input name="l_id" type=checkbox class=checkbox value=Y> |
- . $locale->text('ID') . qq|</td>
- <td><input name="l_$form->{db}number" type=checkbox class=checkbox value=Y> |
- . $locale->text($label . ' Number') . qq|</td>
- <td><input name="l_name" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Company Name') . qq|</td>
- <td><input name="l_address" type=checkbox class=checkbox value=Y> |
- . $locale->text('Address') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_contact" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Contact') . qq|</td>
- <td><input name="l_phone" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('Phone') . qq|</td>
- <td><input name="l_fax" type=checkbox class=checkbox value=Y> |
- . $locale->text('Fax') . qq|</td>
- <td><input name="l_email" type=checkbox class=checkbox value=Y checked> |
- . $locale->text('E-mail') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_taxnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Tax Number') . qq|</td>
- <td><input name="l_sic_code" type=checkbox class=checkbox value=Y> |
- . $locale->text('SIC') . qq|</td>
- <td><input name="l_business" type=checkbox class=checkbox value=Y> |
- . $locale->text('Type of Business') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_invnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Invoices') . qq|</td>
- <td><input name="l_ordnumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Orders') . qq|</td>
- <td><input name="l_quonumber" type=checkbox class=checkbox value=Y> |
- . $locale->text('Quotations') . qq|</td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-
-<input type=hidden name=nextsub value=list_names>
-
-<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('Continue') . qq|">
-</form>
-
-</body>
-</html>
-|;
$lxdebug->leave_sub();
}
sub list_names {
$lxdebug->enter_sub();
- CT->search(\%myconfig, \%$form);
+ $form->{IS_CUSTOMER} = $form->{db} eq 'customer';
- $callback =
- "$form->{script}?action=list_names&db=$form->{db}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}";
- $href = $callback;
-
- @columns =
- $form->sort_columns(id, name,
- "$form->{db}number", address,
- contact, phone,
- fax, email,
- taxnumber,
- sic_code, business,
- invnumber, ordnumber,
- quonumber);
-
- foreach $item (@columns) {
- if ($form->{"l_$item"} eq "Y") {
- push @column_index, $item;
-
- # add column to href and callback
- $callback .= "&l_$item=Y";
- $href .= "&l_$item=Y";
- }
- }
- $number =
- ($form->{db} eq "customer")
- ? $locale->text('Customer Number')
- : $locale->text('Vendor Number');
+ CT->search(\%myconfig, \%$form);
+ my @options;
if ($form->{status} eq 'all') {
- $option = $locale->text('All');
- }
- if ($form->{status} eq 'orphaned') {
- $option .= $locale->text('Orphaned');
+ push @options, $locale->text('All');
+
+ } elsif ($form->{status} eq 'orphaned') {
+ push @options, $locale->text('Orphaned');
}
+
if ($form->{name}) {
- $callback .= "&name=" . $form->escape($form->{name}, 1);
- $href .= "&name=" . $form->escape($form->{name});
- $option .= "\n<br>" . $locale->text('Name') . " : $form->{name}";
+ push @options, $locale->text('Name') . " : $form->{name}";
}
if ($form->{contact}) {
- $callback .= "&contact=" . $form->escape($form->{contact}, 1);
- $href .= "&contact=" . $form->escape($form->{contact});
- $option .= "\n<br>" . $locale->text('Contact') . " : $form->{contact}";
+ push @options, $locale->text('Contact') . " : $form->{contact}";
}
if ($form->{"$form->{db}number"}) {
- $callback .=
- qq|&$form->{db}number=| . $form->escape($form->{"$form->{db}number"}, 1);
- $href .=
- "&$form->{db}number=" . $form->escape($form->{"$form->{db}number"});
- $option .=
- "\n<br>" . $locale->text('Number') . qq| : $form->{"$form->{db}number"}|;
+ push @options, $locale->text('Number') . qq| : $form->{"$form->{db}number"}|;
}
if ($form->{email}) {
- $callback .= "&email=" . $form->escape($form->{email}, 1);
- $href .= "&email=" . $form->escape($form->{email});
- $option .= "\n<br>" . $locale->text('E-mail') . " : $form->{email}";
+ push @options, $locale->text('E-mail') . " : $form->{email}";
}
- $form->{callback} = "$callback&sort=$form->{sort}";
- $callback = $form->escape($form->{callback});
-
- $column_header{id} =
- qq|<th class=listheading>| . $locale->text('ID') . qq|</th>|;
- $column_header{"$form->{db}number"} =
- qq|<th><a class=listheading href=$href&sort=$form->{db}number>$number</a></th>|;
- $column_header{name} =
- qq|<th><a class=listheading href=$href&sort=name>|
- . $locale->text('Name')
- . qq|</a></th>|;
- $column_header{address} =
- qq|<th><a class=listheading href=$href&sort=address>|
- . $locale->text('Address')
- . qq|</a></th>|;
- $column_header{contact} =
- qq|<th><a class=listheading href=$href&sort=contact>|
- . $locale->text('Contact')
- . qq|</a></th>|;
- $column_header{phone} =
- qq|<th><a class=listheading href=$href&sort=phone>|
- . $locale->text('Phone')
- . qq|</a></th>|;
- $column_header{fax} =
- qq|<th><a class=listheading href=$href&sort=fax>|
- . $locale->text('Fax')
- . qq|</a></th>|;
- $column_header{email} =
- qq|<th><a class=listheading href=$href&sort=email>|
- . $locale->text('E-mail')
- . qq|</a></th>|;
- $column_header{cc} =
- qq|<th><a class=listheading href=$href&sort=cc>|
- . $locale->text('Cc')
- . qq|</a></th>|;
-
- $column_header{taxnumber} =
- qq|<th><a class=listheading href=$href&sort=taxnumber>|
- . $locale->text('Tax Number')
- . qq|</a></th>|;
- $column_header{sic_code} =
- qq|<th><a class=listheading href=$href&sort=sic_code>|
- . $locale->text('SIC')
- . qq|</a></th>|;
- $column_header{business} =
- qq|<th><a class=listheading href=$href&sort=business>|
- . $locale->text('Type of Business')
- . qq|</a></th>|;
-
- $column_header{invnumber} =
- qq|<th><a class=listheading href=$href&sort=invnumber>|
- . $locale->text('Invoice')
- . qq|</a></th>|;
- $column_header{ordnumber} =
- qq|<th><a class=listheading href=$href&sort=ordnumber>|
- . $locale->text('Order')
- . qq|</a></th>|;
- $column_header{quonumber} =
- qq|<th><a class=listheading href=$href&sort=quonumber>|
- . $locale->text('Quotation')
- . qq|</a></th>|;
-
- $label = ucfirst $form->{db} . "s";
- $form->{title} = $locale->text($label);
-
- $form->header;
-
- print qq|
-<body>
-
-<table width=100%>
- <tr>
- <th class=listtop>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <td>$option</td>
- </tr>
- <tr>
- <td>
- <table width=100%>
- <tr class=listheading>
-|;
+ my @columns = (
+ 'id', 'name', "$form->{db}number", 'address', 'contact', 'phone',
+ 'fax', 'email', 'taxnumber', 'sic_code', 'business', 'invnumber',
+ 'ordnumber', 'quonumber'
+ );
+
+ my %column_defs = (
+ 'id' => { 'text' => $locale->text('ID'), },
+ "$form->{db}number" => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Customer Number') : $locale->text('Vendor Number'), },
+ 'name' => { 'text' => $locale->text('Name'), },
+ 'address' => { 'text' => $locale->text('Address'), },
+ 'contact' => { 'text' => $locale->text('Contact'), },
+ 'phone' => { 'text' => $locale->text('Phone'), },
+ 'fax' => { 'text' => $locale->text('Fax'), },
+ 'email' => { 'text' => $locale->text('E-mail'), },
+ 'cc' => { 'text' => $locale->text('Cc'), },
+ 'taxnumber' => { 'text' => $locale->text('Tax Number'), },
+ 'sic_code' => { 'text' => $locale->text('SIC'), },
+ 'business' => { 'text' => $locale->text('Type of Business'), },
+ 'invnumber' => { 'text' => $locale->text('Invoice'), },
+ 'ordnumber' => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Sales Order') : $locale->text('Purchase Order'), },
+ 'quonumber' => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Quotation') : $locale->text('Request for Quotation'), },
+ );
+
+ map { $column_defs{$_}->{visible} = $form->{"l_$_"} eq 'Y' } @columns;
+
+ my @hidden_variables = (qw(db status obsolete), map { "l_$_" } @columns);
+ my @hidden_nondefault = grep({ $form->{$_} } @hidden_variables);
+ my $callback = build_std_url('action=list_names', grep { $form->{$_} } @hidden_variables);
+ $form->{callback} = "$callback&sort=" . E($form->{sort});
+
+ map { $column_defs{$_}->{link} = "${callback}&sort=${_}" } @columns;
+
+ my ($ordertype, $quotationtype, $attachment_basename);
+ if ($form->{IS_CUSTOMER}) {
+ $form->{title} = $locale->text('Customers');
+ $ordertype = 'sales_order';
+ $quotationtype = 'sales_quotation';
+ $attachment_basename = $locale->text('customer_list');
+
+ } else {
+ $form->{title} = $locale->text('Vendors');
+ $ordertype = 'purchase_order';
+ $quotationtype = 'request_quotation';
+ $attachment_basename = $locale->text('vendor_list');
+ }
- map { print "$column_header{$_}\n" } @column_index;
+ my $report = SL::ReportGenerator->new(\%myconfig, $form);
- print qq|
- </tr>
-|;
+ $report->set_options('top_info_text' => join("\n", @options),
+ 'raw_bottom_info_text' => $form->parse_html_template2('ct/list_names_bottom'),
+ 'output_format' => 'HTML',
+ 'title' => $form->{title},
+ 'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
+ );
+ $report->set_options_from_form();
- $ordertype = ($form->{db} eq 'customer') ? 'sales_order' : 'purchase_order';
- $quotationtype =
- ($form->{db} eq 'customer') ? 'sales_quotation' : 'request_quotation';
+ $report->set_columns(%column_defs);
+ $report->set_column_order(@columns);
- foreach $ref (@{ $form->{CT} }) {
+ $report->set_export_options('list_names', @hidden_variables);
- if ($ref->{id} eq $sameid) {
- map { $column_data{$_} = "<td> </td>" } @column_index;
- } else {
- map { $column_data{$_} = "<td>$ref->{$_} </td>" } @column_index;
+ $report->set_sort_indicator($form->{sort}, 1);
- map { $column_data{$_} = "<td>$ref->{$_} </td>" }
- (invnumber, ordnumber, quonumber);
+ my $previous_id;
- $column_data{name} =
- "<td align=left><a href=$form->{script}?action=edit&id=$ref->{id}&db=$form->{db}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}&callback=$callback>$ref->{name} </td>";
+ foreach my $ref (@{ $form->{CT} }) {
+ my $row = { map { $_ => { 'data' => '' } } @columns };
- if ($ref->{email}) {
- $email = $ref->{email};
- $email =~ s/</\</;
- $email =~ s/>/\>/;
-
- $column_data{email} =
- qq|<td><a href="mailto:$ref->{email}">$email</a></td>|;
- }
+ if ($ref->{id} ne $previous_id) {
+ $previous_id = $ref->{id};
+ map { $row->{$_}->{data} = $ref->{$_} } @columns;
+ $row->{name}->{link} = build_std_url('action=edit', 'id=' . E($ref->{id}), 'callback', @hidden_nondefault);
+ $row->{email}->{link} = 'mailto:' . E($ref->{email});
}
- if ($ref->{formtype} eq 'invoice') {
- $column_data{invnumber} =
- "<td><a href=$ref->{module}.pl?action=edit&id=$ref->{invid}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{invnumber} </td>";
- }
-
- if ($ref->{formtype} eq 'order') {
- $column_data{ordnumber} =
- "<td><a href=$ref->{module}.pl?action=edit&id=$ref->{invid}&type=$ordertype&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{ordnumber} </td>";
- }
-
- if ($ref->{formtype} eq 'quotation') {
- $column_data{quonumber} =
- "<td><a href=$ref->{module}.pl?action=edit&id=$ref->{invid}&type=$quotationtype&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{quonumber} </td>";
- }
-
- $i++;
- $i %= 2;
- print "
- <tr class=listrow$i>
-";
-
- map { print "$column_data{$_}\n" } @column_index;
-
- print qq|
- </tr>
-|;
-
- $sameid = $ref->{id};
+ my $base_url = build_std_url("script=$ref->{module}.pl", 'action=edit', 'id=' . E($ref->{invid}), 'callback', @hidden_nondefault);
+ $row->{invnumber}->{link} = $base_url;
+ $row->{ordnumber}->{link} = $base_url . "&type=${ordertype}";
+ $row->{quonumber}->{link} = $base_url . "&type=${quotationtype}";
+ my $column = $ref->{formtype} eq 'invoice' ? 'invnumber' : $ref->{formtype} eq 'order' ? 'ordnumber' : 'quonumber';
+ $row->{$column}->{data} = $ref->{$column};
+ $report->add_data($row);
}
- print qq|
- </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-
-<br>
-<form method=post action=$form->{script}>
-
-<input name=callback type=hidden value="$form->{callback}">
-<input name=db type=hidden value=$form->{db}>
-
-<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 class=submit type=submit name=action value="|
- . $locale->text('Add') . qq|">
-
- </form>
-
-</body>
-</html>
-|;
+ $report->generate_with_headers();
$lxdebug->leave_sub();
}
sub form_header {
$lxdebug->enter_sub();
- $form->get_lists("employees" => "ALL_SALESMEN");
+ $form->get_lists("employees" => "ALL_SALESMEN",
+ "taxzones" => "ALL_TAXZONES");
$form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
$form->{creditlimit} =
}
}
- if (@{ $form->{TAXZONE} }) {
- foreach $item (@{ $form->{TAXZONE} }) {
- if ($item->{id} == $form->{taxzone_id}) {
- $form->{selecttaxzone} .=
- "<option value=$item->{id} selected>$item->{description}\n";
- } else {
- $form->{selecttaxzone} .=
- "<option value=$item->{id}>$item->{description}\n";
- }
-
- }
+ %labels = ();
+ @values = ();
+ foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+ push(@values, $item->{"id"});
+ $labels{$item->{"id"}} = $item->{"description"};
}
$taxzone = qq|
<th align=right>| . $locale->text('Steuersatz') . qq|</th>
- <td><select name=taxzone_id>$form->{selecttaxzone}</select></td>
- <input type=hidden name=selecttaxzone value="$form->{selecttaxzone}">
+ <td>| .
+ NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+ '-values' => \@values, '-labels' => \%labels)) . qq|
+ </td>
|;
$get_contact_url =
- "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=get_contact";
+ "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_contact";
my $pjx = new CGI::Ajax( 'get_contact' => $get_contact_url );
- $form->{selectcontact} = "<option value=0></option>";
+ $form->{selectcontact} = "<option value=0>" . $locale->text('New contact') . "</option>";
if (@{ $form->{CONTACTS} }) {
foreach $item (@{ $form->{CONTACTS} }) {
if ($item->{cp_id} == $form->{cp_id}) {
<input type=hidden name=selectcontact value="$form->{selectcontact}">
</tr>|;
$get_shipto_url =
- "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=get_shipto";
+ "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_shipto";
my $pjy = new CGI::Ajax( 'get_shipto' => $get_shipto_url );
$form->{selectshipto} = "<option value=0></option>";
$get_delivery_url =
- "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=get_delivery";
+ "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_delivery";
my $pjz = new CGI::Ajax( 'get_delivery' => $get_delivery_url );
if ($form->{db} eq 'vendor') {
$customer = qq|
<th align=right>| . $locale->text('Kundennummer') . qq|</th>
- <td><input name=v_customer_id size=10 tabindex=18 maxlength=35 value="$form->{v_customer_id}"></td>
+ <td><input name=v_customer_id size=10 maxlength=35 value="$form->{v_customer_id}"></td>
|;
}
$customer = qq|
<th align=right>| . $locale->text('KNr. beim Kunden') . qq|</th>
- <td><input name=c_vendor_id size=10 tabindex=18 maxlength=35 value="$form->{c_vendor_id}"></td>
+ <td><input name=c_vendor_id size=10 maxlength=35 value="$form->{c_vendor_id}"></td>
|;
}
$business = qq|
<th align=right>| . $locale->text('Type of Business') . qq|</th>
- <td><select name=business tabindex=22>$form->{selectbusiness}</select></td>
+ <td><select name=business>$form->{selectbusiness}</select></td>
|;
$salesman = "";
s/(<option value="\Q$form->{klass}\E")/$1 selected/;
$pricegroup .=
- qq|<select name=klass tabindex=24>$form->{selectpricegroup}</select>|;
+ qq|<select name=klass>$form->{selectpricegroup}</select>|;
}
}
<tr>
$business
<th align=right>| . $locale->text('Language') . qq|</th>
- <td><select name=language_id tabindex=23>$lang
+ <td><select name=language_id>$lang
</select></td>|;
if ($form->{db} eq 'customer') {
$ansprechpartner
<tr>
<th align=left nowrap>| . $locale->text('Greeting') . qq|</th>
- <td><input id=cp_greeting name=cp_greeting size=30 maxlength=30 value="$form->{cp_greeting}">
+ <td><input id=cp_greeting name=cp_greeting size=40 maxlength=40 value="$form->{cp_greeting}">
$select_greeting</td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Title') . qq|</th>
- <td><input id=cp_title name=cp_title size=30 maxlength=30 value="$form->{cp_title}">
+ <td><input id=cp_title name=cp_title size=40 maxlength=40 value="$form->{cp_title}">
$select_title</td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Department') . qq|</th>
- <td><input id=cp_abteilung name=cp_abteilung size=30 maxlength=40 value="$form->{cp_abteilung}">
+ <td><input id=cp_abteilung name=cp_abteilung size=40 maxlength=40 value="$form->{cp_abteilung}">
$select_department</td>
</tr>
<tr>
<th align=left nowrap>|
. $locale->text('Given Name') . qq|</th>
- <td><input id=cp_givenname name=cp_givenname size=30 maxlength=40 value="$form->{cp_givenname}"></td>
+ <td><input id=cp_givenname name=cp_givenname size=40 maxlength=40 value="$form->{cp_givenname}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Name') . qq|</th>
- <td><input id=cp_name name=cp_name size=30 maxlength=40 value="$form->{cp_name}"></td>
+ <td><input id=cp_name name=cp_name size=40 maxlength=40 value="$form->{cp_name}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Phone1') . qq|</th>
- <td><input id=cp_phone1 name=cp_phone1 size=30 maxlength=30 value="$form->{cp_phone1}"></td>
+ <td><input id=cp_phone1 name=cp_phone1 size=40 maxlength=40 value="$form->{cp_phone1}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Phone2') . qq|</th>
- <td><input id=cp_phone2 name=cp_phone2 size=30 maxlength=30 value="$form->{cp_phone2}"></td>
+ <td><input id=cp_phone2 name=cp_phone2 size=40 maxlength=40 value="$form->{cp_phone2}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Fax') . qq|</th>
- <td><input id=cp_fax name=cp_fax size=30 maxlength=30 value="$form->{cp_fax}"></td>
+ <td><input id=cp_fax name=cp_fax size=40 maxlength=40 value="$form->{cp_fax}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Mobile1') . qq|</th>
- <td><input id=cp_mobile1 name=cp_mobile1 size=30 maxlength=30 value="$form->{cp_mobile1}"></td>
+ <td><input id=cp_mobile1 name=cp_mobile1 size=40 maxlength=40 value="$form->{cp_mobile1}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Mobile2') . qq|</th>
- <td><input id=cp_mobile2 name=cp_mobile2 size=30 maxlength=30 value="$form->{cp_mobile2}"></td>
+ <td><input id=cp_mobile2 name=cp_mobile2 size=40 maxlength=40 value="$form->{cp_mobile2}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Sat. Phone') . qq|</th>
- <td><input id=cp_satphone name=cp_satphone size=30 maxlength=30 value="$form->{cp_satphone}"></td>
+ <td><input id=cp_satphone name=cp_satphone size=40 maxlength=40 value="$form->{cp_satphone}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Sat. Fax') . qq|</th>
- <td><input id=cp_satfax name=cp_satfax size=30 maxlength=30 value="$form->{cp_satfax}"></td>
+ <td><input id=cp_satfax name=cp_satfax size=40 maxlength=40 value="$form->{cp_satfax}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Project') . qq|</th>
- <td><input id=cp_project name=cp_project size=30 maxlength=40 value="$form->{cp_project}"></td>
+ <td><input id=cp_project name=cp_project size=40 maxlength=40 value="$form->{cp_project}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('E-mail') . qq|</th>
- <td><input id=cp_email name=cp_email size=30 maxlength=40 value="$form->{cp_email}"></td>
+ <td><input id=cp_email name=cp_email size=40 maxlength=40 value="$form->{cp_email}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Private Phone') . qq|</th>
- <td><input id=cp_privatphone name=cp_privatphone size=30 maxlength=40 value="$form->{cp_privatphone}"></td>
+ <td><input id=cp_privatphone name=cp_privatphone size=40 maxlength=40 value="$form->{cp_privatphone}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Private E-mail') . qq|</th>
- <td><input id=cp_privatemail name=cp_privatemail size=30 maxlength=40 value="$form->{cp_privatemail}"></td>
+ <td><input id=cp_privatemail name=cp_privatemail size=40 maxlength=40 value="$form->{cp_privatemail}"></td>
</tr>
<tr>
<th align=left nowrap>| . $locale->text('Birthday') . qq|</th>
- <td><input id=cp_birthday name=cp_birthday size=30 maxlength=40 value="$form->{cp_birthday}"></td>
+ <td><input id=cp_birthday name=cp_birthday size=40 maxlength=40 value="$form->{cp_birthday}"></td>
</tr>
</table>
<input name=business_save type=hidden value="$form->{selectbusiness}">
<input name=title_save type=hidden value="$form->{title}">
-<input type=hidden name=path value=$form->{path}>
<input type=hidden name=login value=$form->{login}>
<input type=hidden name=password value=$form->{password}>
# # /saving the history
$form->isblank("name", $locale->text("Name missing!"));
- &{"CT::save_$form->{db}"}("", \%myconfig, \%$form);
+ if ($form->{"db"} eq "customer") {
+ CT->save_customer(\%myconfig, \%$form);
+ } else {
+ CT->save_vendor(\%myconfig, \%$form);
+ }
$form->{callback} = $form->escape($form->{callback}, 1);
$name = $form->escape("$form->{name}", 1);
$form->{callback} =
- "$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}&callback=$form->{callback}";
+ "$form->{script}?login=$form->{login}&password=$form->{password}&action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&callback=$form->{callback}";
$form->redirect;
$lxdebug->leave_sub();
$form->{script} = "ap.pl";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$form->{script} = "ar.pl";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$form->{type} = "invoice";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$form->{type} = "request_quotation";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$form->{type} = "sales_quotation";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
($form->{db} eq 'customer') ? "sales_order" : "purchase_order";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$imsg .= " saved!";
$form->isblank("name", $locale->text("Name missing!"));
- $rc = &{"CT::save_$form->{db}"}("", \%myconfig, \%$form);
+ if ($form->{"db"} eq "customer") {
+ $rc = CT->save_customer(\%myconfig, \%$form);
+ } else {
+ $rc = CT->save_vendor(\%myconfig, \%$form);
+ }
if ($rc == 3) {
$form->error($locale->text('customernumber not unique!'));
}
# saving the history
if(!exists $form->{addition}) {
- $form->{addition} = "SAVED";
+ $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
+ $form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
$form->isblank("name", $locale->text("Name missing!"));
- my $res = &{"CT::save_$form->{db}"}("", \%myconfig, \%$form);
+ my $res;
+ if ($form->{"db"} eq "customer") {
+ $res = CT->save_customer(\%myconfig, \%$form);
+ } else {
+ $res = CT->save_vendor(\%myconfig, \%$form);
+ }
if (3 == $res) {
if ($form->{"db"} eq "customer") {
}
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
$form->{addition} = "SAVED";
$form->save_history($form->dbconnect(\%myconfig));
}
$msg .= " deleted!";
# saving the history
if(!exists $form->{addition}) {
+ $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
$form->{addition} = "DELETED";
$form->save_history($form->dbconnect(\%myconfig));
}
}
-sub continue { &{ $form->{nextsub} } }
+sub continue { call_sub($form->{nextsub}); }