kivitendo/SL/DB/Contact.pm @ 4b1666b7
4fd22b56 | Sven Schöling | package SL::DB::Contact;
|
||
use strict;
|
||||
use SL::DB::MetaSetup::Contact;
|
||||
3816bb51 | Moritz Bunkus | use SL::DB::Manager::Contact;
|
||
e1bf173b | Sven Schöling | use SL::DB::Helper::CustomVariables (
|
||
module => 'Contacts',
|
||||
cvars_alias => 1,
|
||||
);
|
||||
4fd22b56 | Sven Schöling | |||
f1d475ff | Moritz Bunkus | __PACKAGE__->meta->initialize;
|
||
cb2abccd | Sven Schöling | sub used {
|
||
my ($self) = @_;
|
||||
return unless $self->cp_id;
|
||||
require SL::DB::Order;
|
||||
require SL::DB::Invoice;
|
||||
require SL::DB::PurchaseInvoice;
|
||||
require SL::DB::DeliveryOrder;
|
||||
return SL::DB::Manager::Order->get_all_count(query => [ cp_id => $self->cp_id ])
|
||||
+ SL::DB::Manager::Invoice->get_all_count(query => [ cp_id => $self->cp_id ])
|
||||
+ SL::DB::Manager::PurchaseInvoice->get_all_count(query => [ cp_id => $self->cp_id ])
|
||||
+ SL::DB::Manager::DeliveryOrder->get_all_count(query => [ cp_id => $self->cp_id ]);
|
||||
}
|
||||
sub detach {
|
||||
$_[0]->cp_cv_id(undef);
|
||||
adb94488 | Sven Schöling | $_[0];
|
||
cb2abccd | Sven Schöling | }
|
||
9209583a | Sven Schöling | sub full_name {
|
||
my ($self) = @_;
|
||||
die 'not an accessor' if @_ > 1;
|
||||
join ', ', grep $_, $self->cp_name, $self->cp_givenname;
|
||||
}
|
||||
sub full_name_dep {
|
||||
my ($self) = @_;
|
||||
die 'not an accessor' if @_ > 1;
|
||||
$self->full_name
|
||||
. join '', map { " ($_)" } grep $_, $self->cp_abteilung;
|
||||
}
|
||||
7afe92af | Moritz Bunkus | sub formal_greeting {
|
||
my ($self) = @_;
|
||||
die 'not an accessor' if @_ > 1;
|
||||
546829a0 | Moritz Bunkus | join ' ', grep $_, $self->cp_title, $self->cp_givenname, $self->cp_name;
|
||
7afe92af | Moritz Bunkus | }
|
||
4fd22b56 | Sven Schöling | 1;
|