diff options
Diffstat (limited to 'perllib/FixMyStreet/DB')
-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 7ec49b074..028394795 100644 --- a/perllib/FixMyStreet/DB/Result/User.pm +++ b/perllib/FixMyStreet/DB/Result/User.pm @@ -391,4 +391,19 @@ sub update_reputation { $self->update; } +has categories => ( + is => 'ro', + lazy => 1, + default => sub { + my $self = shift; + return [] unless $self->get_extra_metadata('categories'); + my @categories = $self->result_source->schema->resultset("Contact")->search({ + id => $self->get_extra_metadata('categories'), + }, { + order_by => 'category', + })->get_column('category')->all; + return \@categories; + }, +); + 1; |