Lieferbedingungen analog zu Zahlungsbedingungen eingeführt.
[kivitendo-erp.git] / bin / mozilla / ct.pl
index 0e91cc9..15d922d 100644 (file)
@@ -52,8 +52,10 @@ use SL::CVar;
 use SL::Request qw(flatten);
 use SL::DB::Business;
 use SL::DB::Default;
+use SL::DB::DeliveryTerm;
 use SL::Helper::Flash;
 use SL::ReportGenerator;
+use SL::MoreCommon qw(uri_encode);
 
 require "bin/mozilla/common.pl";
 require "bin/mozilla/reportgenerator.pl";
@@ -66,18 +68,13 @@ use strict;
 sub add {
   $main::lxdebug->enter_sub();
 
-  $main::auth->assert('customer_vendor_edit');
-
-  my $form     = $main::form;
-  my %myconfig = %main::myconfig;
-
-  $form->{title}    = "Add";
-  $form->{callback} = "$form->{script}?action=add&db=$form->{db}" unless $form->{callback};
+  my $url = 'controller.pl?action=CustomerVendor/add&db='. ($::form->{db} eq 'vendor' ? 'vendor' : 'customer');
 
-  CT->populate_drop_down_boxes(\%myconfig, \%$form);
+  if ( $::form->{callback} ) {
+    $url .= '&callback='. uri_encode($::form->{callback});
+  }
 
-  &form_header;
-  &form_footer;
+  print $::form->redirect_header($url);
 
   $main::lxdebug->leave_sub();
 }
@@ -170,7 +167,7 @@ sub list_names {
   }
 
   my @columns = (
-    'id',        'name',      "$form->{db}number",   'contact',   'phone',
+    'id',        'name',      "$form->{db}number",   'contact',   'phone',    'discount',
     'fax',       'email',     'taxnumber',           'street',    'zipcode' , 'city',
     'business',  'invnumber', 'ordnumber',           'quonumber', 'salesman', 'country'
   );
@@ -200,6 +197,7 @@ sub list_names {
     'city'              => { 'text' => $locale->text('City'), },
     'country'           => { 'text' => $locale->text('Country'), },
     'salesman'          => { 'text' => $locale->text('Salesman'), },
+    'discount'          => { 'text' => $locale->text('Discount'), },
     %column_defs_cvars,
   );
 
@@ -268,9 +266,10 @@ sub list_names {
 
     if ($ref->{id} ne $previous_id) {
       $previous_id = $ref->{id};
+      $ref->{discount} = $form->format_amount(\%myconfig, $ref->{discount} * 100.0, 2);
       map { $row->{$_}->{data} = $ref->{$_} } @columns;
 
-      $row->{name}->{link}  = build_std_url('action=edit', 'id=' . E($ref->{id}), 'callback', @hidden_nondefault);
+      $row->{name}->{link}  = build_std_url('script=controller.pl', 'action=CustomerVendor/edit', 'id=' . E($ref->{id}), 'callback', @hidden_nondefault);
       $row->{email}->{link} = 'mailto:' . E($ref->{email});
     }
 
@@ -398,7 +397,7 @@ sub list_contacts {
   foreach my $ref (@contacts) {
     my $row = { map { $_ => { 'data' => $ref->{$_} } } @columns };
 
-    $row->{vcname}->{link}   = build_std_url('action=edit', 'id=' . E($ref->{vcid}), 'db=' . E($ref->{db}), 'callback', @hidden_nondefault);
+    $row->{vcname}->{link}   = build_std_url('script=controller.pl', 'action=CustomerVendor/edit', 'id=' . E($ref->{vcid}), 'db=' . E($ref->{db}), 'callback', @hidden_nondefault);
     $row->{vcnumber}->{link} = $row->{vcname}->{link};
 
     for (qw(cp_email cp_privatemail)) {
@@ -463,11 +462,13 @@ sub form_header {
                    currencies => "ALL_CURRENCIES");
   $form->get_pricegroup(\%myconfig, { all => 1 });
 
-  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::lx_office_conf{features}->{vertreter};
+  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::instance_conf->get_vertreter;
   $form->{ALL_EMPLOYEES}          = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{FU_created_for_user},  deleted => 0 ] ]);
   $form->{ALL_SALESMEN}           = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{salesman_id},  deleted => 0 ] ]);
   $form->{USER}                   = SL::DB::Manager::Employee->current;
 
+  $form->{ALL_DELIVERY_TERMS}     = SL::DB::Manager::DeliveryTerm->get_all_sorted();
+
   $form->{taxincluded}    = ($form->{taxincluded}) ? "checked" : "";
   $form->{is_customer}    = $form->{db}     eq 'customer';
   $form->{shipto_label}   = \&_shipto_label;
@@ -532,7 +533,7 @@ sub _do_save {
 
   $::form->isblank("name", $::locale->text("Name missing!"));
 
-  if ($::form->{new_salesman_id} && $::lx_office_conf{features}->{vertreter}) {
+  if ($::form->{new_salesman_id} && $::instance_conf->get_vertreter) {
     $::form->{salesman_id} = $::form->{new_salesman_id};
     delete $::form->{new_salesman_id};
   }