X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Farap.pl;h=3b1a443113e2dcc28f59bfa6e715f49db5f24967;hb=0c2be9979d3c323a8f88ca372c0e1314774d7293;hp=0278aa5f7f88f80cd4636eb1e94f649936f3d5b0;hpb=9bd3030a376850c427c102c6e0c54f19bd19332e;p=kivitendo-erp.git diff --git a/bin/mozilla/arap.pl b/bin/mozilla/arap.pl index 0278aa5f7..3b1a44311 100644 --- a/bin/mozilla/arap.pl +++ b/bin/mozilla/arap.pl @@ -59,7 +59,7 @@ sub check_name { 'request_quotation_edit | sales_quotation_edit | purchase_order_edit | cash |' . 'purchase_delivery_order_edit | sales_delivery_order_edit'); - my ($name) = @_; + my ($name, %params) = @_; $name = $name eq "customer" ? "customer" : "vendor"; @@ -99,9 +99,17 @@ sub check_name { $form->{calctax} = 1; # return one name or a list of names in $form->{name_list} - if (($i = $form->get_name(\%myconfig, $name)) > 1) { - &select_name($name); - exit; + $i = $form->get_name(\%myconfig, $name); + + if ($i > 1) { + if ($params{no_select}) { + # $locale->text('Customer') + # $locale->text('Vendor') + $form->error($locale->text("More than one #1 found matching, please be more specific.", $locale->text(ucfirst $name))); + } else { + &select_name($name); + ::end_of_request(); + } } if ($i == 1) { @@ -310,7 +318,7 @@ sub check_project { # check form->{project_list} how many there are $form->{rownumber} = $i; &select_project($i ? undef : 1, $nextsub); - exit; + ::end_of_request(); } if ($rows == 1) { @@ -332,157 +340,190 @@ sub check_project { } sub select_project { + $::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 | report'); + + my ($is_global, $nextsub) = @_; + my $project_list = delete $::form->{project_list}; + + map { delete $::form->{$_} } qw(action header update); + + my @hiddens; + for my $key (keys %$::form) { + next if $key eq 'login' || $key eq 'password' || '' ne ref $::form->{$key}; + push @hiddens, { key => $key, value => $::form->{$key} }; + } + push @hiddens, { key => 'is_global', value => $is_global }, + { key => 'project_selected_nextsub', value => $nextsub }; + + $::form->header; + print $::form->parse_html_template('arap/select_project', { hiddens => \@hiddens, project_list => $project_list }); + + $::lxdebug->leave_sub; +} + +sub project_selected { $main::lxdebug->enter_sub(); my $form = $main::form; - my $locale = $main::locale; - my $cgi = $main::cgi; $main::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, $nextsub) = @_; + # replace the variable with the one checked - my @column_index = qw(ndx projectnumber description); + # index for new item + my $i = $form->{ndx}; - my %column_data; - $column_data{ndx} = qq|