X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fct.pl;h=8940fb950bf7d17bfe6ba69acca30c4f36aba207;hb=aed9138b359fee7e7652fc9f90ee746a004010b3;hp=5cc821a4504eacc7297682015c59838c03bdbc8b;hpb=031b7054f3738ca19397cefa9127c5db17124bda;p=kivitendo-erp.git diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl index 5cc821a45..8940fb950 100644 --- a/bin/mozilla/ct.pl +++ b/bin/mozilla/ct.pl @@ -42,6 +42,8 @@ use CGI::Ajax; use CGI; use Data::Dumper; +require "bin/mozilla/common.pl"; + 1; # end of main @@ -52,10 +54,10 @@ sub add { $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->taxaccounts(\%myconfig, \%$form); + CT->populate_drop_down_boxes(\%myconfig, \%$form); &form_header; &form_footer; @@ -66,22 +68,41 @@ sub add { sub search { $lxdebug->enter_sub(); - $label = ucfirst $form->{db}; - $form->{title} = $locale->text($label . "s"); + my $vc_business_type = $form->{db} eq "customer" ? + $locale->text("Customer type") : $locale->text("Vendor type"); - if ($form->{db} eq 'vendor') { - $gifi = qq| - | - . $locale->text('GIFI') . qq| + $form->get_lists("business_types" => "ALL_BUSINESS_TYPES"); + my (%labels, @values); + + my $business_types; + if (scalar(@{ $form->{ALL_BUSINESS_TYPES} }) != 0) { + push(@values, undef); + foreach my $item (@{ $form->{ALL_BUSINESS_TYPES} }) { + push(@values, $item->{id}); + $labels{$item->{id}} = $item->{description}; + } + + $business_types = + qq| + ${vc_business_type} + | + . NTI($cgi->popup_menu('-name' => 'business_id', '-values' => \@values, + '-labels' => \%labels)) + . qq| + |; } + $label = ucfirst $form->{db}; + $form->{title} = $locale->text($label . "s"); + $form->{fokus} = 'Form.name'; + $form->header; print qq| - + -
{script}> +{script} name="Form"> {db}> @@ -109,12 +130,22 @@ sub search { | . $locale->text('E-mail') . qq| + $business_types  | . $locale->text('All') . qq|  | . $locale->text('Orphaned') . qq| + + + +  | + . $locale->text('All') . qq| +  | + . $locale->text('Obsolete') . qq| +  | + . $locale->text('Not obsolete') . qq| | . $locale->text('Include in Report') . qq| @@ -143,11 +174,10 @@ sub search { | . $locale->text('Tax Number') . qq| - $gifi | . $locale->text('SIC') . qq| | - . $locale->text('Type of Business') . qq| + . $vc_business_type . qq| | @@ -170,7 +200,6 @@ sub search { -{path}> {login}> {password}> @@ -191,13 +220,6 @@ sub search_delivery { $label = ucfirst $form->{db}; $form->{title} = $locale->text($label . "s"); - if ($form->{db} eq 'vendor') { - $gifi = qq| - | - . $locale->text('GIFI') . qq| -|; - } - $form->header; print qq| @@ -265,7 +287,6 @@ sub search_delivery { | . $locale->text('Tax Number') . qq| - $gifi | . $locale->text('SIC') . qq| | @@ -292,7 +313,6 @@ sub search_delivery { -{path}> {login}> {password}> @@ -307,231 +327,13 @@ sub search_delivery { $lxdebug->leave_sub(); } -sub search_adr { - $lxdebug->enter_sub(); - - $form->{title} = $locale->text('ADR Report'); - - # use JavaScript Calendar or not - $form->{jsscript} = $jscalendar; - $jsscript = ""; - - if ($form->{jsscript}) { - - # with JavaScript Calendar - $button1 = qq| - {from}> - text('button') . qq|> - |; - $button2 = qq| - {to}> - text('button') . qq|> - |; - - - #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "2", - "from", "BL", - "trigger1", "to", - "BL", "trigger2"); - } else { - - # without JavaScript Calendar - $button1 = - qq|{from}>|; - $button2 = - qq|{to}>|; - } - - $form->header; - - print qq| - - -{script}> - - - - - - - - - - - - - -
$form->{title}
- - - - - - - $button1 - - - - $button2 - - - - - -
| . $locale->text('Year') . qq|{year}>
| . $locale->text('From') . qq|
| . $locale->text('Bis') . qq|
 | - . $locale->text('HTML') . qq| -  | - . $locale->text('CSV') . qq|
-

-$jsscript - - -{path}> -{login}> -{password}> - -
- -
- - - -|; - $lxdebug->leave_sub(); -} -sub adr_report { - $lxdebug->enter_sub(); - - CT->adr(\%myconfig, \%$form); - - $form->{title} = $locale->text('ADR Report'); - if ($form->{from} || $form->{to}) { - $option = "Für den Zeitraum $form->{from} bis $form->{to}"; - } elsif ($form->{year}) { - $option = "Für das Jahr $form->{year}"; - } - - if ($form->{format} eq "html") { - $form->header(); - print qq| - - - - - - - - - - -
$form->{title}
$option
|; - - - @column_index = - $form->sort_columns(adr_code, - adr_description, - sum, - unit); - - - - $column_header{adr_code} = - qq|| . $locale->text('ADR Code') . qq||; - $column_header{adr_description} = - qq||. $locale->text('ADR Description'). qq||; - $column_header{sum} = - qq||. $locale->text('Quantity'). qq||; - $column_header{unit} = - qq|| . $locale->text('Unit') . qq||; - - print qq| - - - - |; - $column_header{gifi_accno} = - qq||; $column_header{sic_code} = qq|"; + ""; if ($ref->{email}) { $email = $ref->{email}; @@ -712,17 +510,17 @@ sub list_names { if ($ref->{formtype} eq 'invoice') { $column_data{invnumber} = - ""; + ""; } if ($ref->{formtype} eq 'order') { $column_data{ordnumber} = - ""; + ""; } if ($ref->{formtype} eq 'quotation') { $column_data{quonumber} = - ""; + ""; } $i++; @@ -756,19 +554,12 @@ sub list_names { {db}> -{path}> {login}> {password}> |; + . $locale->text('Add') . qq|"> - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| @@ -781,10 +572,15 @@ sub list_names { sub edit { $lxdebug->enter_sub(); + # show history button + $form->{javascript} = qq||; + #/show hhistory button + # $locale->text('Edit Customer') # $locale->text('Edit Vendor') CT->get_tuple(\%myconfig, \%$form); + CT->populate_drop_down_boxes(\%myconfig, \%$form); # format " into " map { $form->{$_} =~ s/\"/"/g } keys %$form; @@ -803,6 +599,9 @@ sub edit { sub form_header { $lxdebug->enter_sub(); + $form->get_lists("employees" => "ALL_SALESMEN", + "taxzones" => "ALL_TAXZONES"); + $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : ""; $form->{creditlimit} = $form->format_amount(\%myconfig, $form->{creditlimit}, 0); @@ -844,31 +643,26 @@ sub form_header { } } - if (@{ $form->{TAXZONE} }) { - foreach $item (@{ $form->{TAXZONE} }) { - if ($item->{id} == $form->{taxzone_id}) { - $form->{selecttaxzone} .= - " - - - |; + +|; $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} = ""; + $form->{selectcontact} = ""; if (@{ $form->{CONTACTS} }) { foreach $item (@{ $form->{CONTACTS} }) { if ($item->{cp_id} == $form->{cp_id}) { @@ -889,18 +683,19 @@ sub form_header { |; $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} = ""; + $form->{selectshipto} .= ""; if (@{ $form->{SHIPTO} }) { foreach $item (@{ $form->{SHIPTO} }) { - if ($item->{id} == $form->{shipto_id}) { + if ($item->{shipto_id} == $form->{shipto_id}) { $form->{selectshipto} .= - " - + |; - foreach $item (split / /, $form->{taxaccounts}) { - if (($form->{tax}{$item}{taxable}) || !($form->{id})) { - $taxable .= - qq|  $form->{tax}{$item}{description}|; - } else { - $taxable .= - qq|  $form->{tax}{$item}{description}|; - } - } - -##LINET - $taxable = ""; - - if ($taxable) { - $tax = qq| - - - - -|; - } $form->{selectbusiness} = qq| - + |; } @@ -988,35 +754,31 @@ sub form_header { $customer = qq| - + |; } - $business_salesman = ""; - $business = ""; - if ($vertreter) { - $business_salesman = qq| - - - |; - $business = qq| - - - - |; - } else { - $business = qq| + + $business = qq| - + |; + + $salesman = ""; + + if ($form->{db} eq "customer") { + my (@salesman_values, %salesman_labels); + push(@salesman_values, undef); + foreach my $item (@{ $form->{ALL_SALESMEN} }) { + push(@salesman_values, $item->{id}); + $salesman_labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; + } + + $salesman = + qq| + |; } ## LINET: Create a drop-down box with all prior titles and greetings. @@ -1073,7 +835,7 @@ sub form_header { s/(
- - -|; - - map { print "$column_header{$_}\n" } @column_index; - - print qq| - -|; - - - foreach $ref (@{ $form->{ADR} }) { - - map { $column_data{$_} = "" } @column_index; - - - $i++; - $i %= 2; - print " - -"; - - map { print "$column_data{$_}\n" } @column_index; - - print qq| - -|; - - - } - - print qq| -
$ref->{$_} 
- - -|; - } else { - my $filename = "adr-report-$form->{from}-$form->{to}.csv"; - if ($form->{year}) { - $filename = "adr-report-$form->{year}.csv"; - } - @column_index = - $form->sort_columns(adr_code, - adr_description, - sum, - unit); - - $tmpfile = qq|ADR Code;ADR Beschreibung;Menge;Einheit\n|; - foreach $ref (@{ $form->{ADR} }) { - - map { $column_data{$_} = qq|"$ref->{$_}"| } @column_index; - - $line = ""; - map { $line .= "$column_data{$_};" } @column_index; - chomp($line); - $tmpfile .= qq|$line\n|;; - } - - my $size = length($tmpfile); - # launch application - print qq|Content-Type: application/csv -Content-Disposition: attachment; filename="$filename" -Content-Length: $size - -$tmpfile -|; - } - - $lxdebug->leave_sub(); -} - sub list_names { $lxdebug->enter_sub(); CT->search(\%myconfig, \%$form); $callback = - "$form->{script}?action=list_names&db=$form->{db}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}"; + "$form->{script}?action=list_names&db=$form->{db}&login=$form->{login}&password=$form->{password}&status=$form->{status}&obsolete=$form->{obsolete}"; $href = $callback; @columns = @@ -539,7 +341,7 @@ sub list_names { "$form->{db}number", address, contact, phone, fax, email, - taxnumber, gifi_accno, + taxnumber, sic_code, business, invnumber, ordnumber, quonumber); @@ -628,10 +430,6 @@ sub list_names { qq|
| . $locale->text('Tax Number') . qq|| - . $locale->text('GIFI') - . qq|| . $locale->text('SIC') @@ -697,7 +495,7 @@ sub list_names { (invnumber, ordnumber, quonumber); $column_data{name} = - "{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} {script}?action=edit&id=$ref->{id}&db=$form->{db}&login=$form->{login}&password=$form->{password}&status=$form->{status}&callback=$callback>$ref->{name} {module}.pl?action=edit&id=$ref->{invid}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{invnumber} {module}.pl?action=edit&id=$ref->{invid}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{invnumber} {module}.pl?action=edit&id=$ref->{invid}&type=$ordertype&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{ordnumber} {module}.pl?action=edit&id=$ref->{invid}&type=$ordertype&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{ordnumber} {module}.pl?action=edit&id=$ref->{invid}&type=$quotationtype&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{quonumber} {module}.pl?action=edit&id=$ref->{invid}&type=$quotationtype&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{quonumber} 
| . $locale->text('Steuersatz') . qq|
| . + NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, + '-values' => \@values, '-labels' => \%labels)) . qq| +
| . $locale->text('Shipping Address') . qq|
| . $locale->text('Taxable') . qq| - - - - - - -
$taxable{taxincluded}>| . $locale->text('Tax Included') . qq|
-
| . $locale->text('Kundennummer') . qq|| . $locale->text('KNr. beim Kunden') . qq|
- - - - - - - -
| . $locale->text('Type of Business') . qq|| . $locale->text('Salesman') . qq|
-
| . $locale->text('Username') . qq|| . $locale->text('Password') . qq|| . $locale->text('Type of Business') . qq|| . $locale->text('Salesman') . qq|| . + NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id}, + '-values' => \@salesman_values, '-labels' => \%salesman_labels)) + . qq|
- $business_salesman @@ -1171,9 +933,9 @@ sub form_header { - - + + + @@ -1182,7 +944,7 @@ sub form_header { - + $customer @@ -1196,7 +958,7 @@ sub form_header { $business - |; if ($form->{db} eq 'customer') { @@ -1209,11 +971,11 @@ sub form_header { - - - $taxzone + + $taxzone + $salesman +
| . $locale->text($label . ' Number') . qq| {db}number"}">
| . $locale->text('Credit Limit') . qq| | . $locale->text('Terms: Net') . qq|| - . $locale->text('days') . qq|| . $locale->text('Payment Terms') . qq| | . $locale->text('Discount') . qq| %| . $locale->text('Tax Number / SSN') . qq| | . $locale->text('USt-IdNr.') . qq|
| . $locale->text('Language') . qq|
| . $locale->text('Obsolete') . qq| {obsolete}>| . $locale->text('Payment Terms') . qq|
@@ -1295,75 +1057,75 @@ $shipto $ansprechpartner - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| . $locale->text('Greeting') . qq|  +   $select_greeting
| . $locale->text('Title') . qq|  +   $select_title
| . $locale->text('Department') . qq|  +   $select_department
| . $locale->text('Given Name') . qq|
| . $locale->text('Name') . qq|
| . $locale->text('Phone1') . qq|
| . $locale->text('Phone2') . qq|
| . $locale->text('Fax') . qq|
| . $locale->text('Mobile1') . qq|
| . $locale->text('Mobile2') . qq|
| . $locale->text('Sat. Phone') . qq|
| . $locale->text('Sat. Fax') . qq|
| . $locale->text('Project') . qq|
| . $locale->text('E-mail') . qq|
| . $locale->text('Private Phone') . qq|
| . $locale->text('Private E-mail') . qq|
| . $locale->text('Birthday') . qq|
@@ -1385,9 +1147,11 @@ $shipto $delivery | . $locale->text('From') . qq| - - | . $locale->text('Bis') . qq| - + + + | . $locale->text('To (time)') . qq| + + @@ -1400,7 +1164,8 @@ $shipto -|; +| . $form->write_trigger(\%myconfig, 2, "fromB", "BL", "trigger_from", + "toB", "BL", "trigger_to"); $lxdebug->leave_sub(); } @@ -1417,13 +1182,6 @@ sub form_footer { ($form->{db} eq 'customer') ? $locale->text('Save and AR Transaction') : $locale->text('Save and AP Transaction'); - if ($vertreter) { - $update_button = - qq||; - } else { - $update_button = ""; - } ## ## @@ -1431,22 +1189,19 @@ sub form_footer { ## print qq| -{id}> - +{id}> -{path}> {login}> {password}> -{db}> +{db}>
-$update_button \n|; } - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; + # button for saving history + if($form->{id} ne "") { + print qq| + {id} + . qq|); name=history id=history value=| + . $locale->text('history') + . qq|>|; } + # /button for saving history print qq| @@ -1487,18 +1248,25 @@ initializetabcontent("maintab") sub add_transaction { $lxdebug->enter_sub(); +# # saving the history +# if(!exists $form->{addition}) { +# $form->{addition} = "ADD TRANSACTION"; +# $form->save_history($form->dbconnect(\%myconfig)); +# } +# # /saving the history + $form->isblank("name", $locale->text("Name missing!")); - if ($vertreter && $form->{db} eq "customer") { - $form->isblank("salesman_id", $locale->text("Salesman missing!")); + if ($form->{"db"} eq "customer") { + CT->save_customer(\%myconfig, \%$form); + } else { + CT->save_vendor(\%myconfig, \%$form); } - &{"CT::save_$form->{db}"}("", \%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(); @@ -1508,8 +1276,14 @@ sub save_and_ap_transaction { $lxdebug->enter_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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1517,8 +1291,14 @@ sub save_and_ar_transaction { $lxdebug->enter_sub(); $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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1527,8 +1307,14 @@ sub save_and_invoice { $form->{script} = ($form->{db} eq 'customer') ? "is.pl" : "ir.pl"; $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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1537,8 +1323,14 @@ sub save_and_rfq { $form->{script} = "oe.pl"; $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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1547,8 +1339,14 @@ sub save_and_quotation { $form->{script} = "oe.pl"; $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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1558,8 +1356,14 @@ sub save_and_order { $form->{script} = "oe.pl"; $form->{type} = ($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)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1573,13 +1377,21 @@ sub save_and_close { $imsg .= " saved!"; $form->isblank("name", $locale->text("Name missing!")); - if ($vertreter && $form->{db} eq "customer") { - $form->isblank("salesman_id", $locale->text("Salesman missing!")); + if ($form->{"db"} eq "customer") { + $rc = CT->save_customer(\%myconfig, \%$form); + } else { + $rc = CT->save_vendor(\%myconfig, \%$form); } - $rc = &{"CT::save_$form->{db}"}("", \%myconfig, \%$form); if ($rc == 3) { $form->error($locale->text('customernumber not unique!')); } + # 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)); + } + # /saving the history $form->redirect($locale->text($msg)); $lxdebug->leave_sub(); @@ -1595,12 +1407,28 @@ sub save { $imsg .= " saved!"; $form->isblank("name", $locale->text("Name missing!")); - if ($vertreter && $form->{db} eq "customer") { - $form->isblank("salesman_id", $locale->text("Salesman missing!")); + + my $res; + if ($form->{"db"} eq "customer") { + $res = CT->save_customer(\%myconfig, \%$form); + } else { + $res = CT->save_vendor(\%myconfig, \%$form); } - print(STDERR "SHIPTO in sub save $form->{shipto_id}\n"); - &{"CT::save_$form->{db}"}("", \%myconfig, \%$form); + if (3 == $res) { + if ($form->{"db"} eq "customer") { + $form->error($locale->text('This customer number is already in use.')); + } else { + $form->error($locale->text('This vendor number is already in use.')); + } + } + # 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)); + } + # /saving the history &edit; exit; $lxdebug->leave_sub(); @@ -1618,6 +1446,13 @@ sub delete { $msg = ucfirst $form->{db}; $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)); + } + # /saving the history $form->redirect($locale->text($msg)); $msg = "Cannot delete $form->{db}"; @@ -1638,179 +1473,10 @@ sub display { sub update { $lxdebug->enter_sub(); - &check_salesman($form->{salesman}); - - # $form->get_salesman(\%myconfig, $form->{salesman}); &display(); $lxdebug->leave_sub(); } -sub check_salesman { - $lxdebug->enter_sub(); - - my ($name) = @_; - - my ($new_name, $new_id) = split /--/, $form->{$name}; - my $i = 0; - - # check name, combine name and id - if ($form->{"oldsalesman"} ne $form->{"salesman"}) { - - # return one name or a list of names in $form->{name_list} - if (($i = $form->get_salesman(\%myconfig, $name)) > 1) { - &select_salesman($name); - exit; - } - - if ($i == 1) { - - # we got one name - $form->{"salesman_id"} = $form->{salesman_list}[0]->{id}; - $form->{salesman} = $form->{salesman_list}[0]->{name}; - $form->{"oldsalesman"} = $form->{salesman}; - - } else { - - # name is not on file - # $locale->text('Customer not on file!') - # $locale->text('Vendor not on file!') - $msg = ucfirst $name . " not on file or locked!"; - $form->error($locale->text($msg)); - } - } - - $lxdebug->leave_sub(); - - return $i; -} - -sub select_salesman { - $lxdebug->enter_sub(); - - my ($table) = @_; - - @column_index = qw(ndx name); - - $label = ucfirst $table; - $column_data{ndx} = qq| |; - $column_data{name} = - qq|| . $locale->text($label) . qq||; - - # list items with radio button on a form - $form->header; - - $title = $locale->text('Select from one of the names below'); - - print qq| - - -
{script}> - - - - - - - - - - - - -
$title
- - |; - - map { print "\n$column_data{$_}" } @column_index; - - print qq| - -|; - - my $i = 0; - foreach $ref (@{ $form->{salesman_list} }) { - $checked = ($i++) ? "" : "checked"; - - $ref->{name} =~ s/\"/"/g; - - $column_data{ndx} = - qq||; - $column_data{name} = - qq||; - - $j++; - $j %= 2; - print qq| - |; - - map { print "\n$column_data{$_}" } @column_index; - - print qq| - - -{id}> - -|; - - } - - print qq| -
$ref->{name}
-

- - - -|; - - # delete variables - map { delete $form->{$_} } qw(action name_list header); - - # save all other form variables - foreach $key (keys %${form}) { - $form->{$key} =~ s/\"/"/g; - print qq|\n|; - } - - print qq| - - - -
- -
- - - -|; - - $lxdebug->leave_sub(); -} - -sub salesman_selected { - $lxdebug->enter_sub(); - - # replace the variable with the one checked - - # index for new item - $i = $form->{ndx}; - - $form->{salesman} = $form->{"new_name_$i"}; - $form->{"salesman_id"} = $form->{"new_id_$i"}; - $form->{"oldsalesman"} = $form->{salesman}; - - # delete all the new_ variables - for $i (1 .. $form->{lastndx}) { - map { delete $form->{"new_${_}_$i"} } (id, name); - } - - map { delete $form->{$_} } qw(ndx lastndx nextsub); - - &update(1); - - $lxdebug->leave_sub(); -} - sub get_contact { $lxdebug->enter_sub(); @@ -1825,7 +1491,6 @@ sub get_contact { } - sub get_shipto { $lxdebug->enter_sub(); @@ -1843,7 +1508,7 @@ sub get_shipto { sub get_delivery { $lxdebug->enter_sub(); - CT->get_delivery(\%myconfig, \%$form); + CT->get_delivery(\%myconfig, \%$form ); @column_index = $form->sort_columns(shiptoname, @@ -1851,7 +1516,6 @@ sub get_delivery { ordnumber, transdate, description, - adr_code, qty, unit); @@ -1867,8 +1531,6 @@ sub get_delivery { qq|| . $locale->text('Invdate') . qq||; $column_header{description} = qq|| . $locale->text('Description') . qq||; - $column_header{adr_code} = - qq|| . $locale->text('ADR') . qq||; $column_header{qty} = qq|| . $locale->text('Qty') . qq||; $column_header{unit} = @@ -1926,4 +1588,4 @@ sub get_delivery { } -sub continue { &{ $form->{nextsub} } } +sub continue { call_sub($form->{nextsub}); }