diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-15 13:04:34 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-28 17:19:27 +0100 |
commit | 440525f756ca445334a433d3acdadbdc1f588fc5 (patch) | |
tree | aa75f592c545b66d5a1068ad1348cb9f0ff29f0e /perllib/FixMyStreet/DB/Result/User.pm | |
parent | ff3e82b0305913ef2710b8dd52acb4f97e57c427 (diff) |
Add way to pick role for a user.
Diffstat (limited to 'perllib/FixMyStreet/DB/Result/User.pm')
-rw-r--r-- | perllib/FixMyStreet/DB/Result/User.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/DB/Result/User.pm b/perllib/FixMyStreet/DB/Result/User.pm index edcd20fdf..9dc5df856 100644 --- a/perllib/FixMyStreet/DB/Result/User.pm +++ b/perllib/FixMyStreet/DB/Result/User.pm @@ -628,4 +628,19 @@ sub in_area { return $self->areas_hash->{$area}; } +has roles_hash => ( + is => 'ro', + lazy => 1, + default => sub { + my $self = shift; + my %ids = map { $_->role_id => 1 } $self->user_roles->all; + return \%ids; + }, +); + +sub in_role { + my ($self, $role) = @_; + return $self->roles_hash->{$role}; +} + 1; |