Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 80a6d456

Von Thomas Heck vor fast 11 Jahren hinzugefügt

  • ID 80a6d456aa9f6222316394a79e3f2f31b6078110
  • Vorgänger 21243e6b
  • Nachfolger 96ca0b88

Nicht mehr benötigten Code aus bin/ct.pl entfernt

Unterschiede anzeigen:

bin/mozilla/ct.pl
412 412
  $::lxdebug->leave_sub;
413 413
}
414 414

  
415
sub edit {
416
  $main::lxdebug->enter_sub();
417

  
418
  $main::auth->assert('customer_vendor_edit');
419

  
420
  my $form     = $main::form;
421
  my %myconfig = %main::myconfig;
422

  
423
  # show history button
424
  $form->{javascript} = qq|<script type=text/javascript src=js/show_history.js></script>|;
425
  #/show hhistory button
426

  
427
  CT->get_tuple(\%myconfig, \%$form);
428
  CT->populate_drop_down_boxes(\%myconfig, \%$form);
429

  
430
  $form->{title} = "Edit";
431

  
432
  # format discount
433
  $form->{discount} *= 100;
434
  # format uri
435
  $form->{homepage} = 'http://' . $form->{homepage} unless ((!$form->{homepage}) || $form->{homepage} =~ m|^https?://|);
436

  
437
  &form_header;
438
  &form_footer;
439

  
440
  $main::lxdebug->leave_sub();
441
}
442

  
443
sub _shipto_label {
444
  my $s = shift(@_);
445
  join('; ', grep { $_ } map { $s->{"shipto$_"} } qw(name department_1 street city)) || ' '
446
}
447

  
448
sub _contacts_label {
449
  join ", ", grep { $_ } $_[0]->{cp_name}, $_[0]->{cp_givenname};
450
}
451

  
452
sub form_header {
453
  $main::lxdebug->enter_sub();
454

  
455
  $main::auth->assert('customer_vendor_edit');
456

  
457
  my $form     = $main::form;
458
  my %myconfig = %main::myconfig;
459
  my $locale   = $main::locale;
460

  
461
  $form->get_lists(taxzones   => "ALL_TAXZONES",
462
                   currencies => "ALL_CURRENCIES");
463
  $form->get_pricegroup(\%myconfig, { all => 1 });
464

  
465
  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::instance_conf->get_vertreter;
466
  $form->{ALL_EMPLOYEES}          = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{FU_created_for_user},  deleted => 0 ] ]);
467
  $form->{ALL_SALESMEN}           = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{salesman_id},  deleted => 0 ] ]);
468
  $form->{USER}                   = SL::DB::Manager::Employee->current;
469

  
470
  $form->{ALL_DELIVERY_TERMS}     = SL::DB::Manager::DeliveryTerm->get_all_sorted();
471

  
472
  $form->{taxincluded}    = ($form->{taxincluded}) ? "checked" : "";
473
  $form->{is_customer}    = $form->{db}     eq 'customer';
474
  $form->{shipto_label}   = \&_shipto_label;
475
  $form->{contacts_label} = \&_contacts_label;
476
  $form->{taxzone_id}     = 0                                                               if !$form->{id};
477
  $form->{SHIPTO_ALL}     = [ +{ shipto_id => '0', shiptoname => $::locale->text('All') }, @{ $form->{SHIPTO} } ];
478

  
479
  $form->{title} = $form->{title_save}
480
                || $locale->text("$form->{title} " . ucfirst $form->{db}) . ($form->{title} eq "Edit" ? " $form->{name}" : '');
481

  
482
  CT->query_titles_and_greetings(\%myconfig, \%$form);
483
  map { $form->{"MB_$_"} = [ map +{ id => $_, description => $_ }, @{ $form->{$_} } ] } qw(COMPANY_GREETINGS);
484

  
485
  $form->{NOTES} ||= [ ];
486

  
487
  if (!$form->{'language_id'}) {
488
    my $l_id = SL::DB::Default->get->{'language_id'};
489
    if ($l_id) {
490
      $form->{'default_language_id'} = $l_id;
491
    }
492
  }
493

  
494
  if (!$form->{'id'}) {
495
    $form->{'currency'} = $form->get_default_currency(\%myconfig);
496
  } else {
497
    $form->{currency} = $form->{curr};
498
  }
499

  
500
  $::form->{CUSTOM_VARIABLES} = { };
501
  my %specs = ( CT       => { field => 'id',    name_prefix => '',   },
502
                Contacts => { field => 'cp_id', name_prefix => 'cp', },
503
              );
504

  
505
  for my $module (keys %specs) {
506
    my $spec = $specs{$module};
507

  
508
    $::form->{CUSTOM_VARIABLES}->{$module} = CVar->get_custom_variables(module => $module, trans_id => $::form->{ $spec->{field} });
509
    CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}->{$module}, name_prefix => $spec->{name_prefix})
510
      if scalar @{ $::form->{CUSTOM_VARIABLES}->{$module} };
511
  }
512

  
513
  $form->header;
514
  print $form->parse_html_template('ct/form_header');
515

  
516
  $main::lxdebug->leave_sub();
517
}
518

  
519
sub form_footer {
520
  $main::lxdebug->enter_sub();
521

  
522
  $main::auth->assert('customer_vendor_edit');
523

  
524
  my $form     = $main::form;
525

  
526
  print $form->parse_html_template('ct/form_footer', { is_orphaned => $form->{status} eq 'orphaned',
527
                                                       is_customer => $form->{db}     eq 'customer' });
528
  $main::lxdebug->leave_sub();
529
}
530

  
531
sub _do_save {
532
  $main::auth->assert('customer_vendor_edit');
533

  
534
  $::form->isblank("name", $::locale->text("Name missing!"));
535

  
536
  if ($::form->{new_salesman_id} && $::instance_conf->get_vertreter) {
537
    $::form->{salesman_id} = $::form->{new_salesman_id};
538
    delete $::form->{new_salesman_id};
539
  }
540

  
541
  my $res = $::form->{db} eq 'customer' ? CT->save_customer(\%::myconfig, $::form) : CT->save_vendor(\%::myconfig, $::form);
542

  
543
  if (3 == $res) {
544
    if ($::form->{"db"} eq "customer") {
545
      $::form->error($::locale->text('This customer number is already in use.'));
546
    } else {
547
      $::form->error($::locale->text('This vendor number is already in use.'));
548
    }
549
  }
550
}
551

  
552
sub add_transaction {
553
  $main::lxdebug->enter_sub();
554

  
555
  $main::auth->assert('customer_vendor_edit & ' .
556
                '(general_ledger         | invoice_edit         | vendor_invoice_edit | ' .
557
                ' request_quotation_edit | sales_quotation_edit | sales_order_edit    | purchase_order_edit)');
558

  
559
  my $form     = $main::form;
560
  my %myconfig = %main::myconfig;
561
  my $locale   = $main::locale;
562

  
563
#  # saving the history
564
#  if(!exists $form->{addition}) {
565
#    $form->{addition} = "ADD TRANSACTION";
566
#    $form->save_history;
567
#  }
568
#  # /saving the history
569

  
570
  _do_save();
571

  
572
  $form->{callback} = $form->escape($form->{callback}, 1);
573
  my $name = $form->escape("$form->{name}", 1);
574

  
575
  $form->{callback} =
576
    "$form->{script}?action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&callback=$form->{callback}";
577
  $form->redirect;
578

  
579
  $main::lxdebug->leave_sub();
580
}
581

  
582
sub save_and_ap_transaction {
583
  $main::lxdebug->enter_sub();
584

  
585
  $main::auth->assert('customer_vendor_edit & general_ledger');
586

  
587
  my $form     = $main::form;
588
  my %myconfig = %main::myconfig;
589

  
590
  $form->{script} = "ap.pl";
591
  # saving the history
592
  if(!exists $form->{addition}) {
593
    $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
594
    $form->{addition} = "SAVED";
595
    $form->save_history;
596
  }
597
  # /saving the history
598
  &add_transaction;
599
  $main::lxdebug->leave_sub();
600
}
601

  
602
sub save_and_ar_transaction {
603
  $main::lxdebug->enter_sub();
604

  
605
  $main::auth->assert('customer_vendor_edit & general_ledger');
606

  
607
  my $form     = $main::form;
608
  my %myconfig = %main::myconfig;
609

  
610
  $form->{script} = "ar.pl";
611
  # saving the history
612
  if(!exists $form->{addition}) {
613
    $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
614
    $form->{addition} = "SAVED";
615
    $form->save_history;
616
  }
617
  # /saving the history
618
  &add_transaction;
619
  $main::lxdebug->leave_sub();
620
}
621

  
622
sub save_and_invoice {
623
  $main::lxdebug->enter_sub();
624

  
625
  my $form     = $main::form;
626
  my %myconfig = %main::myconfig;
627

  
628
  if ($form->{db} eq 'customer') {
629
    $main::auth->assert('customer_vendor_edit & invoice_edit');
630
  } else {
631
    $main::auth->assert('customer_vendor_edit & vendor_invoice_edit');
632
  }
633

  
634
  $form->{script} = ($form->{db} eq 'customer') ? "is.pl" : "ir.pl";
635
  $form->{type} = "invoice";
636
  # saving the history
637
  if(!exists $form->{addition}) {
638
    $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
639
    $form->{addition} = "SAVED";
640
    $form->save_history;
641
  }
642
  # /saving the history
643
  &add_transaction;
644
  $main::lxdebug->leave_sub();
645
}
646

  
647
sub save_and_rfq {
648
  $main::lxdebug->enter_sub();
649

  
650
  $main::auth->assert('customer_vendor_edit & request_quotation_edit');
651

  
652
  my $form     = $main::form;
653
  my %myconfig = %main::myconfig;
654

  
655
  $form->{script} = "oe.pl";
656
  $form->{type}   = "request_quotation";
657
  # saving the history
658
  if(!exists $form->{addition}) {
659
    $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
660
    $form->{addition} = "SAVED";
661
    $form->save_history;
662
  }
663
  # /saving the history
664
  &add_transaction;
665
  $main::lxdebug->leave_sub();
666
}
667

  
668
sub save_and_quotation {
669
  $main::lxdebug->enter_sub();
670

  
671
  $main::auth->assert('customer_vendor_edit & sales_quotation_edit');
672

  
673
  my $form     = $main::form;
674
  my %myconfig = %main::myconfig;
675

  
676
  $form->{script} = "oe.pl";
677
  $form->{type}   = "sales_quotation";
678
  # saving the history
679
  if(!exists $form->{addition}) {
680
    $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
681
    $form->{addition} = "SAVED";
682
    $form->save_history;
683
  }
684
  # /saving the history
685
  &add_transaction;
686
  $main::lxdebug->leave_sub();
687
}
688

  
689
sub save_and_order {
690
  $main::lxdebug->enter_sub();
691

  
692
  my $form     = $main::form;
693
  my %myconfig = %main::myconfig;
694

  
695
  if ($form->{db} eq 'customer') {
696
    $main::auth->assert('customer_vendor_edit & sales_order_edit');
697
  } else {
698
    $main::auth->assert('customer_vendor_edit & purchase_order_edit');
699
  }
700

  
701
  $form->{script} = "oe.pl";
702
  $form->{type}   =
703
    ($form->{db} eq 'customer') ? "sales_order" : "purchase_order";
704
  # saving the history
705
  if(!exists $form->{addition}) {
706
    $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
707
    $form->{addition} = "SAVED";
708
    $form->save_history;
709
  }
710
  # /saving the history
711
  &add_transaction;
712
  $main::lxdebug->leave_sub();
713
}
714

  
715
sub save_and_close {
716
  $main::lxdebug->enter_sub();
717

  
718
  $main::auth->assert('customer_vendor_edit');
719

  
720
  my $form     = $main::form;
721
  my %myconfig = %main::myconfig;
722
  my $locale   = $main::locale;
723

  
724
  my $msg = ucfirst $form->{db};
725
  $msg .= " saved!";
726

  
727
  _do_save();
728

  
729
  # saving the history
730
  if(!exists $form->{addition}) {
731
    $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
732
    $form->{addition} = "SAVED";
733
    $form->save_history;
734
  }
735
  # /saving the history
736
  $form->redirect($locale->text($msg));
737

  
738
  $main::lxdebug->leave_sub();
739
}
740

  
741
sub save {
742
  $main::lxdebug->enter_sub();
743

  
744
  $main::auth->assert('customer_vendor_edit');
745

  
746
  my $form     = $main::form;
747
  my %myconfig = %main::myconfig;
748
  my $locale   = $main::locale;
749

  
750
  my $msg = ucfirst $form->{db};
751
  $msg .= " saved!";
752

  
753
  _do_save();
754

  
755
  # saving the history
756
  if(!exists $form->{addition}) {
757
    $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
758
    $form->{addition} = "SAVED";
759
    $form->save_history;
760
  }
761
  # /saving the history
762
  &edit;
763

  
764
  $main::lxdebug->leave_sub();
765
  ::end_of_request();
766
}
767

  
768
sub delete {
769
  $main::lxdebug->enter_sub();
770

  
771
  $main::auth->assert('customer_vendor_edit');
772

  
773
  my $form     = $main::form;
774
  my %myconfig = %main::myconfig;
775
  my $locale   = $main::locale;
776

  
777
  CT->delete(\%myconfig, \%$form);
778

  
779
  my $msg = ucfirst $form->{db};
780
  $msg .= " deleted!";
781
  # saving the history
782
  if(!exists $form->{addition}) {
783
    $form->{snumbers} = ($form->{"db"} eq "customer" ? qq|customernumber_| . $form->{customernumber} : qq|vendornumber_| . $form->{vendornumber});
784
    $form->{addition} = "DELETED";
785
    $form->save_history;
786
  }
787
  # /saving the history
788
  $form->redirect($locale->text($msg));
789

  
790
  $main::lxdebug->leave_sub();
791
}
792

  
793
sub display {
794
  $main::lxdebug->enter_sub();
795

  
796
  $main::auth->assert('customer_vendor_edit');
797

  
798
  my $form     = $main::form;
799

  
800
  &form_header();
801
  &form_footer();
802

  
803
  $main::lxdebug->leave_sub();
804
}
805

  
806
sub update {
807
  $main::lxdebug->enter_sub();
808

  
809
  $main::auth->assert('customer_vendor_edit');
810

  
811
  my $form     = $main::form;
812

  
813
  &display();
814
  $main::lxdebug->leave_sub();
815
}
816

  
817
sub get_contact {
818
  $main::lxdebug->enter_sub();
819

  
820
  $main::auth->assert('customer_vendor_edit');
821

  
822
  CT->populate_drop_down_boxes(\%::myconfig, $::form);
823
  CT->query_titles_and_greetings(\%::myconfig, $::form);
824
  CT->get_contact(\%::myconfig, $::form) if $::form->{cp_id};
825

  
826
  $::form->{CUSTOM_VARIABLES}{Contacts} = CVar->get_custom_variables(module => 'Contacts', trans_id => $::form->{cp_id});
827
  CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}{Contacts}, name_prefix => 'cp')
828
    if scalar @{ $::form->{CUSTOM_VARIABLES}->{Contacts} };
829

  
830
  $::form->{contacts_label} = \&_contacts_label;
831

  
832
  print $::form->ajax_response_header(), $::form->parse_html_template('ct/_contact');
833

  
834
  $main::lxdebug->leave_sub();
835
}
836

  
837
sub get_shipto {
838
  $main::lxdebug->enter_sub();
839

  
840
  $main::auth->assert('customer_vendor_edit');
841

  
842
  CT->populate_drop_down_boxes(\%::myconfig, $::form);
843
  CT->get_shipto(\%::myconfig, $::form) if $::form->{shipto_id};
844

  
845
  $::form->{shipto_label} = \&_shipto_label;
846

  
847
  print $::form->ajax_response_header(), $::form->parse_html_template('ct/_shipto');
848

  
849
  $main::lxdebug->leave_sub();
850
}
851

  
852
sub get_delivery {
853
  $::lxdebug->enter_sub;
854

  
855
  $::auth->assert('customer_vendor_edit');
856
  $::auth->assert('sales_all_edit');
857

  
858
  CT->get_delivery(\%::myconfig, $::form );
859

  
860
  print $::form->ajax_response_header,
861
        $::form->parse_html_template('ct/get_delivery', {
862
          is_customer =>  $::form->{db} eq 'customer',
863
        });
864

  
865
  $::lxdebug->leave_sub;
866
}
867

  
868
sub delete_shipto {
869
  $::lxdebug->enter_sub;
870
  $::auth->assert('customer_vendor_edit');
871

  
872
  if (!$::form->{shipto_id}) {
873
    flash('error', $::locale->text('No shipto selected to delete'));
874
  } else {
875

  
876
    CT->get_shipto(\%::myconfig, $::form);
877

  
878
    my $shipto = SL::DB::Manager::Shipto->find_by(shipto_id => $::form->{shipto_id});
879

  
880
    if ($shipto->used) {
881
      $shipto->detach->save;
882
      flash('info', $::locale->text('Shipto is in use and was flagged invalid.'));
883
    } else {
884
      $shipto->delete;
885
      flash('info', $::locale->text('Shipto deleted.'));
886
    }
887
    delete $::form->{$_} for grep /^shipto/, keys %$::form;
888
  }
889

  
890
  edit();
891

  
892
  $::lxdebug->leave_sub;
893
}
894

  
895
sub delete_contact {
896
  $::lxdebug->enter_sub;
897
  $::auth->assert('customer_vendor_edit');
898

  
899
  if (!$::form->{cp_id}) {
900
    flash('error', $::locale->text('No contact selected to delete'));
901
  } else {
902

  
903
    CT->get_contact(\%::myconfig, $::form);
904

  
905
    my $contact = SL::DB::Manager::Contact->find_by(cp_id => $::form->{cp_id});
906

  
907
    if ($contact->used) {
908
      $contact->detach->save;
909
      flash('info', $::locale->text('Contact is in use and was flagged invalid.'));
910
    } else {
911
      $contact->delete;
912
      flash('info', $::locale->text('Contact deleted.'));
913
    }
914
    delete $::form->{$_} for grep /^cp_/, keys %$::form;
915
  }
916

  
917
  edit();
918

  
919
  $::lxdebug->leave_sub;
920
}
921

  
922
sub ajax_autocomplete {
923
  $main::lxdebug->enter_sub();
924

  
925
  my $form     = $main::form;
926
  my %myconfig = %main::myconfig;
927

  
928
  $form->{column}          = 'name'     unless $form->{column} =~ /^name$/;
929
  $form->{vc}              = 'customer' unless $form->{vc} =~ /^customer|vendor$/;
930
  $form->{db}              = $form->{vc}; # CT expects this
931
  $form->{$form->{column}} = $form->{q}           || '';
932
  $form->{limit}           = ($form->{limit} * 1) || 10;
933
  $form->{searchitems}   ||= '';
934

  
935
  CT->search(\%myconfig, $form);
936

  
937
  print $form->ajax_response_header(),
938
        $form->parse_html_template('ct/ajax_autocomplete');
939

  
940
  $main::lxdebug->leave_sub();
941
}
942

  
943 415
sub continue { call_sub($main::form->{nextsub}); }
templates/webpages/ct/_contact.html
1
[% USE L %][% USE HTML %][% USE T8 %][% USE LxERP %]
2
    <table>
3
     <input type="hidden" name="cp_id" value="[% HTML.escape(cp_id) %]">
4
     <tr>
5
      <th align="left">[% 'Contacts' | $T8 %]</th>
6
      <td>
7
       [%- L.select_tag('cp_id', CONTACTS, default = cp_id, with_empty = 1, empty_title = LxERP.t8('New contact'), value_key = 'cp_id', title_sub = \contacts_label,
8
                        onchange = "\$('#contacts').load('ct.pl?action=get_contact&id=' + \$('#cvid').val() + '&db=' + \$('#db').val() + '&cp_id=' + \$('#cp_id').val())") %]
9
      </td>
10
     </tr>
11

  
12
     <tr>
13
      <th align="left" nowrap>[% 'Gender' | $T8 %]</th>
14
      <td>
15
       <select id="cp_gender" name="cp_gender">
16
        <option value="m"[% IF cp_gender == 'm' %] selected[% END %]>[% 'male' | $T8 %]</option>
17
        <option value="f"[% IF cp_gender == 'f' %] selected[% END %]>[% 'female' | $T8 %]</option>
18
       </select>
19
      </td>
20
     </tr>
21

  
22
     <tr>
23
      <th align="left" nowrap>[% 'Title' | $T8 %]</th>
24
      <td>
25
       <input id="cp_title" name="cp_title" size="40" maxlength="75" value="[% HTML.escape(cp_title) %]">&nbsp;
26
       [% L.select_tag('selected_cp_title', TITLES, with_empty = 1) %]
27
      </td>
28
     </tr>
29

  
30
     <tr>
31
      <th align="left" nowrap>[% 'Department' | $T8 %]</th>
32
      <td>
33
       <input id="cp_abteilung" name="cp_abteilung" size="40" value="[% HTML.escape(cp_abteilung) %]">&nbsp;
34
       [% L.select_tag('selected_cp_abteilung', DEPARTMENT, with_empty = 1) %]
35
      </td>
36
     </tr>
37

  
38
     <tr>
39
      <th align="left" nowrap>[% 'Function/position' | $T8 %]</th>
40
      <td>[% L.input_tag('cp_position', cp_position, size=40, maxlength=75) %]</td>
41
     </tr>
42

  
43
     <tr>
44
      <th align="left" nowrap>[% 'Given Name' | $T8 %]</th>
45
      <td><input id="cp_givenname" name="cp_givenname" size="40" maxlength="75" value="[% HTML.escape(cp_givenname) %]"></td>
46
     </tr>
47

  
48
     <tr>
49
      <th align="left" nowrap>[% 'Name' | $T8 %]</th>
50
      <td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="[% HTML.escape(cp_name) %]"></td>
51
     </tr>
52

  
53
     <tr>
54
      <th align="left" nowrap>[% 'E-mail' | $T8 %]</th>
55
      <td><input id="cp_email" name="cp_email" size="40" value="[% HTML.escape(cp_email) %]"></td>
56
     </tr>
57

  
58
     <tr>
59
      <th align="left" nowrap>[% 'Phone1' | $T8 %]</th>
60
      <td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="[% HTML.escape(cp_phone1) %]"></td>
61
     </tr>
62

  
63
     <tr>
64
      <th align="left" nowrap>[% 'Phone2' | $T8 %]</th>
65
      <td><input id="cp_phone2" name="cp_phone2" size="40" maxlength="75" value="[% HTML.escape(cp_phone2) %]"></td>
66
     </tr>
67

  
68
     <tr>
69
      <th align="left" nowrap>[% 'Fax' | $T8 %]</th>
70
      <td><input id="cp_fax" name="cp_fax" size="40" value="[% HTML.escape(cp_fax) %]"></td>
71
     </tr>
72

  
73
     <tr>
74
      <th align="left" nowrap>[% 'Mobile1' | $T8 %]</th>
75
      <td><input id="cp_mobile1" name="cp_mobile1" size="40" value="[% HTML.escape(cp_mobile1) %]"></td>
76
     </tr>
77

  
78
     <tr>
79
      <th align="left" nowrap>[% 'Mobile2' | $T8 %]</th>
80
      <td><input id="cp_mobile2" name="cp_mobile2" size="40" value="[% HTML.escape(cp_mobile2) %]"></td>
81
     </tr>
82

  
83
     <tr>
84
      <th align="left" nowrap>[% 'Sat. Phone' | $T8 %]</th>
85
      <td><input id="cp_satphone" name="cp_satphone" size="40" value="[% HTML.escape(cp_satphone) %]"></td>
86
     </tr>
87

  
88
     <tr>
89
      <th align="left" nowrap>[% 'Sat. Fax' | $T8 %]</th>
90
      <td><input id="cp_satfax" name="cp_satfax" size="40" value="[% HTML.escape(cp_satfax) %]"></td>
91
     </tr>
92

  
93
     <tr>
94
      <th align="left" nowrap>[% 'Project' | $T8 %]</th>
95
      <td><input id="cp_project" name="cp_project" size="40" value="[% HTML.escape(cp_project) %]"></td>
96
     </tr>
97

  
98
     <tr>
99
      <th align="left" nowrap>[% 'Street' | $T8 %]</th>
100
      <td><input id="cp_street" name="cp_street" size="40" maxlength="75" value="[% HTML.escape(cp_street) %]"></td>
101
     </tr>
102

  
103
     <tr>
104
      <th align="left" nowrap>[% 'Zip, City' | $T8 %]</th>
105
      <td>
106
       <input id="cp_zipcode" name="cp_zipcode" size="5" maxlength="10" value="[% HTML.escape(cp_zipcode) %]">
107
       <input id="cp_city" name="cp_city" size="25" maxlength="75" value="[% HTML.escape(cp_city) %]">
108
      </td>
109
     </tr>
110

  
111
     <tr>
112
      <th align="left" nowrap>[% 'Private Phone' | $T8 %]</th>
113
      <td><input id="cp_privatphone" name="cp_privatphone" size="40" value="[% HTML.escape(cp_privatphone) %]"></td>
114
     </tr>
115

  
116
     <tr>
117
      <th align="left" nowrap>[% 'Private E-mail' | $T8 %]</th>
118
      <td><input id="cp_privatemail" name="cp_privatemail" size="40" value="[% HTML.escape(cp_privatemail) %]"></td>
119
     </tr>
120

  
121
     <tr>
122
      <th align="left" nowrap>[% 'Birthday' | $T8 %]</th>
123
      <td>
124
        [% L.date_tag('cp_birthday', cp_birthday) %]
125
      </td>
126
     </tr>
127

  
128
     [% IF CUSTOM_VARIABLES.Contacts.size %]
129
     <tr>
130
      <td colspan="2"><hr></td>
131
     </tr>
132

  
133
     [%- FOREACH var = CUSTOM_VARIABLES.Contacts %]
134
     <tr>
135
      <th align="left" valign="top" nowrap>[% HTML.escape(var.description) %]</th>
136
      <td valign="top">[% var.HTML_CODE %]</td>
137
     </tr>
138
     [%- END %]
139
     [%- END %]
140

  
141
    </table>
142

  
143
    [% IF cp_id %]
144
      <input type="button" id="delete_contact" onclick="submitInputButton(this);" name="action" value="[% 'Delete Contact' | $T8 %]">
145
    [% END %]
templates/webpages/ct/_shipto.html
1
[% USE L %][% USE HTML %][% USE T8 %][% USE LxERP %]
2
    <table width="100%" id="shipto_table">
3
     <tr>
4
      <th align="right">[% 'Shipping Address' | $T8 %]</th>
5
      <td>
6
       [% L.select_tag('shipto_id', SHIPTO, default = shipto_id, value_key = 'shipto_id', title_sub = \shipto_label, with_empty = 1, empty_title = LxERP.t8('New shipto'),
7
                       onchange = "\$('#shipto').load('ct.pl?action=get_shipto&id=' + \$('#cvid').val() + '&db=' + \$('#db').val() + '&shipto_id=' + this.value)") %]
8
      </td>
9
     </tr>
10

  
11
     <tr>
12
      <th align="right" nowrap>[% 'Name' | $T8 %]</th>
13
      <td><input id="shiptoname" name="shiptoname" size="35" maxlength="75" value="[% HTML.escape(shiptoname) %]"></td>
14
     </tr>
15

  
16
     <tr>
17
      <th align="right" nowrap>[% 'Abteilung' | $T8 %]</th>
18
      <td>
19
       <input id="shiptodepartment_1" name="shiptodepartment_1" size="16" maxlength="75" value="[% HTML.escape(shiptodepartment_1) %]">
20
       <input id="shiptodepartment_2" name="shiptodepartment_2" size="16" maxlength="75" value="[% HTML.escape(shiptodepartment_2) %]">
21
      </td>
22
     </tr>
23

  
24
     <tr>
25
      <th align="right" nowrap>[% 'Street' | $T8 %]</th>
26
      <td><input id="shiptostreet" name="shiptostreet" size="35" maxlength="75" value="[% HTML.escape(shiptostreet) %]"></td>
27
     </tr>
28

  
29
     <tr>
30
      <th align="right" nowrap>[% 'Zipcode' | $T8 %]/[% 'City' | $T8 %]</th>
31
      <td>
32
       <input id="shiptozipcode" name="shiptozipcode" size="5" maxlength="75" value="[% HTML.escape(shiptozipcode) %]">
33
       <input id="shiptocity" name="shiptocity" size="30" maxlength="75" value="[% HTML.escape(shiptocity) %]">
34
      </td>
35
     </tr>
36

  
37
     <tr>
38
      <th align="right" nowrap>[% 'Country' | $T8 %]</th>
39
      <td><input id="shiptocountry" name="shiptocountry" size="35" maxlength="75" value="[% HTML.escape(shiptocountry) %]"></td>
40
     </tr>
41

  
42
     <tr>
43
      <th align="right" nowrap>[% 'Contact' | $T8 %]</th>
44
      <td><input id="shiptocontact" name="shiptocontact" size="30" maxlength="75" value="[% HTML.escape(shiptocontact) %]"></td>
45
     </tr>
46

  
47
     <tr>
48
      <th align="right" nowrap>[% 'Phone' | $T8 %]</th>
49
      <td><input id="shiptophone" name="shiptophone" size="30" maxlength="30" value="[% HTML.escape(shiptophone) %]"></td>
50
     </tr>
51

  
52
     <tr>
53
      <th align="right" nowrap>[% 'Fax' | $T8 %]</th>
54
      <td><input id="shiptofax" name="shiptofax" size="30" maxlength="30" value="[% HTML.escape(shiptofax) %]"></td>
55
     </tr>
56

  
57
     <tr>
58
      <th align="right" nowrap>[% 'E-mail' | $T8 %]</th>
59
      <td><input id="shiptoemail" name="shiptoemail" size="45" value="[% HTML.escape(shiptoemail) %]"></td>
60
     </tr>
61
    </table>
62

  
63
[%- IF shipto_id %]
64
    <input type="submit" id="delete_shipto" name="action" value="[% 'Delete Shipto' | $T8 %]">
65
[%- END %]
templates/webpages/ct/ajax_autocomplete.html
1
[%- USE HTML %]
2
[%- FOREACH vc = CT %]
3
[%- IF loop.count < limit %]
4
[% vc.$column %]
5
[%- END %]
6
[%- END %]
templates/webpages/ct/form_footer.html
1
[%- USE T8 %]
2
[% USE HTML %]
3
[% USE LxERP %]
4
[% USE L %]
5
<input name="id" type="hidden" id="cvid" value="[% HTML.escape(id) %]">
6
<input name="business_save" type="hidden" value="[% HTML.escape(selectbusiness) %]">
7
<input name="title_save" type="hidden" value="[% HTML.escape(title) %]">
8

  
9
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
10
<input type="hidden" name="db" id="db" value="[% HTML.escape(db) %]">
11

  
12
<br>
13
  <input class="submit" type="submit" name="action" accesskey="s" value="[% 'Save' | $T8 %]" onclick="return check_taxzone_and_ustid()">
14
  <input class="submit" type="submit" name="action" accesskey="s" value="[% 'Save and Close' | $T8 %]" onclick="return check_taxzone_and_ustid()">
15
  [%- IF is_customer %]
16
  <input class="submit" type="submit" name="action" value="[% 'Save and AR Transaction' | $T8 %]" onclick="return check_taxzone_and_ustid()">
17
  [%- ELSE %]
18
  <input class="submit" type="submit" name="action" value="[% 'Save and AP Transaction' | $T8 %]" onclick="return check_taxzone_and_ustid()">
19
  [%- END %]
20
  <input class="submit" type="submit" name="action" value="[% 'Save and Invoice' | $T8 %]" onclick="return check_taxzone_and_ustid()">
21
  <input class="submit" type="submit" name="action" value="[% 'Save and Order' | $T8 %]" onclick="return check_taxzone_and_ustid()">
22
  [%- IF is_customer %]
23
  <input class="submit" type="submit" name="action" value="[% 'Save and Quotation' | $T8 %]" onclick="return check_taxzone_and_ustid()">
24
  [%- ELSE %]
25
  <input class="submit" type="submit" name="action" value="[% 'Save and RFQ' | $T8 %]" onclick="return check_taxzone_and_ustid()">
26
  [%- END %]
27
[%- IF id AND is_orphaned %]
28
  [% L.submit_tag('action', LxERP.t8('Delete'), id => 'action_delete', confirm => LxERP.t8('Do you really want to delete this object?')) %]
29
[%- END %]
30
[%- IF id %]
31
  <input type="button" class="submit" onclick="set_history_window([% HTML.escape(id) %]);" name="history" id="history" value="[% 'history' | $T8 %]">
32
[%- END %]
33

  
34
  </form>
35

  
36
 <script type="text/javascript">
37
  <!--
38
      function enable_delete_shipto(used) { var s=document.getElementById('delete_shipto');  if (s) s.disabled = (used > 0 ? true : false); }
39
      function enable_delete_contact(used){ var s=document.getElementById('delete_contact'); if (s) s.disabled = (used > 0 ? true : false); }
40

  
41
      function submitInputButton(button)
42
      {
43
        var hidden = document.createElement("input");
44
        hidden.setAttribute("type", "hidden");
45

  
46
        if( button.hasAttribute("name") )
47
          hidden.setAttribute("name", button.getAttribute("name"));
48

  
49
        if( button.hasAttribute("value") )
50
          hidden.setAttribute("value", button.getAttribute("value"));
51

  
52

  
53
        button.form.appendChild(hidden);
54

  
55
        button.disabled = true;
56

  
57
        button.form.submit();
58
      }
59

  
60
      function check_taxzone_and_ustid() {
61
        if (($('#taxzone_id').val() == '1') && ($('#ustid').val() == '')) {
62
          alert('[% LxERP.t8('Please enter the sales tax identification number.') %]');
63
          return false;
64
        }
65
        return true;
66
      }
67

  
68
    -->
69
 </script>
templates/webpages/ct/form_header.html
1
[%- USE T8 %]
2
[% USE HTML %][% USE LxERP %]
3
[% USE L %]
4

  
5
 <h1>[% title %]</h1>
6

  
7
 [% PROCESS 'common/flash.html' %]
8

  
9
 <form method="post" name="ct" action="ct.pl" >
10

  
11
  <div class="tabwidget">
12
   <ul>
13
    <li><a href="#billing">[% 'Billing Address' | $T8 %]</a></li>
14
    <li><a href="#shipto">[% 'Shipping Address' | $T8 %]</a></li>
15
    <li><a href="#contacts">[% 'Contacts' | $T8 %]</a></li>
16
[%- IF id %]
17
    <li><a href="#deliveries">[% 'Supplies' | $T8 %]</a></li>
18
[%- END %]
19
    <li><a href="#vcnotes">[% 'Notes' | $T8 %]</a></li>
20
[%- IF CUSTOM_VARIABLES.CT.size %]
21
    <li><a href="#custom_variables">[% 'Custom Variables' | $T8 %]</a></li>
22
[%- END %]
23
   </ul>
24

  
25
   <div id="billing">
26

  
27
    <table width="100%">
28
     <tr height="5"></tr>
29
     [% IF INSTANCE_CONF.get_vertreter %]
30
      <tr>
31
       <th align="right">[% IF is_customer %][% 'Type of Customer' | $T8 %][%- ELSE %][% 'Type of Vendor' | $T8 %][%- END %]</th>
32
       <td>
33
        [%- INCLUDE generic/multibox.html
34
              name       = 'business',
35
              DATA       = all_business,
36
              show_empty = 1,
37
              id_key     = 'id',
38
              label_key  = 'description',
39
        -%]
40
       </td>
41
      </tr>
42
      [%- IF id %]
43
      <tr>
44
       <th align="right">[% 'Representative' | $T8 %]</th>
45
       <td>
46
        <input type="hidden" name="salesman_id" value="[%- HTML.escape(salesman_id) %]"%>
47
        [%- HTML.escape(salesman) %]
48
       </td>
49
      </tr>
50
      [%- END %]
51
      <tr>
52
       <th align="right">
53
        [%- IF !id %]
54
         [% 'Representative' | $T8 %]
55
        [%- ELSE %]
56
         [% 'Change representative to' | $T8 %]
57
        [%- END %]
58
       </th>
59
       <td>
60
        [%- INCLUDE generic/multibox.html
61
              name       = 'new_salesman_id',
62
              DATA       = ALL_SALESMAN_CUSTOMERS,
63
              id_key     = 'id',
64
              label_key  = 'name',
65
              show_empty = id,
66
        -%]
67
       </td>
68
      </tr>
69
     [%- END %]
70
     <tr>
71
      [%- IF is_customer %]
72
      <th align="right" nowrap>[% 'Customer Number' | $T8 %]</th>
73
      <td><input name="customernumber" size="35" value="[% HTML.escape(customernumber) %]"></td>
74
      [%- ELSE %]
75
      <th align="right" nowrap>[% 'Vendor Number' | $T8 %]</th>
76
      <td><input name="vendornumber" size="35" value="[% HTML.escape(vendornumber) %]"></td>
77
      [%- END %]
78
     </tr>
79

  
80
     <tr>
81
      <th align="right" nowrap>[% 'Greeting' | $T8 %]</th>
82
      <td>
83
       <input id="greeting" name="greeting" size="30" value="[% HTML.escape(greeting) %]" class="initial_focus">&nbsp;
84
       [%- INCLUDE generic/multibox.html
85
             name       = 'selected_company_greeting',
86
             DATA       = MB_COMPANY_GREETINGS,
87
             show_empty = 1,
88
             id_key     = 'id',
89
             label_key  = 'description',
90
       -%]
91
      </td>
92
     </tr>
93

  
94
     <tr>
95
      <th align="right" nowrap>[% IF is_customer %][% 'Customer Name' | $T8 %][%- ELSE %][% 'Vendor Name' | $T8 %][%- END %]</th>
96
      <td><input name="name" size="35" maxlength="75" value="[% HTML.escape(name) %]"></td>
97
     </tr>
98

  
99
     <tr>
100
      <th align="right" nowrap>[% 'Department' | $T8 %]</th>
101
      <td>
102
       <input name="department_1" size="16" maxlength="75" value="[% HTML.escape(department_1) %]">
103
       <input name="department_2" size="16" maxlength="75" value="[% HTML.escape(department_2) %]">
104
      </td>
105
     </tr>
106

  
107
     <tr>
108
      <th align="right" nowrap>[% 'Street' | $T8 %]</th>
109
      <td>
110
        <input name="street" size="35" maxlength="75" value="[% HTML.escape(street) %]">
111
        <a
112
          href="#"
113
          onclick="window.open('https://maps.google.com/maps?q='+ encodeURIComponent($('#billing input[name=street]').val() +', '+ $('#billing input[name=zipcode]').val() +' '+ $('#billing input[name=city]').val() +', '+ $('#billing input[name=country]').val()), '_blank'); window.focus();"
114
          title="[% 'Map' | $T8 %]"
115
          >
116
            <img src="image/map.png" alt="[% 'Map' | $T8 %]" />
117
          </a>
118
      </td>
119
     </tr>
120

  
121
     <tr>
122
      <th align="right" nowrap>[% 'Zipcode' | $T8 %]/[% 'City' | $T8 %]</th>
123
      <td>
124
       <input name="zipcode" size="5" maxlength="10" value="[% HTML.escape(zipcode) %]">
125
       <input name="city" size="30" maxlength="75" value="[% HTML.escape(city) %]">
126
      </td>
127
     </tr>
128

  
129
     <tr>
130
      <th align="right" nowrap>[% 'Country' | $T8 %]</th>
131
      <td><input name="country" size="35" maxlength="75" value="[% HTML.escape(country) %]"></td>
132
     </tr>
133

  
134
     <tr>
135
      <th align="right" nowrap>[% 'Contact' | $T8 %]</th>
136
      <td><input name="contact" size="28" maxlength="75" value="[% HTML.escape(contact) %]"></td>
137
     </tr>
138

  
139
     <tr>
140
      <th align="right" nowrap>[% 'Phone' | $T8 %]</th>
141
      <td><input name="phone" size="30" value="[% HTML.escape(phone) %]"></td>
142
     </tr>
143

  
144
     <tr>
145
      <th align="right" nowrap>[% 'Fax' | $T8 %]</th>
146
      <td><input name="fax" size="30" maxlength="30" value="[% HTML.escape(fax) %]"></td>
147
     </tr>
148

  
149
     <tr>
150
      <th align="right" nowrap>[% 'E-mail' | $T8 %]</th>
151
      <td><input name="email" size="45" value="[% HTML.escape(email) %]"></td>
152
     </tr>
153

  
154
     <tr>
155
      <th align="right" nowrap>[% 'Cc E-mail' | $T8 %]</th>
156
      <td><input name="cc" size="45" value="[% HTML.escape(cc) %]"></td>
157
     </tr>
158

  
159
     <tr>
160
      <th align="right" nowrap>[% 'Bcc E-mail' | $T8 %]</th>
161
      <td><input name="bcc" size="45" value="[% HTML.escape(bcc) %]"></td>
162
     </tr>
163

  
164

  
165
     <tr>
166
      <th align="right" nowrap>
167
      [% IF homepage %]<a href="[% HTML.escape(homepage) %]" title="[% 'Open this Website' | $T8 %]" target="_blank">[% 'Homepage' | $T8 %]</a>
168
      [% ELSE %][% 'Homepage' | $T8 %]
169
      [% END %]
170
      </th>
171
      <td><input name="homepage" size="45" title="[% 'Example: http://kivitendo.de' | $T8 %]" value="[% HTML.escape(homepage) %]"></td>
172
     </tr>
173

  
174
     <tr>
175
      <th align="right" nowrap>[% 'Username' | $T8 %]</th>
176
      <td><input name="username" size="45" value="[% HTML.escape(username) %]"></td>
177
     </tr>
178

  
179
     <tr>
180
      <th align="right" nowrap>[% 'Password' | $T8 %]</th>
181
      <td><input name="user_password" size="45" value="[% HTML.escape(user_password) %]"></td>
182
     </tr>
183
    </table>
184

  
185
    <table>
186
     <tr>
187
      <th align="right">[% 'Credit Limit' | $T8 %]</th>
188
      <td><input name="creditlimit" size="9" value="[% LxERP.format_amount(creditlimit, 0) %]"></td>
189
      <input type="hidden" name="terms" value="[% HTML.escape(terms) %]">
190
      <th align="right">[% 'Payment Terms' | $T8 %]</th>
191
      <td>
192
       [%- INCLUDE generic/multibox.html
193
             name       = 'payment_id',
194
             DATA       = payment_terms,
195
             show_empty = 1,
196
             id_key     = 'id',
197
             label_key  = 'description',
198
       -%]
199
      </td>
200

  
201
      <th align="right">[% 'Discount' | $T8 %]</th>
202
      <td><input name="discount" size="4" value="[% LxERP.format_amount(discount) %]"> %</td>
203
     </tr>
204

  
205
     <tr>
206
      <th align="right">[% 'Tax Number / SSN' | $T8 %]</th>
207
      <td><input name="taxnumber" size="20" value="[% HTML.escape(taxnumber) %]"></td>
208
      <!-- Anm.: R&B 15.11.2008     VAT Reg No ist Ust-ID in GB, aber generell sollte es laut Richardson die sales tax id sein -->
209
      <th align="right">[% 'sales tax identification number' | $T8 %]</th>
210
      <td>[% L.input_tag('ustid', ustid, maxlength=14, size=30) %]</td>
211
      [%- IF is_customer %]
212
      <th align="right">[% 'our vendor number at customer' | $T8 %]</th>
213
      <td>[% L.input_tag('c_vendor_id', c_vendor_id, size=30) %]</td>
214
      [%- ELSE %]
215
      <th align="right">[% 'Customer Number' | $T8 %]</th>
216
      <td>[% L.input_tag('v_customer_id', v_customer_id, size=30) %]</td>
217
      [%- END %]
218
     </tr>
219

  
220
     <tr>
221
      <th align="right">[% 'Account Number' | $T8 %]</th>
222
      <td>[% L.input_tag('account_number', account_number, size=30) %]</td>
223
      <th align="right">[% 'Bank Code Number' | $T8 %]</th>
224
      <td>[% L.input_tag('bank_code', bank_code, size=30) %]</td>
225
      <th align="right">[% 'Bank' | $T8 %]</th>
226
      <td>[% L.input_tag('bank', bank, size=30) %]</td>
227
     </tr>
228

  
229
     <tr>
230
      <th align="right">[% 'IBAN' | $T8 %]</th>
231
      <td>[% L.input_tag('iban', iban, maxlength=100, size=30) %]</td>
232
      <th align="right">[% 'BIC' | $T8 %]</th>
233
      <td>[% L.input_tag('bic', bic, maxlength=100, size=30) %]</td>
234
      [%- IF ALL_CURRENCIES.size %]
235
        <th align="right">[% 'Currency' | $T8 %]</th>
236
        <td>[% L.select_tag('currency', ALL_CURRENCIES, default = currency) %]</td>
237
      [%- END %]
238
     </tr>
239

  
240
     <tr>
241
      [% UNLESS INSTANCE_CONF.get_vertreter %]
242
       <th align="right">[% IF is_customer %][% 'Type of Customer' | $T8 %][% ELSE %][% 'Type of Vendor' | $T8 %][%- END %]</th>
243
       <td>
244
        [%- INCLUDE generic/multibox.html
245
              name       = 'business',
246
              DATA       = all_business,
247
              show_empty = 1,
248
              id_key     = 'id',
249
              label_key  = 'description',
250
        -%]
251
       </td>
252
      [%- END %]
253
      <th align="right">[% 'Language' | $T8 %]</th>
254
      <td>
255
       [%- INCLUDE generic/multibox.html
256
             name       = 'language_id',
257
             default    = default_language_id,
258
             DATA       = languages,
259
             show_empty = 1,
260
             id_key     = 'id',
261
             label_key  = 'description',
262
       -%]
263
      </td>
264
      <th align="right">[% 'Delivery Terms' | $T8 %]</th>
265
      <td>[% L.select_tag('delivery_term_id', ALL_DELIVERY_TERMS, default = delivery_term_id, with_empty = 1, title_key = 'description') %]</td>
266
     </tr>
267

  
268
     <tr>
269
      <td align="right"><label for="obsolete">[% 'Obsolete' | $T8 %]</label></td>
270
      <td><input name="obsolete" id="obsolete" class="checkbox" type="checkbox" value="1" [% IF obsolete %]checked[% END %]></td>
271
      <td align="right"><label for="direct_debit">[% 'direct debit' | $T8 %]</label></td>
272
      <td><input name="direct_debit" id="direct_debit" class="checkbox" type="checkbox" value="1" [% IF direct_debit %]checked[% END %]></td>
273

  
274
      [%- IF is_customer %]
275
      <th align="right">[% 'Preisklasse' | $T8 %]</th>
276
      <td>
277
       [%- INCLUDE generic/multibox.html
278
             name       = 'klass',
279
             DATA       = all_pricegroup,
280
             show_empty = 1,
281
             id_key     = 'id',
282
             label_key  = 'pricegroup',
283
       -%]
284
      </td>
285
      [%- END  %]
286
     </tr>
287

  
288
     <tr>
289
      <th align="right">[% 'Steuersatz' | $T8 %]</th>
290
      <td>
291
       [%- INCLUDE generic/multibox.html
292
             name       = 'taxzone_id',
293
             id         = 'taxzone_id',
294
             DATA       = ALL_TAXZONES,
295
             show_empty = 0,
296
             id_key     = 'id',
297
             label_key  = 'description',
298
       -%]
299
      </td>
300
      [%- IF is_customer && !INSTANCE_CONF.get_vertreter %]
301
      <th align="right">[% 'Salesman' | $T8 %]</th>
302
      <td>[% L.select_tag('salesman_id', ALL_SALESMEN, default = salesman_id, with_empty = 1, title_key = 'safe_name') %]</td>
303
      [%- END %]
304

  
305
      <td>[% 'taxincluded checked' | $T8 %]</td>
306
      <td>[% L.select_tag('taxincluded_checked', [[undef, LxERP.t8('use user config')], ['1', LxERP.t8('Yes')], ['0', LxERP.t8('No')]], default = taxincluded_checked) %]</td>
307
     </tr>
308
    </table>
309

  
310
    <table>
311
     <tr>
312
      <th align="left" nowrap>[% 'Internal Notes' | $T8 %]</th>
313
     </tr>
314

  
315
     <tr>
316
      <td><textarea name="notes" rows="3" cols="60" wrap="soft">[% HTML.escape(notes) %]</textarea></td>
317
     </tr>
318
    </table>
319
   </div>
320

  
321
   <div id="shipto">
322
    [% INCLUDE 'ct/_shipto.html' %]
323
   </div>
324

  
325
   <div id="contacts">
326
    [% INCLUDE 'ct/_contact.html' %]
327
   </div>
328

  
329
   <div id="deliveries">
330
    <table>
331
     <tr>
332
      <th align="right">[% 'Shipping Address' | $T8 %]</th>
333
      <td colspan="3">
334
       [% L.select_tag('delivery_id', SHIPTO_ALL, value_key = 'shipto_id', title_sub = \shipto_label, with_empty = 1,
335
                       onchange = "\$('#delivery').load('ct.pl?action=get_delivery&id=' + \$('#cvid').val() + '&db=' + \$('#db').val() + '&shipto_id=' + this.value)") %]
336
      </td>
337
     </tr>
338

  
339
     <tr>
340
      <th align="right" nowrap>[% 'From' | $T8 %]</th>
341
      <td>
342
        [% L.date_tag('from',
343
                      from,
344
                      onchange => "\$('#delivery').load('ct.pl?action=get_delivery&shipto_id='+ \$('#delivery_id').val() +'&from='+ \$('#from').val() +'&to='+ \$('#to').val() +'&id='+ \$('#cvid').val() +'&db='+ \$('#db').val())")
345
        %]
346
      </td>
347
      <th align="right" nowrap>[% 'To (time)' | $T8 %]</th>
348
      <td>
349
       [% L.date_tag('to',
350
                      to,
351
                      onchange => "\$('#delivery').load('ct.pl?action=get_delivery&shipto_id='+ \$('#delivery_id').val() +'&from='+ \$('#from').val() +'&to='+ \$('#to').val() +'&id='+ \$('#cvid').val() +'&db='+ \$('#db').val())")
352
       %]
353
      </td>
354
     </tr>
355

  
356
     <tr>
357
      <td colspan="4">
358
       <div id="delivery">
359
       </div>
360
      </td>
361
     </tr>
362
    </table>
363
   </div>
364

  
365
   <div id="vcnotes">
366

  
367
    [%- IF NOTES && NOTES.size %]
368
    <p>
369
     <table>
370
      <tr>
371
       <th class="listheading">[% 'Delete' | $T8 %]</th>
372
       <th class="listheading">[% 'Subject' | $T8 %]</th>
373
       <th class="listheading">[% 'Created on' | $T8 %]</th>
374
       <th class="listheading">[% 'Created by' | $T8 %]</th>
375
       <th class="listheading">[% 'Follow-Up Date' | $T8 %]</th>
376
       <th class="listheading">[% 'Follow-Up for' | $T8 %]</th>
377
       <th class="listheading">[% 'Follow-Up done' | $T8 %]</th>
378
      </tr>
379

  
380
      [%- FOREACH row = NOTES %]
381
      <tr class="listrow[% loop.count % 2 %]">
382
       <input type="hidden" name="NOTE_id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
383
       <td>[% UNLESS NOTE_id && (NOTE_id == row.id) %]<input type="checkbox" name="NOTE_delete_[% loop.count %]" value="1">[% END %]</td>
384
       <td><a href="ct.pl?action=edit&db=[% HTML.url(db) %]&id=[% HTML.url(id) %]&edit_note_id=[% HTML.url(row.id) %]">[% HTML.escape(row.subject) %]</a></td>
385
       <td>[% HTML.escape(row.created_on) %]</td>
386
       <td>[% IF row.created_by_name %][% HTML.escape(row.created_by_name) %][% ELSE %][% HTML.escape(row.created_by_login) %][% END %]</td>
387
       <td>[% HTML.escape(row.follow_up_date) %]</td>
388
       <td>[% IF row.created_for_name %][% HTML.escape(row.created_for_name) %][% ELSE %][% HTML.escape(row.created_for_login) %][% END %]</td>
389
       <td>[% IF row.follow_up_date %][% IF row.follow_up_done %][% 'Yes' | $T8 %][% ELSE %][% 'No' | $T8 %][% END %][% END %]</td>
390
      </tr>
391
      [%- END %]
392

  
393
      <input type="hidden" name="NOTES_rowcount" value="[% NOTES.size %]">
394

  
395
     </table>
396
    </p>
397
    [%- END %]
398

  
399
    <div class="listtop">[% IF NOTE_id %][% 'Edit note' | $T8 %][% ELSE %][% 'Add note' | $T8 %][% END %]</div>
400

  
401
    <input type="hidden" name="NOTE_id" value="[% HTML.escape(NOTE_id) %]">
402
    <input type="hidden" name="FU_id" value="[% HTML.escape(FU_id) %]">
403

  
404
    <p>
405
     <table>
406
      <tr>
407
       <td valign="right">[% 'Subject' | $T8 %]</td>
408
       <td><input name="NOTE_subject" value="[% HTML.escape(NOTE_subject) %]" size="50"></td>
409
      </tr>
410

  
411
      <tr>
412
       <td valign="right" align="top">[% 'Body' | $T8 %]</td>
413
       <td align="top"><textarea cols="50" rows="10" name="NOTE_body">[% HTML.escape(NOTE_body) %]</textarea></td>
414
      </tr>
415

  
416
      <tr>
417
       <td valign="right">[% 'Follow-Up On' | $T8 %]</td>
418
       <td>
419
        [% L.date_tag('FU_date', FU_date) %]
420
        [% 'for' | $T8 %]
421
        [% L.select_tag('FU_created_for_user', ALL_EMPLOYEES, default = (FU_created_for_user ? FU_created_for_user : USER.id), title_key='safe_name') %]
422
       </td>
423
      </tr>
424

  
425
      <tr>
426
       <td>&nbsp;</td>
427
       <td>
428
        <input type="checkbox" name="FU_done" id="FU_done" value="1"[% IF FU_done %] checked[% END %]>
429
        <label for="FU_done">[% 'Follow-Up done' | $T8 %]</label>
430
       </td>
431
      </tr>
432
     </table>
433
    </p>
434
   </div>
435

  
436
   [%- IF CUSTOM_VARIABLES.CT.size %]
437
   <div id="custom_variables">
438

  
439
    <p>
440
     <table>
441
      [%- FOREACH var = CUSTOM_VARIABLES.CT %]
442
      <tr>
443
       <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
444
       <td valign="top">[% var.HTML_CODE %]</td>
445
      </tr>
446
      [%- END %]
447
     </table>
448
    </p>
449
   </div>
450
   [%- END %]
451

  
452
  </div>
453

  
454
  <script type="text/javascript">
455
   <!--
456
   function set_gender(gender) {
457
     var s = document.getElementById('cp_gender');
458
     if (s) {
459
       s.selectedIndex = (gender == 'f') ? 1 : 0;
460
     }
461
   }
462
  -->
463

  
464
  </script>
templates/webpages/ct/get_delivery.html
1
[%- USE T8 %]
2
[% USE HTML %][% USE LxERP %]
3
<div id="delivery">
4
<table width="100%">
5
  <tr>
6
    <td>
7
      <table width="100%">
8
        <tr class="listheading">
9
          <th class="listheading">[% 'Shipping Address' | $T8 %]</th>
10
          <th class="listheading">[% 'Invoice' | $T8 %]</th>
11
          <th class="listheading">[% 'Order' | $T8 %]</th>
12
          <th class="listheading">[% 'Invdate' | $T8 %]</th>
13
          <th class="listheading">[% 'Description' | $T8 %]</th>
14
          <th class="listheading">[% 'Qty' | $T8 %]</th>
15
          <th class="listheading">[% 'Unit' | $T8 %]</th>
16
[%- IF is_customer %]
17
          <th class="listheading">[% 'Sell Price' | $T8 %]</th>
18
[%- ELSE %]
19
          <th class="listheading">[% 'Last Cost' | $T8 %]</th>
20
[%- END %]
21
        </tr>
22
[%- FOREACH row = DELIVERY %]
23
[%-
24
    row.script = is_customer ?  ( row.invoice ? 'is' : 'ar' )
25
                             :  ( row.invoice ? 'ir' : 'ap' )
26
-%]
27
        <tr class="listrow[% loop.count % 2 %]">
28
          <td>[% HTML.escape(row.shiptoname) UNLESS loop.prev.shiptoname == row.shiptoname %]&nbsp;</td>
29
          <td>[% IF row.id %]<a href='[% row.script %].pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber)   || '&nbsp;' %][% IF row.id %]</a>[% END %]</td>
30
          <td>[% IF row.oe_id %]<a href='oe.pl?action=edit&type=[% IF is_customer %]sales_order[% ELSE %]purchase_order[% END %]&vc=customer&id=[% HTML.escape(row.oe_id) %]'>[% END %][% HTML.escape(row.ordnumber)   || '&nbsp;' %][% IF row.oe_id %]</a>[% END %]</td>
31
          <td>[% HTML.escape(row.transdate)   || '&nbsp;' %]</td>
32
          <td>[% HTML.escape(row.description) || '&nbsp;' %]</td>
33
          <td>[% HTML.escape(row.qty)         || '&nbsp;' %]</td>
34
          <td>[% HTML.escape(row.unit)        || '&nbsp;' %]</td>
35
          <td>[% LxERP.format_amount(row.sellprice, 2) || '&nbsp;' %]</td>
36
        </tr>
37
[%- END %]
38

  
39
     </table>
40
[%- IF DELIVERY.size == 15 %]
41
     <p>[% 'This list is capped at 15 items to keep it fast. If you need a full list, please use reports.' | $T8 %]</p>
42
[%- END %]
43
</div>
templates/webpages/ct/testpage.html
1
[% USE L %]
2
[% USE T8 %]
3
[% USE LxERP %]
4
[% L.javascript_tag('jquery-ui') %]
5
<link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.8.12.custom.css" type="text/css" />
6

  
7
<p>Pick a customer</p>
8
id: [% L.input_tag('customer_id', '') %]
9
nr: [% L.input_tag('customer_customernumber', '') %]
10
desc: [% L.input_tag('customer_name', '') %]
11

  
12
<script type='text/javascript'>
13
function autocomplete_customer (selector, column) {
14
  $(function(){ $(selector).autocomplete({
15
    source: function(req, rsp) {
16
      $.ajax({
17
        url: 'controller.pl?action=Customer/ajax_autocomplete',
18
        dataType: "json",
19
        data: {
20
          column: column,
21
          term: req.term,
22
          current: function() { $('#customer_id').val() },
23
          obsolete: 0,
24
        },
25
        success: function (data){ rsp(data) }
26
      });
27
    },
28
    limit: 20,
29
    delay: 50,
30
    select: function(event, ui) {
31
      $('#customer_id').val(ui.item.id);
32
      $('#customer_customernumber').val(ui.item.customernumber);
33
      $('#customer_name').val(ui.item.name);
34
    },
35
  })});
36
}
37
//autocomplete_customer('#customer_customernumber', 'customernumber');
38
autocomplete_customer('#customer_name', '');
39
</script>
40

  

Auch abrufbar als: Unified diff