| 49 | | |
| 50 | | my @userperms = $c->model('UserPermissions')->search({ |
| 51 | | userid => [ $c->user->obj->id, 0 ], |
| 52 | | permission => [ $permission, 'splat' ], |
| 53 | | scope => $scope, |
| 54 | | }, { |
| 55 | | order_by => \'scope = "" DESC, permission = "splat" DESC', |
| 56 | | group_by => [ 'scope', 'permission' ], |
| 57 | | columns => [ 'polarity' ], |
| 58 | | }); |
| 59 | | |
| 60 | | # User permissions take precedence over group permissions |
| 61 | | if (grep { $_->polarity eq 'deny' } @userperms) { |
| 62 | | return 0 |
| 63 | | } elsif (grep { $_->polarity eq 'allow' } @userperms) { |
| 64 | | return 1 |
| 65 | | } |
| 66 | | |