diff options
author | Struan Donald <struan@exo.org.uk> | 2011-05-25 11:51:44 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-05-25 11:51:44 +0100 |
commit | ef849541cbe7b200db1bd4af6cdc67e3061d1486 (patch) | |
tree | 559d3dc7259e30dd9f1c6fee3985e14f6167e90d /perllib/FixMyStreet/DB | |
parent | 02de04c365b8d7e8323e556b6258c1c92ba672e6 (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.pm | 20 |
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; |