X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Farap.pl;h=1ed40a7f942b3b58c47961223edd1246fd3cd754;hb=703f76b624a9c447bf77e40db2cd3d5f3cc19e51;hp=38308a97b29b539521fce216f8706f9f7cc19343;hpb=8c7e44938a661e035f62840e1e177353240ace5d;p=kivitendo-erp.git
diff --git a/bin/mozilla/arap.pl b/bin/mozilla/arap.pl
index 38308a97b..1ed40a7f9 100644
--- a/bin/mozilla/arap.pl
+++ b/bin/mozilla/arap.pl
@@ -30,6 +30,8 @@
# common routines for gl, ar, ap, is, ir, oe
#
+use SL::Projects;
+
# any custom scripts for this one
if (-f "bin/mozilla/custom_arap.pl") {
eval { require "bin/mozilla/custom_arap.pl"; };
@@ -47,8 +49,9 @@ require "bin/mozilla/common.pl";
sub check_name {
$lxdebug->enter_sub();
- $auth->assert('general_ledger | vendor_invoice_edit | sales_order_edit | invoice_edit |' .
- 'request_quotation_edit | sales_quotation_edit | purchase_order_edit | cash');
+ $auth->assert('general_ledger | vendor_invoice_edit | sales_order_edit | invoice_edit |' .
+ 'request_quotation_edit | sales_quotation_edit | purchase_order_edit | cash |' .
+ 'purchase_delivery_order_edit | sales_delivery_order_edit');
my ($name) = @_;
@@ -272,6 +275,8 @@ sub check_project {
$auth->assert('general_ledger | vendor_invoice_edit | sales_order_edit | invoice_edit |' .
'request_quotation_edit | sales_quotation_edit | purchase_order_edit | cash | report');
+ my $nextsub = shift || 'update';
+
for $i (1 .. $form->{rowcount}) {
my $suffix = $i ? "_$i" : "";
my $prefix = $i ? "" : "global";
@@ -281,11 +286,12 @@ sub check_project {
# get new project
$form->{projectnumber} = $form->{"${prefix}projectnumber${suffix}"};
- if (($rows = PE->projects(\%myconfig, $form)) > 1) {
+ my %params = map { $_ => $form->{$_} } qw(projectnumber description active);
+ if (($rows = Projects->search_projects(%params)) > 1) {
# check form->{project_list} how many there are
$form->{rownumber} = $i;
- &select_project($i ? undef : 1);
+ &select_project($i ? undef : 1, $nextsub);
exit;
}
@@ -313,7 +319,7 @@ sub select_project {
$auth->assert('general_ledger | vendor_invoice_edit | sales_order_edit | invoice_edit |' .
'request_quotation_edit | sales_quotation_edit | purchase_order_edit | cash | report');
- my ($is_global) = @_;
+ my ($is_global, $nextsub) = @_;
@column_index = qw(ndx projectnumber description);
@@ -401,9 +407,10 @@ sub select_project {
print qq|\n|;
}
- print qq|
-
-
+ print
+ $cgi->hidden('-name' => 'is_global', '-default' => [$is_global])
+ . $cgi->hidden('-name' => 'project_selected_nextsub', '-default' => [$nextsub])
+ . qq|
{$_} } qw(ndx lastndx nextsub is_global);
+ my $nextsub = $form->{project_selected_nextsub} || 'update';
- if ($form->{update}) {
- call_sub($form->{"update"});
- } else {
- &update;
- }
+ map { delete $form->{$_} } qw(ndx lastndx nextsub is_global project_selected_nextsub);
+
+ call_sub($nextsub);
$lxdebug->leave_sub();
}