SL::DB::Shipto: used und detach Methoden
[kivitendo-erp.git] / SL / DB / Shipto.pm
1 package SL::DB::Shipto;
2
3 use strict;
4
5 use SL::DB::MetaSetup::Shipto;
6
7 our @SHIPTO_VARIABLES = qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact
8                            shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2);
9
10 __PACKAGE__->meta->make_manager_class;
11
12 sub displayable_id {
13   my $self = shift;
14   my $text = join('; ', grep { $_ } (map({ $self->$_ } qw(shiptoname shiptostreet)),
15                                      join(' ', grep { $_ }
16                                                map  { $self->$_ }
17                                                qw(shiptozipcode shiptocity))));
18
19   return $text;
20 }
21
22 sub used {
23   my ($self) = @_;
24
25   return unless $self->shipto_id;
26
27   require SL::DB::Order;
28   require SL::DB::Invoice;
29   require SL::DB::DeliveryOrder;
30
31   return SL::DB::Manager::Order->get_all_count(query => [ shipto_id => $self->shipto_id ])
32       || SL::DB::Manager::Invoice->get_all_count(query => [ shipto_id => $self->shipto_id ])
33       || SL::DB::Manager::DeliveryOrder->get_all_count(query => [ shipto_id => $self->shipto_id ]);
34 }
35
36 sub detach {
37   $_[0]->trans_id(undef);
38   $_[0];
39 }
40
41 1;