40 |
my $right = shift; |
my $right = shift; |
41 |
my %args = (@_); |
my %args = (@_); |
42 |
|
|
43 |
return 1 if ($right eq 'read' or $self->current_user->admin ); |
return 1 if ($self->current_user->admin || $self->current_user->can_import); |
44 |
|
|
45 |
|
if ($right eq 'read') { |
46 |
|
my $l = Transports::Model::UserOnLandscape->new(); |
47 |
|
$l->load_by_cols( |
48 |
|
user_on => $self->current_user->id, |
49 |
|
landscape => $self->id, |
50 |
|
); |
51 |
|
|
52 |
|
if ($l->id) { |
53 |
|
return 1; |
54 |
|
} else { |
55 |
|
return undef; |
56 |
|
} |
57 |
|
} |
58 |
|
|
59 |
return $self->SUPER::current_user_can( $right, %args ); |
return $self->SUPER::current_user_can( $right, %args ); |
60 |
} |
} |