78 |
sub current_user_can { |
sub current_user_can { |
79 |
my $self = shift; |
my $self = shift; |
80 |
my $right = shift; |
my $right = shift; |
81 |
|
my %args = (@_); |
82 |
|
|
83 |
warn 'no $self->id' unless ($self->id); |
return $self->SUPER::current_user_can( $right, %args ) unless ($right && $self->id && $self->current_user); |
84 |
|
|
|
my %args = (@_); |
|
85 |
#Carp::confess if ($right eq 'read' and not $args{'column'}); |
#Carp::confess if ($right eq 'read' and not $args{'column'}); |
86 |
|
|
87 |
if ( $right eq 'read' |
if ( $right eq 'read' |
88 |
and $self->id == $self->current_user->id ) |
and ( $self->id == $self->current_user->id or $self->current_user->admin ) ) |
89 |
{ |
{ |
90 |
return 1; |
return 1; |
91 |
} elsif ( $right eq 'read' and $args{'column'} eq 'name' ) { |
} elsif ( $right eq 'read' and $args{'column'} eq 'name' ) { |