Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision cfc6a60d

Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt

  • ID cfc6a60d53597f6a879b28af37f84b4b5fa4cc6b
  • Vorgänger 59f8f1fa
  • Nachfolger 72eaa1a7

Anzeige und Auswahl von Projektnummern bei Einkaufs- und Verkaufsbelegen nur noch per Drop-Down-Box.

Unterschiede anzeigen:

SL/Form.pm
1451 1451
  if (!$all) {
1452 1452
    $where = "WHERE active ";
1453 1453
    if ($old_id) {
1454
      $where .= " OR (id = ?) ";
1455
      push(@values, $old_id);
1454
      if (ref($old_id) eq "ARRAY") {
1455
        my @ids = grep({ $_ } @{$old_id});
1456
        if (@ids) {
1457
          $where .= " OR id IN (" . join(",", map({ "?" } @ids)) . ") ";
1458
          push(@values, @ids);
1459
        }
1460
      } else {
1461
        $where .= " OR (id = ?) ";
1462
        push(@values, $old_id);
1463
      }
1456 1464
    }
1457 1465
  }
1458 1466

  
SL/IR.pm
371 371

  
372 372
      }
373 373

  
374
      $project_id = 'NULL';
375
      if ($form->{"projectnumber_$i"}) {
376
        $project_id = $form->{"projectnumber_$i"};
377
      }
378 374
      $deliverydate =
379 375
        ($form->{"deliverydate_$i"})
380 376
        ? qq|'$form->{"deliverydate_$i"}'|
......
387 383
		  VALUES ($form->{id}, $form->{"id_$i"},
388 384
		  '$form->{"description_$i"}', | . ($form->{"qty_$i"} * -1) . qq|,  | . ($baseqty * -1) . qq|,
389 385
		  $form->{"sellprice_$i"}, $fxsellprice, $allocated,
390
		  '$form->{"unit_$i"}', $deliverydate, (SELECT id FROM project WHERE projectnumber = '$project_id'),
386
		  '$form->{"unit_$i"}', $deliverydate, | . conv_i($form->{"project_id_$i"}) . qq|,
391 387
		  '$form->{"serialnumber_$i"}')|;
392 388
      $dbh->do($query) || $form->dberror($query);
393 389
    }
......
639 635
	      curr = '$form->{currency}',
640 636
	      department_id = $form->{department_id},
641 637
              storno = '$form->{storno}',
638
              globalproject_id = | . conv_i($form->{"globalproject_id"}, 'NULL') . qq|,
642 639
              cp_id = | . conv_i($form->{cp_id}, 'NULL') . qq|
643 640
              WHERE id = $form->{id}|;
644 641
  $dbh->do($query) || $form->dberror($query);
......
844 841

  
845 842
    # retrieve invoice
846 843
    $query = qq|SELECT a.cp_id, a.invnumber, a.transdate AS invdate, a.duedate,
847
                a.orddate, a.quodate,
844
                a.orddate, a.quodate, a.globalproject_id,
848 845
                a.ordnumber, a.quonumber, a.paid, a.taxincluded, a.notes, a.taxzone_id, a.storno, a.gldate,
849 846
		a.intnotes, a.curr AS currency
850 847
		FROM ap a
SL/IS.pm
685 685
        }
686 686
      }
687 687

  
688
      $project_id = 'NULL';
689
      if ($form->{"projectnumber_$i"}) {
690
        $project_id = $form->{"projectnumber_$i"};
691
      }
692 688
      $deliverydate =
693 689
        ($form->{"deliverydate_$i"})
694 690
        ? qq|'$form->{"deliverydate_$i"}'|
......
708 704
		  '$form->{"description_$i"}', '$form->{"longdescription_$i"}', $form->{"qty_$i"},
709 705
		  $form->{"sellprice_$i"}, $fxsellprice,
710 706
		  $form->{"discount_$i"}, $allocated, 'f',
711
		  '$form->{"unit_$i"}', $deliverydate, (SELECT id from project where projectnumber = '$project_id'),
707
		  '$form->{"unit_$i"}', $deliverydate, | . conv_i($form->{"project_id_$i"}) . qq|,
712 708
		  '$form->{"serialnumber_$i"}', '$pricegroup_id',
713 709
		  '$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}', $baseqty, '$subtotal')|;
714 710
      $dbh->do($query) || $form->dberror($query);
......
1009 1005
              delivery_vendor_id = $form->{delivery_vendor_id},
1010 1006
              employee_id = $form->{employee_id},
1011 1007
              storno = '$form->{storno}',
1008
              globalproject_id = | . conv_i($form->{"globalproject_id"}, 'NULL') . qq|,
1012 1009
              cp_id = | . conv_i($form->{"cp_id"}, 'NULL') . qq|
1013 1010
              WHERE id = $form->{id}
1014 1011
             |;
......
1484 1481

  
1485 1482
    # retrieve invoice
1486 1483
    $query = qq|SELECT a.invnumber, a.ordnumber, a.quonumber, a.cusordnumber,
1487
                a.orddate, a.quodate,
1484
                a.orddate, a.quodate, a.globalproject_id,
1488 1485
                a.transdate AS invdate, a.deliverydate, a.paid, a.storno, a.gldate,
1489 1486
                a.shippingpoint, a.shipvia, a.terms, a.notes, a.intnotes, a.taxzone_id,
1490 1487
		a.duedate, a.taxincluded, a.curr AS currency, a.shipto_id, a.cp_id,
SL/OE.pm
311 311

  
312 312
      $netamount += $form->{"sellprice_$i"} * $form->{"qty_$i"};
313 313

  
314
      $project_id = 'NULL';
315
      if ($form->{"projectnumber_$i"}) {
316
        $project_id = $form->{"projectnumber_$i"};
317
      }
318 314
      $reqdate =
319 315
        ($form->{"reqdate_$i"}) ? qq|'$form->{"reqdate_$i"}'| : "NULL";
320 316

  
......
335 331
      $query .= qq|$form->{id}, $form->{"id_$i"},
336 332
		   '$form->{"description_$i"}', '$form->{"longdescription_$i"}', $form->{"qty_$i"}, $baseqty,
337 333
		   $fxsellprice, $form->{"discount_$i"},
338
		   '$form->{"unit_$i"}', $reqdate, (SELECT id from project where projectnumber = '$project_id'),
334
		   '$form->{"unit_$i"}', $reqdate, | . conv_i($form->{"project_id_$i"}, 'NULL') . qq|,
339 335
		   '$form->{"serialnumber_$i"}', $form->{"ship_$i"}, '$pricegroup_id',
340 336
		   '$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}', '$subtotal')|;
341 337
      $dbh->do($query) || $form->dberror($query);
......
671 667
		o.closed, o.reqdate, o.quonumber, o.department_id, o.cusordnumber,
672 668
		d.description AS department, o.payment_id, o.language_id, o.taxzone_id,
673 669
                o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id,
674
                o.globalproject_id, pr.projectnumber AS globalprojectnumber,
670
                o.globalproject_id,
675 671
                o.delivered
676 672
		FROM oe o
677 673
	        JOIN $form->{vc} cv ON (o.$form->{vc}_id = cv.id)
678 674
	        LEFT JOIN employee e ON (o.employee_id = e.id)
679 675
	        LEFT JOIN department d ON (o.department_id = d.id)
680
          LEFT JOIN project pr ON (o.globalproject_id = pr.id)
681 676
		|
682 677
      . ($form->{id}
683 678
         ? qq|WHERE o.id = $form->{id}|
bin/mozilla/arap.pl
272 272
sub check_project {
273 273
  $lxdebug->enter_sub();
274 274

  
275
  for $i (0 .. $form->{rowcount}) {
275
  for $i (1 .. $form->{rowcount}) {
276 276
    my $suffix = $i ? "_$i" : "";
277 277
    my $prefix = $i ? "" : "global";
278 278
    $form->{"${prefix}project_id${suffix}"} = "" unless $form->{"${prefix}projectnumber$suffix"};
bin/mozilla/common.pl
452 452
  return $form->escape($_[0]);
453 453
}
454 454

  
455
sub NTI {
456
  my ($element) = @_;
457

  
458
  $element =~ s/tabindex\s*=\s*"\d+"//;
459
  return $element;
460
}
461

  
455 462
sub format_dates {
456 463
  $lxdebug->enter_sub();
457 464

  
bin/mozilla/io.pl
242 242
    $delvar       = 'reqdate';
243 243
  }
244 244

  
245
  my %projectnumber_labels = ();
246
  my @projectnumber_values = ("");
247
  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
248
    push(@projectnumber_values, $item->{"id"});
249
    $projectnumber_labels{$item->{"id"}} = $item->{"projectnumber"};
250
  }
251

  
245 252
  for $i (1 .. $numrows) {
246 253

  
247 254
    # undo formatting
......
486 493
          <b>$serialnumber</b>&nbsp;<input name="serialnumber_$i" size=15 value="$form->{"serialnumber_$i"}">|;
487 494
    }
488 495

  
489
    print qq|
490
          <b>$projectnumber</b>&nbsp;<input name="projectnumber_$i" size=10 value="$form->{"projectnumber_$i"}">
491
		  <input type=hidden name="oldprojectnumber_$i" value="$form->{"projectnumber_$i"}">
492
		  <input type=hidden name="project_id_$i" value="$form->{"project_id_$i"}">
493
|;
496
    print qq|<b>$projectnumber</b>&nbsp;| .
497
      NTI($cgi->popup_menu('-name' => "project_id_$i",
498
                           '-values' => \@projectnumber_values,
499
                           '-labels' => \%projectnumber_labels,
500
                           '-default' => $form->{"project_id_$i"}));
501

  
494 502
    if ($form->{type} eq 'invoice' or $form->{type} =~ /order/) {
495 503
      my $reqdate_term =
496 504
        ($form->{type} eq 'invoice')
......
881 889

  
882 890
  relink_accounts();
883 891

  
892
  my $new_rowcount = $form->{"rowcount"} * 1 + 1;
893
  $form->{"project_id_${new_rowcount}"} = $form->{"globalproject_id"};
894

  
884 895
  $form->language_payment(\%myconfig);
885 896

  
886 897
  # if we have a display_form
bin/mozilla/ir.pl
36 36

  
37 37
require "$form->{path}/io.pl";
38 38
require "$form->{path}/arap.pl";
39
require "$form->{path}/common.pl";
39 40

  
40 41
1;
41 42

  
......
259 260
<input type=hidden name=forex value=$form->{forex}>
260 261
|;
261 262

  
262
  $form->get_lists("contacts" => "ALL_CONTACTS");
263
  my @old_project_ids = ($form->{"globalproject_id"});
264
  map({ push(@old_project_ids, $form->{"project_id_$_"})
265
          if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
266

  
267
  $form->get_lists("contacts" => "ALL_CONTACTS",
268
                   "projects" => { "key" => "ALL_PROJECTS",
269
                                   "all" => 0,
270
                                   "old_id" => \@old_project_ids });
263 271

  
264 272
  my (%labels, @values);
265 273
  foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
......
268 276
      ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : "");
269 277
  }
270 278
  my $contact =
271
    $cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
272
                     '-labels' => \%labels, '-default' => $form->{"cp_id"});
279
    NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
280
                         '-labels' => \%labels, '-default' => $form->{"cp_id"}));
281

  
282
  %labels = ();
283
  @values = ("");
284
  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
285
    push(@values, $item->{"id"});
286
    $labels{$item->{"id"}} = $item->{"projectnumber"};
287
  }
288
  my $globalprojectnumber =
289
    NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values,
290
                         '-labels' => \%labels,
291
                         '-default' => $form->{"globalproject_id"}));
273 292

  
274 293
  if (@{ $form->{TAXZONE} }) {
275 294
    $form->{selecttaxzone} = "";
......
457 476
        </tr>
458 477
	      <tr>
459 478
          <th align="right" nowrap>| . $locale->text('Project Number') . qq|</th>
460
          <td>
461
            <input name="globalprojectnumber" size="11" value="| . Q($form->{globalprojectnumber}) . qq|">
462
            <input type="hidden" name="oldglobalprojectnumber" value="| . Q($form->{globalprojectnumber}) . qq|">
463
            <input type="hidden" name="globalproject_id" value="| . Q($form->{globalproject_id}) . qq|">
464
          </td:>
479
          <td>$globalprojectnumber</td>
465 480
	      </tr>
466 481
     </table>
467 482
	  </td>
......
813 828

  
814 829
  &check_name(vendor);
815 830

  
816
  &check_project;
817

  
818 831
  $form->{exchangerate} = $exchangerate
819 832
    if (
820 833
        $form->{forex} = (
bin/mozilla/is.pl
353 353
		<input type=hidden name=selecttaxzone value="$form->{selecttaxzone}">
354 354
	      </tr>|;
355 355

  
356
  my @old_project_ids = ($form->{"globalproject_id"});
357
  map({ push(@old_project_ids, $form->{"project_id_$_"})
358
          if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
359

  
356 360
  $form->get_lists("contacts" => "ALL_CONTACTS",
357
                   "shipto" => "ALL_SHIPTO");
361
                   "shipto" => "ALL_SHIPTO",
362
                   "projects" => { "key" => "ALL_PROJECTS",
363
                                   "all" => 0,
364
                                   "old_id" => \@old_project_ids });
358 365

  
359 366
  my (%labels, @values);
360 367
  foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
......
363 370
      ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : "");
364 371
  }
365 372
  my $contact =
366
    $cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
367
                     '-labels' => \%labels, '-default' => $form->{"cp_id"});
373
    NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
374
                         '-labels' => \%labels, '-default' => $form->{"cp_id"}));
368 375

  
369 376
  %labels = ();
370 377
  @values = ("");
......
377 384
  my $shipto = qq|
378 385
		<th align=right>| . $locale->text('Shipping Address') . qq|</th>
379 386
		<td>| .
380
    $cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
381
                     '-labels' => \%labels, '-default' => $form->{"shipto_id"})
387
    NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
388
                         '-labels' => \%labels, '-default' => $form->{"shipto_id"}))
382 389
    . qq|</td>|;
383 390

  
391
  %labels = ();
392
  @values = ("");
393
  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
394
    push(@values, $item->{"id"});
395
    $labels{$item->{"id"}} = $item->{"projectnumber"};
396
  }
397
  my $globalprojectnumber =
398
    NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values,
399
                         '-labels' => \%labels,
400
                         '-default' => $form->{"globalproject_id"}));
401

  
384 402
  # set option selected
385 403
  foreach $item (qw(AR customer currency department employee)) {
386 404
    $form->{"select$item"} =~ s/ selected//;
......
743 761
	      </tr>
744 762
	      <tr>
745 763
          <th align="right" nowrap>| . $locale->text('Project Number') . qq|</th>
746
          <td>
747
            <input name="globalprojectnumber" size="11" value="| . Q($form->{globalprojectnumber}) . qq|">
748
            <input type="hidden" name="oldglobalprojectnumber" value="| . Q($form->{globalprojectnumber}) . qq|">
749
            <input type="hidden" name="globalproject_id" value="| . Q($form->{globalproject_id}) . qq|">
750
          </td>
764
          <td>$globalprojectnumber</td>
751 765
	      </tr>
752 766
	    </table>
753 767
          </td>
......
1167 1181

  
1168 1182
  &check_name(customer);
1169 1183

  
1170
  &check_project;
1171

  
1172 1184
  $form->{exchangerate} = $exchangerate
1173 1185
    if (
1174 1186
        $form->{forex} = (
bin/mozilla/oe.pl
407 407
  #quote select[customer|vendor] Bug 133
408 408
  $form->{"select$form->{vc}"} = $form->quote($form->{"select$form->{vc}"});
409 409

  
410
  my @old_project_ids = ($form->{"globalproject_id"});
411
  map({ push(@old_project_ids, $form->{"project_id_$_"})
412
          if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
413

  
410 414
  $form->get_lists("contacts" => "ALL_CONTACTS",
411 415
                   "shipto" => "ALL_SHIPTO",
412 416
                   "projects" => { "key" => "ALL_PROJECTS",
413 417
                                   "all" => 0,
414
                                   "old_id" => $form->{"globalproject_id"} });
418
                                   "old_id" => \@old_project_ids });
415 419

  
416 420
  my (%labels, @values);
417 421
  foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
......
420 424
      ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : "");
421 425
  }
422 426
  my $contact =
423
    $cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
424
                     '-labels' => \%labels, '-default' => $form->{"cp_id"});
427
    NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
428
                         '-labels' => \%labels, '-default' => $form->{"cp_id"}));
425 429

  
426 430
  %labels = ();
427 431
  @values = ("");
......
431 435
      $item->{"shiptoname"} . " " . $item->{"shiptodepartment_1"};
432 436
  }
433 437

  
438
  my $shipto = qq|
439
		<th align=right>| . $locale->text('Shipping Address') . qq|</th>
440
		<td>| .
441
    NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
442
                         '-labels' => \%labels, '-default' => $form->{"shipto_id"}))
443
    . qq|</td>|;
444

  
434 445
  %labels = ();
435 446
  @values = ("");
436 447
  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
......
438 449
    $labels{$item->{"id"}} = $item->{"projectnumber"};
439 450
  }
440 451
  my $globalprojectnumber =
441
    $cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values,
442
                     '-labels' => \%labels,
443
                     '-default' => $form->{"globalproject_id"});
444

  
445
  my $shipto = qq|
446
		<th align=right>| . $locale->text('Shipping Address') . qq|</th>
447
		<td>| .
448
    $cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
449
                     '-labels' => \%labels, '-default' => $form->{"shipto_id"})
450
    . qq|</td>|;
452
    NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values,
453
                         '-labels' => \%labels,
454
                         '-default' => $form->{"globalproject_id"}));
451 455

  
452 456
  $form->{exchangerate} =
453 457
    $form->format_amount(\%myconfig, $form->{exchangerate});
......
1127 1131

  
1128 1132
  &check_name($form->{vc});
1129 1133

  
1130
  &check_project;
1131

  
1132 1134
  $buysell              = 'buy';
1133 1135
  $buysell              = 'sell' if ($form->{vc} eq 'vendor');
1134 1136
  $form->{exchangerate} = $exchangerate
locale/de/am
315 315
$self->{subs} = {
316 316
  'E'                           => 'E',
317 317
  'H'                           => 'H',
318
  'NTI'                         => 'NTI',
318 319
  'Q'                           => 'Q',
319 320
  'account_header'              => 'account_header',
320 321
  'add'                         => 'add',
locale/de/cn
207 207
$self->{subs} = {
208 208
  'E'                           => 'E',
209 209
  'H'                           => 'H',
210
  'NTI'                         => 'NTI',
210 211
  'Q'                           => 'Q',
211 212
  'add'                         => 'add',
212 213
  'add_transaction'             => 'add_transaction',
locale/de/common
25 25
$self->{subs} = {
26 26
  'E'                           => 'E',
27 27
  'H'                           => 'H',
28
  'NTI'                         => 'NTI',
28 29
  'Q'                           => 'Q',
29 30
  'build_std_url'               => 'build_std_url',
30 31
  'calculate_qty'               => 'calculate_qty',
locale/de/dn
200 200
$self->{subs} = {
201 201
  'E'                           => 'E',
202 202
  'H'                           => 'H',
203
  'NTI'                         => 'NTI',
203 204
  'Q'                           => 'Q',
204 205
  'add'                         => 'add',
205 206
  'add_transaction'             => 'add_transaction',
locale/de/ic
245 245
$self->{subs} = {
246 246
  'E'                           => 'E',
247 247
  'H'                           => 'H',
248
  'NTI'                         => 'NTI',
248 249
  'Q'                           => 'Q',
249 250
  'add'                         => 'add',
250 251
  'addtop100'                   => 'addtop100',
locale/de/io
144 144
$self->{subs} = {
145 145
  'E'                           => 'E',
146 146
  'H'                           => 'H',
147
  'NTI'                         => 'NTI',
147 148
  'Q'                           => 'Q',
148 149
  'build_std_url'               => 'build_std_url',
149 150
  'calculate_qty'               => 'calculate_qty',
locale/de/ir
201 201
$self->{subs} = {
202 202
  'E'                           => 'E',
203 203
  'H'                           => 'H',
204
  'NTI'                         => 'NTI',
204 205
  'Q'                           => 'Q',
205 206
  'add'                         => 'add',
206 207
  'add_transaction'             => 'add_transaction',
locale/de/is
226 226
$self->{subs} = {
227 227
  'E'                           => 'E',
228 228
  'H'                           => 'H',
229
  'NTI'                         => 'NTI',
229 230
  'Q'                           => 'Q',
230 231
  'add'                         => 'add',
231 232
  'add_transaction'             => 'add_transaction',
locale/de/oe
241 241
$self->{subs} = {
242 242
  'E'                           => 'E',
243 243
  'H'                           => 'H',
244
  'NTI'                         => 'NTI',
244 245
  'Q'                           => 'Q',
245 246
  'add'                         => 'add',
246 247
  'add_transaction'             => 'add_transaction',

Auch abrufbar als: Unified diff