X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=f08daabfde2218e79c95bc7b3327eae3faa28aa2;hb=2fda509c7dc417aad28ed072e91e8ffe2396314d;hp=3b9e3b33707acfceba317c60ed7e2e856c6dd255;hpb=ea274593a0c4b6ffbeb88882cd53fd22c9e480e0;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 3b9e3b337..f08daabfd 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -37,8 +37,8 @@ use SL::IR; use SL::IS; use SL::PE; -require "$form->{path}/io.pl"; -require "$form->{path}/arap.pl"; +require "bin/mozilla/io.pl"; +require "bin/mozilla/arap.pl"; 1; @@ -98,7 +98,7 @@ sub add { set_headings("add"); $form->{callback} = - "$form->{script}?action=add&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&path=$form->{path}&password=$form->{password}" + "$form->{script}?action=add&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}" unless $form->{callback}; &order_links; @@ -120,19 +120,19 @@ sub edit { # editing without stuff to edit? try adding it first if ($form->{rowcount}) { - map { $id++ if $form->{"id_$_"} } (1 .. $form->{rowcount}); + map { $id++ if $form->{"multi_id_$_"} } (1 .. $form->{rowcount}); if (!$id) { # reset rowcount undef $form->{rowcount}; &add; + $lxdebug->leave_sub(); return; } - } else { - if (!$form->{id}) { - &add; - return; - } + } elsif (!$form->{id}) { + &add; + $lxdebug->leave_sub(); + return; } if ($form->{print_and_save}) { @@ -167,6 +167,8 @@ sub order_links { # set jscalendar $form->{jscalendar} = $jscalendar; + my $editing = $form->{id}; + OE->retrieve(\%myconfig, \%$form); if ($form->{payment_id}) { @@ -179,6 +181,8 @@ sub order_links { $taxzone_id = $form->{taxzone_id}; } + $salesman_id = $form->{salesman_id} if ($editing); + # if multiple rowcounts (== collective order) then check if the # there were more than one customer (in that case OE::retrieve removes @@ -236,7 +240,7 @@ sub order_links { if ($taxzone_id) { $form->{taxzone_id} = $taxzone_id; } - $form->{intnotes} = $intnotes; + $form->{intnotes} = $intnotes if $intnotes; ($form->{ $form->{vc} }) = split /--/, $form->{ $form->{vc} }; $form->{"old$form->{vc}"} = qq|$form->{$form->{vc}}--$form->{"$form->{vc}_id"}|; @@ -245,18 +249,11 @@ sub order_links { if (@{ $form->{"all_$form->{vc}"} }) { $form->{ $form->{vc} } = qq|$form->{$form->{vc}}--$form->{"$form->{vc}_id"}|; - map { $form->{"select$form->{vc}"} .= "$_->{name}--$_->{id}\n" } + map { $form->{"select$form->{vc}"} .= +"$_->{name}--$_->{id}\n" } (@{ $form->{"all_$form->{vc}"} }); } - # currencies - @curr = split(/:/, $form->{currencies}); - chomp $curr[0]; - $form->{defaultcurrency} = $curr[0]; - $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; - - map { $form->{selectcurrency} .= "$_\n" } @curr; - $form->{taxincluded} = $taxincluded if ($form->{id}); # departments @@ -266,22 +263,17 @@ sub order_links { map { $form->{selectdepartment} .= - "$_->{description}--$_->{id}\n" + "$_->{description}--$_->{id}\n" } (@{ $form->{all_departments} }); } $form->{employee} = "$form->{employee}--$form->{employee_id}"; - # sales staff - if (@{ $form->{all_employees} }) { - $form->{selectemployee} = ""; - map { $form->{selectemployee} .= "$_->{name}--$_->{id}\n" } - (@{ $form->{all_employees} }); - } - # forex $form->{forex} = $form->{exchangerate}; + $form->{salesman_id} = $salesman_id if ($editing); + $lxdebug->leave_sub(); } @@ -354,12 +346,12 @@ sub form_header { # with JavaScript Calendar $button1 = qq| - {transdate}> + text('button') . qq|> |; $button2 = qq| - {reqdate}> + text('button') . qq|> |; @@ -373,35 +365,37 @@ sub form_header { # without JavaScript Calendar $button1 = qq| - {transdate}>|; + |; $button2 = qq| - {reqdate}>|; + |; } - if ($form->{id}) { - $openclosed = qq| - - - - | . $locale->text('Closed') . qq| -|; + my @tmp; - if (($form->{"type"} eq "sales_order") || - ($form->{"type"} eq "purchase_order")) { - $openclosed .= qq| + if (($form->{"type"} eq "sales_order") || + ($form->{"type"} eq "purchase_order")) { + push(@tmp, qq| - | . $locale->text('Delivered') . qq| -|; - } + | . $locale->text('Delivered') . qq||); + } + + if ($form->{id}) { + push(@tmp, qq| + + | . $locale->text('Closed') . qq||); + } + if (@tmp) { $openclosed .= qq| + + | . join("\n", @tmp) . qq| |; } # set option selected - foreach $item ($form->{vc}, currency, department, employee) { + foreach $item ($form->{vc}, currency, department, employee, ($form->{vc} eq "customer" ? customer : vendor)) { $form->{"select$item"} =~ s/ selected//; $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; @@ -410,6 +404,9 @@ sub form_header { #quote select[customer|vendor] Bug 133 $form->{"select$form->{vc}"} = $form->quote($form->{"select$form->{vc}"}); + #substitute \n and \r to \s (bug 543) + $form->{"select$form->{vc}"} =~ s/[\n\r]/ /g; + my @old_project_ids = ($form->{"globalproject_id"}); map({ push(@old_project_ids, $form->{"project_id_$_"}) if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"})); @@ -418,9 +415,16 @@ sub form_header { "shipto" => "ALL_SHIPTO", "projects" => { "key" => "ALL_PROJECTS", "all" => 0, - "old_id" => \@old_project_ids }); - - my (%labels, @values); + "old_id" => \@old_project_ids }, + "employees" => "ALL_SALESMEN", + "taxzones" => "ALL_TAXZONES", + "currencies" => "ALL_CURRENCIES"); + ($form->{vc} eq "customer" + ? $form->get_lists("customers" => "ALL_CUSTOMERS") + : $form->get_lists("vendors" => "ALL_VENDORS")); + + my %labels; + my @values = (undef); foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { push(@values, $item->{"cp_id"}); $labels{$item->{"cp_id"}} = $item->{"cp_name"} . @@ -430,6 +434,25 @@ sub form_header { NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-labels' => \%labels, '-default' => $form->{"cp_id"})); + %labels = (); + @values = (); + + foreach my $item (@{ $form->{($form->{vc} eq "customer" ? "ALL_CUSTOMERS" : "ALL_VENDORS")}}) { + push(@values, $item->{name}.qq|--|.$item->{"id"}); + $labels{$item->{"id"}} = $item->{name}.qq|--|.$item->{"id"}; + } + + my $vc = qq| + | . $locale->text(ucfirst($form->{vc})) . qq| + | . + (($myconfig{vclimit} == 1 ) + ? qq|| + : (NTI($cgi->popup_menu('-name' => "$form->{vc}", '-default' => $form->{"old$form->{vc}"}, + '-onChange' => 'document.getElementById(\'update_button\').click();', + '-values' => \@values, '-labels' => \%labels)))) . qq| + {vc}"}) . qq|">|; + %labels = (); @values = (""); foreach my $item (@{ $form->{"ALL_SHIPTO"} }) { @@ -456,6 +479,76 @@ sub form_header { '-labels' => \%labels, '-default' => $form->{"globalproject_id"})); + $salesman = ""; + if ($form->{type} =~ /^sales_/) { + %labels = (); + @values = (""); + foreach my $item (@{ $form->{ALL_SALESMEN} }) { + push(@values, $item->{id}); + $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; + } + + $salesman = + qq| + | . $locale->text('Salesman') . qq| + | . + NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id}, + '-values' => \@values, '-labels' => \%labels)) + . qq| + |; + } + + %labels = (); + @values = (); + foreach my $item (@{ $form->{"ALL_SALESMEN"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = $item->{"name"}; + } + + my $employees = qq| + + | . $locale->text('Employee') . qq| + | . + NTI($cgi->popup_menu('-name' => 'employee', '-default' => $form->{"employee"}, + '-values' => \@values, '-labels' => \%labels)) . qq| + + |; + + %labels = (); + @values = (); + foreach my $item (@{ $form->{"ALL_TAXZONES"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = $item->{"description"}; + } + + $taxzone = qq| + + | . $locale->text('Steuersatz') . qq| + | . + NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, + '-values' => \@values, '-labels' => \%labels)) . qq| + + |; + + %labels = (); + @values = (); + my $i = 0; + foreach my $item (@{ $form->{"ALL_CURRENCIES"} }) { + push(@values, $item); + $labels{$item} = $item; + } + + $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; + my $currencies = qq| + + | . $locale->text('Currency') . qq| + | . + NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"}, + '-values' => \@values, '-labels' => \%labels)) . qq| + + |; + + $form->{exchangerate} = $form->format_amount(\%myconfig, $form->{exchangerate}); @@ -490,11 +583,6 @@ sub form_header { } } - $vclabel = ucfirst $form->{vc}; - $vclabel = $locale->text($vclabel); - - - if ($form->{business}) { $business = qq| @@ -527,34 +615,6 @@ sub form_header { |; } - if (@{ $form->{TAXZONE} }) { - $form->{selecttaxzone} = ""; - foreach $item (@{ $form->{TAXZONE} }) { - if ($item->{id} == $form->{taxzone_id}) { - $form->{selecttaxzone} .= - "{id} selected>" . H($item->{description}) . - ""; - } else { - $form->{selecttaxzone} .= - "{id}>" . H($item->{description}) . ""; - } - - } - } else { - $form->{selecttaxzone} =~ s/ selected//g; - if ($form->{taxzone_id} ne "") { - $form->{selecttaxzone} =~ s/value=$form->{taxzone_id}>/value=$form->{taxzone_id} selected>/; - } - } - - $taxzone = qq| - - | . $locale->text('Steuersatz') . qq| - $form->{selecttaxzone} - - |; - - if ($form->{type} !~ /_quotation$/) { $ordnumber = qq| @@ -642,45 +702,25 @@ sub form_header { |; } - $vc = - ($form->{"select$form->{vc}"}) - ? qq|{vc}>$form->{"select$form->{vc}"}\n{vc}"}">| - : qq|{vc} value="$form->{$form->{vc}}" size=35>|; - $department = qq| | . $locale->text('Department') . qq| $form->{selectdepartment} - -| if $form->{selectdepartment}; - - $employee = qq| - -|; + | if $form->{selectdepartment}; if ($form->{type} eq 'sales_order') { if ($form->{selectemployee}) { $employee = qq| {customer_klass}> - - | . $locale->text('Salesperson') . qq| - $form->{selectemployee} - - - + $employees |; } } else { $employee = qq| {customer_klass}> - - | . $locale->text('Employee') . qq| - $form->{selectemployee} - - - + $employees |; } if ($form->{resubmit} && ($form->{format} eq "html")) { @@ -689,16 +729,21 @@ sub form_header { } elsif ($form->{resubmit}) { $onload = qq|document.oe.submit()|; } else { - $onload = "fokus()"; + $onload = "focus()"; } $credittext = $locale->text('Credit Limit exceeded!!!'); if ($creditwarning) { $onload = qq|alert('$credittext')|; } - + + $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; + $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; + $form->{"javascript"} .= qq||; - + # show history button js + $form->{javascript} .= qq||; + #/show history button js $form->header; print qq| @@ -747,10 +792,7 @@ sub form_header { - $vclabel - $vc - {vc}_id value=$form->{"$form->{vc}_id"}> - {vc}"}"> + $vc | . $locale->text('Contact Person') . qq| $contact @@ -761,10 +803,7 @@ sub form_header { $taxzone $department - | . $locale->text('Currency') . qq| - $form->{selectcurrency} - - {defaultcurrency}> + $currencies $exchangerate @@ -774,7 +813,11 @@ sub form_header { | . $locale->text('Ship via') . qq| - |; + + + | . $locale->text('Transaction description') . qq| + + |; # # # @@ -801,6 +844,7 @@ print qq| $openclosed $employee + $salesman $ordnumber | . $locale->text('Project Number') . qq| @@ -892,7 +936,7 @@ sub form_footer { $tax .= qq| $form->{"${item}_description"} | - . $form->{"${item}_rate"} * 100 .qq|% + . $form->{"${item}_rate"} * 100 .qq|% $form->{"${item}_total"} |; @@ -932,7 +976,7 @@ sub form_footer { $tax .= qq| Enthaltene $form->{"${item}_description"} | - . $form->{"${item}_rate"} * 100 .qq|% + . $form->{"${item}_rate"} * 100 .qq|% $form->{"${item}_total"} @@ -965,7 +1009,7 @@ sub form_footer { $intnotes | . $locale->text('Payment Terms') . qq| - $payment + $payment @@ -1026,7 +1070,7 @@ sub form_footer { |; - &print_options; + print_options(); print qq| @@ -1050,6 +1094,12 @@ sub form_footer { if (($form->{id})) { print qq| + + | . $locale->text("Workflow $form->{type}") . qq| @@ -1107,26 +1157,17 @@ sub form_footer { |; } + $form->hide_form("saved_xyznumber"); + print qq| {rowcount}> -{path}> {login}> {password}> -|; -# button for saving history -print qq| - {id} - . qq|); name=history id=history value=| - . $locale->text('history') - . qq|>|; -# /button for saving history - -qq| +