__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)),