X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FEmployee.pm;h=0c321b62f9fa7b6834cb6ff6e3ba4f49a1bb23f9;hb=11aeaa07186197c61dfe610d2a5c981754fd2e9d;hp=1ef565ee6893de26a4282f34dd6cb4e6d0003df0;hpb=bda0d70b98bd9c9afc5ef8ae83a58497989d6750;p=kivitendo-erp.git diff --git a/SL/DB/Employee.pm b/SL/DB/Employee.pm index 1ef565ee6..0c321b62f 100644 --- a/SL/DB/Employee.pm +++ b/SL/DB/Employee.pm @@ -5,5 +5,36 @@ use strict; use SL::DB::MetaSetup::Employee; use SL::DB::Manager::Employee; +__PACKAGE__->meta->add_relationship( + project_invoice_permissions => { + type => 'many to many', + map_class => 'SL::DB::EmployeeProjectInvoices', + }, +); + +__PACKAGE__->meta->initialize; + +sub has_right { + my $self = shift; + my $right = shift; + + return $::auth->check_right($self->login, $right); +} + +sub safe_name { + my ($self) = @_; + + return $self->name || $self->login; +} + +sub auth_user { + my ($self) = @_; + + die 'not an accessor' if scalar(@_) > 1; + + require SL::DB::AuthUser; + + return SL::DB::Manager::AuthUser->find_by(login => $self->login); +} 1;