aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/FixMyStreet.pm21
2 files changed, 22 insertions, 1 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index 6aaa4531f..66dc20a3a 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -1141,8 +1141,8 @@ sub generate_map : Private {
my $longitude = $c->stash->{longitude};
# Don't do anything if the user skipped the map
+ $c->stash->{page} = 'new';
if ( $c->stash->{report}->used_map ) {
- $c->stash->{page} = 'new';
FixMyStreet::Map::display_map(
$c,
latitude => $latitude,
diff --git a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
index f21d38ff8..159f2f5db 100644
--- a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
+++ b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
@@ -59,5 +59,26 @@ sub get_country_for_ip_address {
return mySociety::Gaze::get_country_from_ip($ip);
}
+sub report_form_extras {
+ ( { name => 'gender', required => 0 }, { name => 'variant', required => 0 } )
+}
+
+sub ask_gender_question {
+ my $self = shift;
+
+ return 1 unless $self->{c}->user;
+
+ my $reports = $self->{c}->model('DB::Problem')->search({
+ user_id => $self->{c}->user->id,
+ extra => { like => '%gender%' }
+ }, { order_by => { -desc => 'id' } });
+
+ while (my $report = $reports->next) {
+ my $gender = $report->get_extra_metadata('gender');
+ return 0 if $gender =~ /female|male|other|unknown/;
+ }
+ return 1;
+}
+
1;