AttrDuration für minutes: _in_hours und _in_hours_as_number
[kivitendo-erp.git] / SL / DB / Order.pm
index 657252f..d996d13 100644 (file)
@@ -58,6 +58,8 @@ __PACKAGE__->attr_sorted('items');
 
 __PACKAGE__->before_save('_before_save_set_ord_quo_number');
 __PACKAGE__->before_save('_before_save_create_new_project');
+__PACKAGE__->before_save('_before_save_remove_empty_custom_shipto');
+__PACKAGE__->before_save('_before_save_set_custom_shipto_module');
 
 # hooks
 
@@ -98,6 +100,23 @@ sub _before_save_create_new_project {
   return 1;
 }
 
+
+sub _before_save_remove_empty_custom_shipto {
+  my ($self) = @_;
+
+  $self->custom_shipto(undef) if $self->custom_shipto && $self->custom_shipto->is_empty;
+
+  return 1;
+}
+
+sub _before_save_set_custom_shipto_module {
+  my ($self) = @_;
+
+  $self->custom_shipto->module('OE') if $self->custom_shipto;
+
+  return 1;
+}
+
 # methods
 
 sub items { goto &orderitems; }
@@ -314,6 +333,7 @@ sub new_from {
 
   if ( $is_abbr_any->(qw(sopo poso)) ) {
     $args{ordnumber} = undef;
+    $args{quonumber} = undef;
     $args{reqdate}   = DateTime->today_local->next_workday();
     $args{employee}  = SL::DB::Manager::Employee->current;
   }