- $form->{"project_id_$i"} = "" unless $form->{"projectnumber_$i"};
- if ($form->{"projectnumber_$i"} ne $form->{"oldprojectnumber_$i"}) {
- if ($form->{"projectnumber_$i"}) {
- # get new project
- $form->{projectnumber} = $form->{"projectnumber_$i"};
- if (($rows = PE->projects(\%myconfig, $form)) > 1) {
- # check form->{project_list} how many there are
- $form->{rownumber} = $i;
- &select_project;
- exit;
- }
-
- if ($rows == 1) {
- $form->{"project_id_$i"} = $form->{project_list}->[0]->{id};
- $form->{"projectnumber_$i"} = $form->{project_list}->[0]->{projectnumber};
- $form->{"oldprojectnumber_$i"} = $form->{project_list}->[0]->{projectnumber};
- } else {
- # not on file
- $form->error($locale->text('Project not on file!'));
- }
+ my $suffix = $i ? "_$i" : "";
+ my $prefix = $i ? "" : "global";
+ $form->{"${prefix}project_id${suffix}"} = "" unless $form->{"${prefix}projectnumber$suffix"};
+ if ($form->{"${prefix}projectnumber${suffix}"} ne $form->{"old${prefix}projectnumber${suffix}"}) {
+ if ($form->{"${prefix}projectnumber${suffix}"}) {
+
+ # get new project
+ $form->{projectnumber} = $form->{"${prefix}projectnumber${suffix}"};
+ 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);
+ exit;
+ }
+
+ if ($rows == 1) {
+ $form->{"${prefix}project_id${suffix}"} = $form->{project_list}->[0]->{id};
+ $form->{"${prefix}projectnumber${suffix}"} = $form->{project_list}->[0]->{projectnumber};
+ $form->{"old${prefix}projectnumber${suffix}"} = $form->{project_list}->[0]->{projectnumber};
+ } else {
+
+ # not on file
+ $form->error($locale->text('Project not on file!'));
+ }