X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fct.pl;h=bfeacf45c531d0ad61ea6b94b7f63b900aa59a6d;hb=4671a79f086eb9031d0715d24ed4338aa190b163;hp=5cc821a4504eacc7297682015c59838c03bdbc8b;hpb=031b7054f3738ca19397cefa9127c5db17124bda;p=kivitendo-erp.git diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl index 5cc821a45..bfeacf45c 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 @@ -307,224 +309,6 @@ 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| - - - - - |; +|; $get_contact_url = "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=get_contact"; @@ -893,14 +676,15 @@ sub form_header { 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}) { @@ -991,32 +775,28 @@ sub form_header { |; } - $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. @@ -1081,6 +861,7 @@ sub form_header { # $locale->text('Customer Number') # $locale->text('Vendor Number') $form->{fokus} = "ct.greeting"; + $form->{jsscript} = 1; $form->header; print qq| @@ -1113,7 +894,6 @@ sub form_header {
- - -|; - - 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(); @@ -761,14 +545,8 @@ sub list_names { {password}> |; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } + . $locale->text('Add') . qq|"> - print qq| @@ -781,6 +559,10 @@ 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') @@ -803,6 +585,8 @@ sub edit { sub form_header { $lxdebug->enter_sub(); + $form->get_lists("employees" => "ALL_SALESMEN"); + $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : ""; $form->{creditlimit} = $form->format_amount(\%myconfig, $form->{creditlimit}, 0); @@ -858,11 +642,10 @@ sub form_header { } $taxzone = qq| -
| . $locale->text('Steuersatz') . qq|
| . $locale->text('Shipping Address') . 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 +951,9 @@ sub form_header { - - + + + @@ -1182,7 +962,7 @@ sub form_header { - + $customer @@ -1209,11 +989,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('Obsolete') . qq| {obsolete}>| . $locale->text('Payment Terms') . qq|
@@ -1385,9 +1165,11 @@ $shipto $delivery - - - + + + |; - $column_data{name} = - qq||; - - # list items with radio button on a form - $form->header; - - $title = $locale->text('Select from one of the names below'); - - print qq| - - -{script}> - -
| . $locale->text('From') . qq|| . $locale->text('Bis') . qq| + | . $locale->text('To (time)') . qq| +
@@ -1400,7 +1182,8 @@ $shipto -|; +| . $form->write_trigger(\%myconfig, 2, "fromB", "BL", "trigger_from", + "toB", "BL", "trigger_to"); $lxdebug->leave_sub(); } @@ -1417,13 +1200,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,7 +1207,7 @@ sub form_footer { ## print qq| -{id}> +{id}> @@ -1441,12 +1217,11 @@ sub form_footer { {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,10 +1268,14 @@ 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!")); - } &{"CT::save_$form->{db}"}("", \%myconfig, \%$form); $form->{callback} = $form->escape($form->{callback}, 1); @@ -1498,7 +1283,6 @@ sub add_transaction { $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->redirect; $lxdebug->leave_sub(); @@ -1508,8 +1292,13 @@ sub save_and_ap_transaction { $lxdebug->enter_sub(); $form->{script} = "ap.pl"; + # saving the history + if(!exists $form->{addition}) { + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1517,8 +1306,13 @@ sub save_and_ar_transaction { $lxdebug->enter_sub(); $form->{script} = "ar.pl"; + # saving the history + if(!exists $form->{addition}) { + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1527,8 +1321,13 @@ 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->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1537,8 +1336,13 @@ sub save_and_rfq { $form->{script} = "oe.pl"; $form->{type} = "request_quotation"; + # saving the history + if(!exists $form->{addition}) { + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1547,8 +1351,13 @@ sub save_and_quotation { $form->{script} = "oe.pl"; $form->{type} = "sales_quotation"; + # saving the history + if(!exists $form->{addition}) { + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1558,8 +1367,13 @@ 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->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &add_transaction; - $lxdebug->leave_sub(); } @@ -1573,13 +1387,16 @@ 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!")); - } $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->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history $form->redirect($locale->text($msg)); $lxdebug->leave_sub(); @@ -1595,12 +1412,22 @@ 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!")); - } - print(STDERR "SHIPTO in sub save $form->{shipto_id}\n"); - &{"CT::save_$form->{db}"}("", \%myconfig, \%$form); + my $res = &{"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->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history &edit; exit; $lxdebug->leave_sub(); @@ -1618,6 +1445,12 @@ sub delete { $msg = ucfirst $form->{db}; $msg .= " deleted!"; + # saving the history + if(!exists $form->{addition}) { + $form->{addition} = "DELETED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history $form->redirect($locale->text($msg)); $msg = "Cannot delete $form->{db}"; @@ -1638,179 +1471,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|
 | . $locale->text($label) . qq|
- - - - - - - - - - -
$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 +1489,6 @@ sub get_contact { } - sub get_shipto { $lxdebug->enter_sub(); @@ -1843,7 +1506,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 +1514,6 @@ sub get_delivery { ordnumber, transdate, description, - adr_code, qty, unit); @@ -1867,8 +1529,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} =