1 |
use strict; |
2 |
use warnings; |
3 |
|
4 |
package Arh::CurrentUser; |
5 |
use base qw/Jifty::CurrentUser Arh::Model::User/; |
6 |
|
7 |
use Data::Dump qw/dump/; |
8 |
|
9 |
=head2 _init |
10 |
|
11 |
This function will load user data from database |
12 |
|
13 |
=cut |
14 |
|
15 |
sub _init { |
16 |
my $self = shift; |
17 |
my %args = (@_); |
18 |
|
19 |
#warn "## _init",dump(@_); |
20 |
|
21 |
if ( delete $args{'_bootstrap'} ) { |
22 |
$self->is_bootstrap_user(1); |
23 |
} |
24 |
|
25 |
my $u = Arh::Model::User->new; |
26 |
|
27 |
if ( keys %args ) { |
28 |
$u->load_by_cols( %args ); |
29 |
if ( $u->id ) { |
30 |
Jifty->log->info("loaded user ",dump( \%args )); |
31 |
} else { |
32 |
Jifty->log->error("Can't load user ",dump( \%args )); |
33 |
} |
34 |
} |
35 |
|
36 |
$self->user_object( $u ); |
37 |
|
38 |
# be superuser |
39 |
#$self->is_superuser(1); |
40 |
|
41 |
#warn "## user_object = ",dump( $self->user_object ); |
42 |
|
43 |
} |
44 |
|
45 |
sub editing { |
46 |
my $self = shift; |
47 |
die unless $self->current_user->user_object; |
48 |
return $self->current_user->user_object->editing || 0; |
49 |
} |
50 |
|
51 |
1; |