Auftrag-Controller: Vergleich des Beleg-Typs einheitlicher …
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 8 Mar 2021 14:32:40 +0000 (15:32 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 8 Mar 2021 14:32:40 +0000 (15:32 +0100)
- Zum Typ-Vergleich die Typ-Funktionen verwenden.
War hier kein Problem, kann aber Typos verhindern - dafür sind die Funktionen
gedacht gewesen.

- Auf type nicht als Hash-Key, sondern als Methode zugreifen.
Dann ist das einheitlicher, da das auch überall sonst im Controller so gemacht
wird.

SL/Controller/Order.pm

index 211ff09..6a27625 100644 (file)
@@ -69,11 +69,11 @@ sub action_add {
   my ($self) = @_;
 
   $self->order->transdate(DateTime->now_local());
-  my $extra_days = $self->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
-                   $self->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
+  my $extra_days = $self->type eq sales_quotation_type() ? $::instance_conf->get_reqdate_interval       :
+                   $self->type eq sales_order_type()     ? $::instance_conf->get_delivery_date_interval : 1;
 
-  if (   ($self->{type} eq 'sales_order'     &&  $::instance_conf->get_deliverydate_on)
-      || ($self->{type} eq 'sales_quotation' &&  $::instance_conf->get_reqdate_on)
+  if (   ($self->type eq sales_order_type()     &&  $::instance_conf->get_deliverydate_on)
+      || ($self->type eq sales_quotation_type() &&  $::instance_conf->get_reqdate_on)
       && (!$self->order->reqdate)) {
     $self->order->reqdate(DateTime->today_local->next_workday(extra_days => $extra_days));
   }
@@ -227,11 +227,11 @@ sub action_save_as_new {
 
   # Set new reqdate unless changed if it is enabled in client config
   if ($order->reqdate == $saved_order->reqdate) {
-    my $extra_days = $self->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
-                     $self->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
+    my $extra_days = $self->type eq sales_quotation_type() ? $::instance_conf->get_reqdate_interval       :
+                     $self->type eq sales_order_type()     ? $::instance_conf->get_delivery_date_interval : 1;
 
-    if (   ($self->{type} eq 'sales_order'     &&  !$::instance_conf->get_deliverydate_on)
-        || ($self->{type} eq 'sales_quotation' &&  !$::instance_conf->get_reqdate_on)) {
+    if (   ($self->type eq sales_order_type()     &&  !$::instance_conf->get_deliverydate_on)
+        || ($self->type eq sales_quotation_type() &&  !$::instance_conf->get_reqdate_on)) {
       $new_attrs{reqdate} = '';
     } else {
       $new_attrs{reqdate} = DateTime->today_local->next_workday(extra_days => $extra_days);