CSV-Import von zusätzlichen Rechnungsadressen
[kivitendo-erp.git] / SL / DB / AdditionalBillingAddress.pm
index 940dce8..c6ffad4 100644 (file)
@@ -7,6 +7,24 @@ use SL::DB::Manager::AdditionalBillingAddress;
 
 __PACKAGE__->meta->initialize;
 
+__PACKAGE__->after_save('_after_save_ensure_only_one_marked_as_default_per_customer');
+
+sub _after_save_ensure_only_one_marked_as_default_per_customer {
+  my ($self) = @_;
+
+  if ($self->id && $self->customer_id && $self->default_address) {
+    SL::DB::Manager::AdditionalBillingAddress->update_all(
+      set   => { default_address => 0 },
+      where => [
+        customer_id => $self->customer_id,
+        '!id'       => $self->id,
+      ],
+    );
+  }
+
+  return 1;
+}
+
 sub displayable_id {
   my $self = shift;
   my $text = join('; ', grep { $_ } (map({ $self->$_ } qw(name street)),