Ignore:
Timestamp:
09/04/09 05:12:38 (15 years ago)
Author:
nanardon
Message:
  • allow to manage CREATE/DELETE action in acls
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LATMOS-Accounts/lib/LATMOS/Accounts/Acls.pm

    r323 r420  
    182182sub match { 
    183183    my ($self, $obj, $attr, $perm, $who, $groups) = @_; 
    184     my $objtype = lc($obj->type); $attr = lc($attr); 
     184    my $objtype = ref $obj ? lc($obj->type) : $obj; 
     185    $attr = lc($attr); 
    185186    if (!($self->{obj} eq '*' || $self->{obj} eq $objtype)) { 
    186187        return 
     
    190191    foreach my $u (@{ $self->{users} }) { 
    191192        if (substr($u->{user}, 0, 1) eq '$') { # check attr content 
    192             my $attribute = substr($u->{user}, 1); 
    193             my $val = $obj->_get_c_field($attribute); 
    194             my @vals = ref $val ? (@{ $val }) : ($val); 
    195             return ($u->{$perm} || 0) if (grep { $_ eq $who } @vals); 
     193            if (ref $obj) { 
     194                my $attribute = substr($u->{user}, 1); 
     195                my $val = $obj->_get_c_field($attribute); 
     196                my @vals = ref $val ? (@{ $val }) : ($val); 
     197                return ($u->{$perm} || 0) if (grep { $_ eq $who } @vals); 
     198            } 
    196199        } elsif (substr($u->{user}, 0, 1) eq '%') { # group 
    197200            my $group = substr($u->{user}, 1); 
Note: See TracChangeset for help on using the changeset viewer.