aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
Diffstat (limited to 'perllib')
-rw-r--r--perllib/FixMyStreet/Cobrand/FixMyStreet.pm21
1 files changed, 21 insertions, 0 deletions
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;