1 package SL::DB::AuthUser;
5 use List::Util qw(first);
7 use SL::DB::MetaSetup::AuthUser;
8 use SL::DB::Manager::AuthUser;
9 use SL::DB::Helper::Util;
11 use constant CONFIG_VARS => qw(copies countrycode dateformat timeformat default_media default_printer_id
12 email favorites fax hide_cvar_search_options mandatory_departments menustyle name
13 numberformat show_form_details signature stylesheet taxincluded_checked tel
14 template_format focus_position form_cvars_nr_cols item_multiselect
15 follow_up_notify_by_email
18 __PACKAGE__->meta->add_relationship(
20 type => 'many to many',
21 map_class => 'SL::DB::AuthUserGroup',
26 type => 'one to many',
27 class => 'SL::DB::AuthUserConfig',
28 column_map => { id => 'user_id' },
31 type => 'many to many',
32 map_class => 'SL::DB::AuthClientUser',
38 __PACKAGE__->meta->initialize;
44 push @errors, $::locale->text('The login is missing.') if !$self->login;
45 push @errors, $::locale->text('The login is not unique.') if !SL::DB::Helper::Util::is_unique($self, 'login');
50 sub get_config_value {
51 my ($self, $key) = @_;
53 my $cfg = first { $_->cfg_key eq $key } @{ $self->configs || [] };
54 return $cfg ? $cfg->cfg_value : undef;
60 if (0 != scalar(@_)) {
61 my %settings = (ref($_[0]) || '') eq 'HASH' ? %{ $_[0] } : @_;
62 $self->configs([ map { SL::DB::AuthUserConfig->new(cfg_key => $_, cfg_value => $settings{$_}) } keys %settings ]);
65 return { map { ($_->cfg_key => $_->cfg_value) } @{ $self->configs || [] } };