aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/DB
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-05-25 11:51:44 +0100
committerStruan Donald <struan@exo.org.uk>2011-05-25 11:51:44 +0100
commitef849541cbe7b200db1bd4af6cdc67e3061d1486 (patch)
tree559d3dc7259e30dd9f1c6fee3985e14f6167e90d /perllib/FixMyStreet/DB
parent02de04c365b8d7e8323e556b6258c1c92ba672e6 (diff)
don't ask questionnaire if they've ever answered before
Diffstat (limited to 'perllib/FixMyStreet/DB')
-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;