diff options
Diffstat (limited to 'perllib/FixMyStreet/App/Controller')
-rwxr-xr-x | perllib/FixMyStreet/App/Controller/Questionnaire.pm | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 1ff57e920..dd180dff8 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -206,6 +206,7 @@ sub submit_standard : Private { anonymous => $problem->anonymous, } ); + $update->set_extra_metadata( questionnaire_id => $q->id ); if ( my $fileid = $c->stash->{upload_fileid} ) { $update->photo( $fileid ); } diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index b1cc5885a..2861f368a 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -169,11 +169,19 @@ sub load_updates : Private { ); my @combined; + my %questionnaires_with_updates; while (my $update = $updates->next) { push @combined, [ $update->confirmed, $update ]; + if (my $qid = $update->get_extra_metadata('questionnaire_id')) { + $questionnaires_with_updates{$qid} = $update; + } } - while (my $update = $questionnaires->next) { - push @combined, [ $update->whenanswered, $update ]; + while (my $q = $questionnaires->next) { + if (my $update = $questionnaires_with_updates{$q->id}) { + $update->set_extra_metadata('open_from_questionnaire', 1); + next; + } + push @combined, [ $q->whenanswered, $q ]; } @combined = map { $_->[1] } sort { $a->[0] <=> $b->[0] } @combined; $c->stash->{updates} = \@combined; |