X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fct.pl;h=8940fb950bf7d17bfe6ba69acca30c4f36aba207;hb=aed9138b359fee7e7652fc9f90ee746a004010b3;hp=a1bfc255d6f3606892cf269d606e4e911a9b8e3d;hpb=8ec0d29a33e23ce962b807e87cc8b577c8c98ec2;p=kivitendo-erp.git diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl index a1bfc255d..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}> @@ -313,7 +333,7 @@ sub list_names { 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 = @@ -321,7 +341,7 @@ sub list_names { "$form->{db}number", address, contact, phone, fax, email, - taxnumber, gifi_accno, + taxnumber, sic_code, business, invnumber, ordnumber, quonumber); @@ -410,10 +430,6 @@ sub list_names { qq|| . $locale->text('Tax Number') . qq||; - $column_header{gifi_accno} = - qq|| - . $locale->text('GIFI') - . qq||; $column_header{sic_code} = qq|| . $locale->text('SIC') @@ -479,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} "; if ($ref->{email}) { $email = $ref->{email}; @@ -494,17 +510,17 @@ sub list_names { if ($ref->{formtype} eq 'invoice') { $column_data{invnumber} = - "{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} "; } if ($ref->{formtype} eq 'order') { $column_data{ordnumber} = - "{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} "; } if ($ref->{formtype} eq 'quotation') { $column_data{quonumber} = - "{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} "; } $i++; @@ -538,7 +554,6 @@ sub list_names { {db}> -{path}> {login}> {password}> @@ -557,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; @@ -579,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); @@ -620,31 +643,26 @@ sub form_header { } } - if (@{ $form->{TAXZONE} }) { - foreach $item (@{ $form->{TAXZONE} }) { - if ($item->{id} == $form->{taxzone_id}) { - $form->{selecttaxzone} .= - ""; + $form->{selectcontact} = ""; if (@{ $form->{CONTACTS} }) { foreach $item (@{ $form->{CONTACTS} }) { if ($item->{cp_id} == $form->{cp_id}) { @@ -665,7 +683,7 @@ 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} = ""; @@ -693,7 +711,7 @@ sub form_header { $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 ); @@ -705,35 +723,6 @@ sub form_header { |; - 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| - - | . $locale->text('Taxable') . qq| - - - - - - - -
$taxable{taxincluded}>| . $locale->text('Tax Included') . qq|
- - -|; - } $form->{selectbusiness} = qq| @@ -1260,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(); @@ -1281,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(); } @@ -1290,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(); } @@ -1300,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(); } @@ -1310,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(); } @@ -1320,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(); } @@ -1331,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(); } @@ -1346,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(); @@ -1368,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(); @@ -1391,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}"; @@ -1411,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(); @@ -1598,7 +1491,6 @@ sub get_contact { } - sub get_shipto { $lxdebug->enter_sub(); @@ -1696,4 +1588,4 @@ sub get_delivery { } -sub continue { &{ $form->{nextsub} } } +sub continue { call_sub($form->{nextsub}); }