aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/DB/Result/User.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/DB/Result/User.pm')
-rw-r--r--perllib/FixMyStreet/DB/Result/User.pm20
1 files changed, 20 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/DB/Result/User.pm b/perllib/FixMyStreet/DB/Result/User.pm
index c2a652dc6..228e93267 100644
--- a/perllib/FixMyStreet/DB/Result/User.pm
+++ b/perllib/FixMyStreet/DB/Result/User.pm
@@ -94,4 +94,24 @@ sub check_for_errors {
return \%errors;
}
+=head2 answered_ever_reported
+
+Check if the user has ever answered a questionnaire.
+
+=cut
+
+sub answered_ever_reported {
+ my $self = shift;
+
+ my $has_answered =
+ $self->result_source->schema->resultset('Questionnaire')->search(
+ {
+ ever_reported => { not => undef },
+ problem_id => { -in =>
+ $self->problems->get_column('id')->as_query },
+ }
+ );
+
+ return $has_answered->count > 0;
+}
1;