X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FAuthUser.pm;h=2565d067f661842bf4a76b2d68e12d5af7287728;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=c1b46b4ef79839844e5ff2793795fe4b858464c6;hpb=3ced230d576cb0eff6f8b7805f1682c14e009ef9;p=kivitendo-erp.git diff --git a/SL/DB/AuthUser.pm b/SL/DB/AuthUser.pm index c1b46b4ef..2565d067f 100644 --- a/SL/DB/AuthUser.pm +++ b/SL/DB/AuthUser.pm @@ -1,6 +1,3 @@ -# This file has been auto-generated only because it didn't exist. -# Feel free to modify it at will; it will not be overwritten automatically. - package SL::DB::AuthUser; use strict; @@ -8,12 +5,13 @@ use strict; use List::Util qw(first); use SL::DB::MetaSetup::AuthUser; -use SL::DB::AuthUserGroup; - -# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. -__PACKAGE__->meta->make_manager_class; +use SL::DB::Manager::AuthUser; +use SL::DB::Helper::Util; -__PACKAGE__->meta->schema('auth'); +use constant CONFIG_VARS => qw(copies countrycode dateformat timeformat default_media default_printer_id + email favorites fax hide_cvar_search_options mandatory_departments menustyle name + numberformat show_form_details signature stylesheet taxincluded_checked tel + template_format focus_position form_cvars_nr_cols item_multiselect); __PACKAGE__->meta->add_relationship( groups => { @@ -29,7 +27,7 @@ __PACKAGE__->meta->add_relationship( }, clients => { type => 'many to many', - map_class => 'SL::DB::AuthClient', + map_class => 'SL::DB::AuthClientUser', map_from => 'user', map_to => 'client', }, @@ -37,11 +35,32 @@ __PACKAGE__->meta->add_relationship( __PACKAGE__->meta->initialize; +sub validate { + my ($self) = @_; + + my @errors; + push @errors, $::locale->text('The login is missing.') if !$self->login; + push @errors, $::locale->text('The login is not unique.') if !SL::DB::Helper::Util::is_unique($self, 'login'); + + return @errors; +} + sub get_config_value { my ($self, $key) = @_; - my $cfg = first { $_->cfg_key eq $key } @{ $self->configs }; + my $cfg = first { $_->cfg_key eq $key } @{ $self->configs || [] }; return $cfg ? $cfg->cfg_value : undef; } +sub config_values { + my $self = shift; + + if (0 != scalar(@_)) { + my %settings = (ref($_[0]) || '') eq 'HASH' ? %{ $_[0] } : @_; + $self->configs([ map { SL::DB::AuthUserConfig->new(cfg_key => $_, cfg_value => $settings{$_}) } keys %settings ]); + } + + return { map { ($_->cfg_key => $_->cfg_value) } @{ $self->configs || [] } }; +} + 1;