X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FDefault.pm;h=f7eeb92b5a8a2e296cdfbed33ade7a28d142ae82;hb=2a0cbd885790174fa0f212e6661b30362650a42c;hp=2da27d5c1a44c1933755e2790455a77f3370dbaa;hpb=cf085911ff3fd52515487d5adb55b04082593539;p=kivitendo-erp.git diff --git a/SL/DB/Default.pm b/SL/DB/Default.pm index 2da27d5c1..f7eeb92b5 100644 --- a/SL/DB/Default.pm +++ b/SL/DB/Default.pm @@ -2,21 +2,36 @@ package SL::DB::Default; use strict; +use Carp; use SL::DB::MetaSetup::Default; +__PACKAGE__->meta->initialize; + # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. __PACKAGE__->meta->make_manager_class; sub get_default_currency { - my $self = _selfify(@_); - my @currencies = grep { $_ } split(/:/, $self->curr || ''); - return $currencies[0] || ''; + my $self = shift->get; + return $self->currency->name || '' if $self->currency_id; + return ''; } -sub _selfify { +sub get { my ($class_or_self) = @_; return $class_or_self if ref($class_or_self); return SL::DB::Manager::Default->get_all(limit => 1)->[0]; } +sub address { + # Compatibility function: back in the day there was only a single + # address field. + my $self = shift; + + croak("SL::DB::Default::address is a read-only accessor") if @_; + + my $zipcode_city = join ' ', grep { $_ } ($self->address_zipcode, $self->address_city); + + return join "\n", grep { $_ } ($self->address_street1, $self->address_street2, $zipcode_city, $self->address_country); +} + 1;