aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorM Somerville <matthew-github@dracos.co.uk>2020-09-24 14:39:59 +0100
committerM Somerville <matthew-github@dracos.co.uk>2020-09-25 13:28:14 +0100
commit22cc2b0e1e6bb2dd7bde7231ad7f7190737ce545 (patch)
treeeef5e92b23415c4d90ac23dd59f0601f7d7abe27
parent85a6b7df9bd0b1711637b39d5a63ed6434686b33 (diff)
Split up two username fields.
Rename the not-logging-in username field to username_register. Keep the sign-in field as username because that e.g. overlaps with auth code in two-factor authentication.
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm21
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/Update.pm14
-rw-r--r--t/app/controller/auth_social.t6
-rw-r--r--t/app/controller/contact_enquiry.t6
-rw-r--r--t/app/controller/report_display.t2
-rw-r--r--t/app/controller/report_import.t2
-rw-r--r--t/app/controller/report_new.t10
-rw-r--r--t/app/controller/report_new_errors.t56
-rw-r--r--t/app/controller/report_new_open311.t11
-rw-r--r--t/app/controller/report_new_text.t6
-rw-r--r--t/app/controller/report_new_unresponsive.t2
-rw-r--r--t/app/controller/report_update_text.t20
-rw-r--r--t/app/controller/report_updates.t45
-rw-r--r--t/cobrand/bromley.t4
-rw-r--r--t/cobrand/form_extras.t2
-rw-r--r--t/cobrand/hackney.t2
-rw-r--r--t/cobrand/isleofwight.t2
-rw-r--r--t/cobrand/zurich.t2
-rw-r--r--templates/web/base/contact/enquiry/index.html2
-rw-r--r--templates/web/base/report/form/user_loggedout_email.html7
-rw-r--r--templates/web/bromley/report/form/user_loggedout_email.html7
-rw-r--r--templates/web/zurich/report/new/fill_in_details_form.html2
22 files changed, 134 insertions, 97 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index 8f3261853..ad2649aa3 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -6,7 +6,7 @@ BEGIN { extends 'Catalyst::Controller'; }
use utf8;
use Encode;
-use List::Util qw(first uniq);
+use List::Util qw(uniq);
use HTML::Entities;
use Path::Class;
use Utils;
@@ -126,8 +126,10 @@ sub report_new_ajax : Path('mobile') : Args(0) {
# Apps are sending email as username
# Prepare for when they upgrade
- if (!$c->get_param('username')) {
- $c->set_param('username', $c->get_param('email'));
+ my $username_field = ( $c->get_param('submit_sign_in') || $c->get_param('password_sign_in') )
+ ? 'username': 'username_register';
+ if (!$c->get_param($username_field)) {
+ $c->set_param($username_field, $c->get_param('email'));
}
# create the report - loading a partial if available
@@ -846,8 +848,14 @@ sub process_user : Private {
my %params = map { $_ => $c->get_param($_) }
qw( email name phone password_register fms_extra_title update_method );
- # Report form includes two username fields: #form_username_register and #form_username_sign_in
- $params{username} = (first { $_ } $c->get_param_list('username')) || '';
+ if ($c->user_exists) {
+ $params{username} = $c->get_param('username');
+ } elsif ($c->get_param('submit_sign_in') || $c->get_param('password_sign_in')) {
+ $params{username} = $c->get_param('username');
+ } else {
+ $params{username} = $c->get_param('username_register');
+ }
+ $params{username} ||= '';
my $anon_button = $c->cobrand->allow_anonymous_reports eq 'button' && $c->get_param('report_anonymously');
my $anon_fallback = $c->cobrand->allow_anonymous_reports eq '1' && !$c->user_exists && !$params{username};
@@ -915,8 +923,7 @@ sub process_user : Private {
my $parsed = FixMyStreet::SMS->parse_username($params{username});
my $type = $parsed->{type} || 'email';
$type = 'email' unless FixMyStreet->config('SMS_AUTHENTICATION') || $c->stash->{contributing_as_another_user};
- $report->user( $c->model('DB::User')->find_or_new( { $type => $parsed->{username} } ) )
- unless $report->user;
+ $report->user( $c->model('DB::User')->find_or_new( { $type => $parsed->{username} } ) );
$c->stash->{phone_may_be_mobile} = $type eq 'phone' && $parsed->{may_be_mobile};
diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm
index 0fbdc6ce2..02d3d2ae8 100644
--- a/perllib/FixMyStreet/App/Controller/Report/Update.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm
@@ -6,7 +6,6 @@ BEGIN { extends 'Catalyst::Controller'; }
use utf8;
use Path::Class;
-use List::Util 'first';
use Utils;
=head1 NAME
@@ -103,8 +102,14 @@ sub process_user : Private {
my %params = map { $_ => $c->get_param($_) }
( 'name', 'password_register', 'fms_extra_title' );
- # Update form includes two username fields: #form_username_register and #form_username_sign_in
- $params{username} = (first { $_ } $c->get_param_list('username')) || '';
+ if ($c->user_exists) {
+ $params{username} = $c->get_param('username');
+ } elsif ($c->get_param('submit_sign_in') || $c->get_param('password_sign_in')) {
+ $params{username} = $c->get_param('username');
+ } else {
+ $params{username} = $c->get_param('username_register');
+ }
+ $params{username} ||= '';
my $anon_button = $c->cobrand->allow_anonymous_reports eq 'button' && $c->get_param('report_anonymously');
if ($anon_button) {
@@ -145,8 +150,7 @@ sub process_user : Private {
my $parsed = FixMyStreet::SMS->parse_username($params{username});
my $type = $parsed->{type} || 'email';
$type = 'email' unless FixMyStreet->config('SMS_AUTHENTICATION') || $c->stash->{contributing_as_another_user};
- $update->user( $c->model('DB::User')->find_or_new( { $type => $parsed->{username} } ) )
- unless $update->user;
+ $update->user( $c->model('DB::User')->find_or_new( { $type => $parsed->{username} } ) );
$c->stash->{phone_may_be_mobile} = $type eq 'phone' && $parsed->{may_be_mobile};
diff --git a/t/app/controller/auth_social.t b/t/app/controller/auth_social.t
index 1f6889dcc..9d1ea836f 100644
--- a/t/app/controller/auth_social.t
+++ b/t/app/controller/auth_social.t
@@ -241,7 +241,8 @@ for my $state ( 'refused', 'no email', 'existing UID', 'okay' ) {
$mech->content_contains('We need your email address, please give it below.');
# We don't have an email, so check that we can still submit it,
# and the ID carries through the confirmation
- $fields->{username} = $test->{email};
+ $fields->{username} = $test->{email} if $page eq 'my';
+ $fields->{username_register} = $test->{email} unless $page eq 'my';
$fields->{name} = 'Ffion Tester' unless $page eq 'my';
$mech->submit_form(with_fields => $fields, $page eq 'my' ? (button => 'sign_in_by_code') : ());
$mech->content_contains('Nearly done! Now check your email');
@@ -408,7 +409,8 @@ for my $tw_state ( 'refused', 'existing UID', 'no email' ) {
$mech->content_contains('We need your email address, please give it below.');
# We don't have an email, so check that we can still submit it,
# and the ID carries through the confirmation
- $fields->{username} = $tw_email;
+ $fields->{username_register} = $tw_email unless $page eq 'my';
+ $fields->{username} = $tw_email if $page eq 'my';
$fields->{name} = 'Ffion Tester' unless $page eq 'my';
$mech->submit_form(with_fields => $fields, $page eq 'my' ? (button => 'sign_in_by_code') : ());
$mech->content_contains('Nearly done! Now check your email');
diff --git a/t/app/controller/contact_enquiry.t b/t/app/controller/contact_enquiry.t
index feb2a0545..f1b5b15cd 100644
--- a/t/app/controller/contact_enquiry.t
+++ b/t/app/controller/contact_enquiry.t
@@ -80,7 +80,7 @@ FixMyStreet::override_config {
$mech->submit_form_ok( {
with_fields => {
name => 'Test User',
- username => 'testuser@example.org',
+ username_register => 'testuser@example.org',
category => 'Other',
detail => 'This is a general enquiry',
}
@@ -149,7 +149,7 @@ FixMyStreet::override_config {
$mech->submit_form_ok( {
with_fields => {
name => 'Simon Neil',
- username => $user->email,
+ username_register => $user->email,
category => 'General Enquiry',
detail => 'This is a general enquiry',
}
@@ -212,7 +212,7 @@ FixMyStreet::override_config {
submit_problem => 1,
token => $csrf,
name => 'Test User',
- username => 'testuser@example.org',
+ username_register => 'testuser@example.org',
category => 'Other',
detail => encode_utf8('This is a general enquiry‽'),
photo1 => [ $sample_jpeg, undef, Content_Type => 'image/jpeg' ],
diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t
index 4bd0fc991..00c7bf19b 100644
--- a/t/app/controller/report_display.t
+++ b/t/app/controller/report_display.t
@@ -109,7 +109,7 @@ subtest "test a good report" => sub {
my %fields = (
name => '',
- username => '',
+ username_register => '',
update => '',
add_alert => 1, # defaults to true
fixed => undef
diff --git a/t/app/controller/report_import.t b/t/app/controller/report_import.t
index b2e15330a..7b5ede7a9 100644
--- a/t/app/controller/report_import.t
+++ b/t/app/controller/report_import.t
@@ -376,7 +376,7 @@ subtest "Submit a correct entry (with location) to cobrand" => sub {
photo2 => '',
photo3 => '',
phone => '',
- username => 'test-ll@example.com',
+ username_register => 'test-ll@example.com',
},
"check imported fields are shown"
or diag Dumper( $mech->visible_form_values ); use Data::Dumper;
diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t
index 6af709c2c..b0c93c332 100644
--- a/t/app/controller/report_new.t
+++ b/t/app/controller/report_new.t
@@ -156,7 +156,7 @@ foreach my $test (
photo1 => '',
name => 'Joe Bloggs',
may_show_name => '1',
- username => 'test-1@example.com',
+ username_register => 'test-1@example.com',
phone => '07903 123 456',
category => 'Street lighting',
password_register => $test->{password} ? 'secret' : '',
@@ -680,7 +680,7 @@ subtest "test report creation for a category that is non public" => sub {
title => 'Test Report',
detail => 'Test report details.',
photo1 => '',
- username => $user->email,
+ username_register => $user->email,
name => 'Joe Bloggs',
category => 'Street lighting',
}
@@ -940,7 +940,7 @@ for my $test (
title => "Test Report",
detail => 'Test report details.',
photo1 => '',
- username => 'firstlast@example.com',
+ username_register => 'firstlast@example.com',
may_show_name => '1',
phone => '07903 123 456',
category => 'Trees',
@@ -1085,7 +1085,7 @@ subtest "test Hart" => sub {
$mech->submit_form_ok( { with_fields => { pc => 'GU51 4AE' } }, "submit location" );
$mech->follow_link_ok( { text_regex => qr/skip this step/i, }, "follow 'skip this step' link" );
my %optional_fields = $test->{confirm} ? () :
- ( username => $test_email, phone => '07903 123 456' );
+ ( username_register => $test_email, phone => '07903 123 456' );
# we do this as otherwise test::www::mechanize::catalyst
# goes to the value set in ->host above irregardless and
@@ -1279,7 +1279,7 @@ subtest "extra google analytics code displayed on email confirmation problem cre
title => "Test Report",
detail => 'Test report details.',
photo1 => '',
- username => 'firstlast@example.com',
+ username_register => 'firstlast@example.com',
name => 'Test User',
may_show_name => '1',
phone => '07903 123 456',
diff --git a/t/app/controller/report_new_errors.t b/t/app/controller/report_new_errors.t
index c82a5fa13..470cb7d79 100644
--- a/t/app/controller/report_new_errors.t
+++ b/t/app/controller/report_new_errors.t
@@ -112,6 +112,7 @@ foreach my $test (
photo3 => '',
name => '',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
password_sign_in => '',
@@ -137,6 +138,7 @@ foreach my $test (
photo3 => '',
name => '',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Something bad',
@@ -165,6 +167,7 @@ foreach my $test (
photo3 => '',
name => '',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -190,6 +193,7 @@ foreach my $test (
photo3 => '',
name => '',
may_show_name => undef,
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -215,6 +219,7 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => undef,
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -239,6 +244,7 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -263,6 +269,7 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -287,6 +294,7 @@ foreach my $test (
photo3 => '',
name => 'DUDE',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -310,6 +318,7 @@ foreach my $test (
photo3 => '',
name => 'anonymous',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -333,13 +342,14 @@ foreach my $test (
photo3 => '',
name => 'Joe Smith',
may_show_name => '1',
- username => 'not an email',
+ username_register => 'not an email',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
password_register => '',
},
- changes => { username => 'notanemail' },
+ changes => {},
errors => [ 'Please enter a valid email', ],
},
{
@@ -353,6 +363,7 @@ foreach my $test (
photo3 => '',
name => '',
may_show_name => '1',
+ username_register => '',
username => '',
phone => '',
category => 'Street lighting',
@@ -379,7 +390,8 @@ foreach my $test (
photo3 => '',
name => ' Bob Jones ',
may_show_name => '1',
- username => ' BOB @ExAmplE.COM ',
+ username_register => ' BOB @ExAmplE.COM ',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
@@ -387,7 +399,6 @@ foreach my $test (
},
changes => {
name => 'Bob Jones',
- username => 'bob@example.com',
},
errors => [ 'Please enter a subject', 'Please enter some details', ],
},
@@ -402,7 +413,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
@@ -424,7 +436,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
@@ -446,7 +459,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Jones',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
@@ -468,14 +482,14 @@ foreach my $test (
photo3 => '',
name => 'Joe Smith',
may_show_name => '1',
- username => 'user@example.com',
+ username_register => 'user@example.com',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
password_register => '',
},
changes => {
- username => 'user@example.com',
title => 'User@example.com'
},
errors => [ 'Please make sure you are not including an email address', ],
@@ -492,7 +506,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Example',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Trees',
password_sign_in => '',
@@ -512,7 +527,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Example',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Trees',
password_sign_in => '',
@@ -532,7 +548,8 @@ foreach my $test (
photo3 => '',
name => 'Bob Example',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '123456789 12345678910',
category => 'Trees',
password_sign_in => '',
@@ -552,7 +569,8 @@ foreach my $test (
photo3 => '',
name => 'This is a very long name that should fail validation',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Street lighting',
password_sign_in => '',
@@ -572,7 +590,8 @@ foreach my $test (
photo3 => '',
name => 'This is a very long name that should fail validation',
may_show_name => '1',
- username => 'bob@example.com',
+ username_register => 'bob@example.com',
+ username => '',
phone => '',
category => 'Trees',
password_sign_in => '',
@@ -592,7 +611,8 @@ foreach my $test (
photo3 => '',
name => 'This is a really extraordinarily long name that definitely should fail validation',
may_show_name => '1',
- username => 'bob.has.a.very.long.email@thisisalonghostname.example.com',
+ username_register => 'bob.has.a.very.long.email@thisisalonghostname.example.com',
+ username => '',
phone => '01234 5678910 09876 54321 ext 203',
category => 'Trees',
password_sign_in => '',
@@ -612,7 +632,8 @@ foreach my $test (
photo3 => '',
name => 'A User',
may_show_name => '1',
- username => 'user@example.org',
+ username_register => 'user@example.org',
+ username => '',
phone => '',
category => 'Trees',
password_sign_in => '',
@@ -632,7 +653,8 @@ foreach my $test (
photo3 => '',
name => 'A User',
may_show_name => '1',
- username => 'user@example.org',
+ username_register => 'user@example.org',
+ username => '',
phone => '',
category => 'Trees',
password_sign_in => '',
diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t
index 9a8063a84..ebbb06567 100644
--- a/t/app/controller/report_new_open311.t
+++ b/t/app/controller/report_new_open311.t
@@ -108,7 +108,8 @@ my $empty_form = {
photo3 => '',
name => '',
may_show_name => '1',
- username => '',
+ username_register => '',
+ username => '',
phone => '',
category => '',
password_sign_in => '',
@@ -137,7 +138,7 @@ foreach my $test (
title => 'test',
detail => 'test detail',
name => 'Test User',
- username => 'testopen311@example.com',
+ username_register => 'testopen311@example.com',
category => 'Street lighting',
number => 27,
type => 'old',
@@ -177,7 +178,7 @@ foreach my $test (
title => 'test',
detail => 'test detail',
name => 'Test User',
- username => 'testopen311@example.com',
+ username_register => 'testopen311@example.com',
size => 'big',
colour => 'red',
},
@@ -201,7 +202,7 @@ foreach my $test (
$mech->clear_emails_ok;
# check that the user does not exist
- my $test_email = $test->{submit_with}->{username};
+ my $test_email = $test->{submit_with}->{username_register};
my $user = FixMyStreet::DB->resultset('User')->find( { email => $test_email } );
if ( $user ) {
$user->problems->delete;
@@ -452,7 +453,7 @@ subtest "Category extras includes form disabling string" => sub {
# Test submission of whole form, switching back to a blocked category at the same time
$mech->submit_form_ok({ with_fields => {
category => 'Pothole', title => 'Title', detail => 'Detail',
- username => 'testing@example.org', name => 'Testing Example',
+ username_register => 'testing@example.org', name => 'Testing Example',
} });
$mech->content_contains('<div id="js-category-stopper" class="box-warning" role="alert" aria-live="assertive">');
$mech->content_contains('Please ring us!');
diff --git a/t/app/controller/report_new_text.t b/t/app/controller/report_new_text.t
index 9256a00de..8753e7e20 100644
--- a/t/app/controller/report_new_text.t
+++ b/t/app/controller/report_new_text.t
@@ -42,7 +42,7 @@ foreach my $test (
%defaults,
},
changes => {
- username => 'bademail',
+ username => '',
},
errors => [ 'Please enter a valid email' ],
},
@@ -54,7 +54,7 @@ foreach my $test (
%defaults,
},
changes => {
- username => '01214960000000',
+ username => '',
phone => '01214960000000',
},
errors => [ 'Please check your phone number is correct' ],
@@ -67,7 +67,7 @@ foreach my $test (
%defaults,
},
changes => {
- username => '0121 496 0000',
+ username => '',
phone => '0121 496 0000',
},
errors => [ 'Please enter a mobile number', ],
diff --git a/t/app/controller/report_new_unresponsive.t b/t/app/controller/report_new_unresponsive.t
index 033475c25..211f7198d 100644
--- a/t/app/controller/report_new_unresponsive.t
+++ b/t/app/controller/report_new_unresponsive.t
@@ -107,7 +107,7 @@ sub make_report {
detail => 'Test report details.',
photo1 => '',
name => 'Joe Bloggs',
- username => $user->email,
+ username_register => $user->email,
may_show_name => '1',
phone => '07903 123 456',
category => 'Trees',
diff --git a/t/app/controller/report_update_text.t b/t/app/controller/report_update_text.t
index 52f221264..3f9a73773 100644
--- a/t/app/controller/report_update_text.t
+++ b/t/app/controller/report_update_text.t
@@ -62,7 +62,8 @@ for my $test (
{
desc => 'Invalid phone',
fields => {
- username => '01214960000000',
+ username_register => '01214960000000',
+ username => '',
update => 'Update',
name => 'Name',
photo1 => '',
@@ -80,7 +81,8 @@ for my $test (
{
desc => 'landline number',
fields => {
- username => '01214960000',
+ username_register => '01214960000',
+ username => '',
update => 'Update',
name => 'Name',
photo1 => '',
@@ -92,9 +94,7 @@ for my $test (
password_register => '',
password_sign_in => '',
},
- changes => {
- username => '0121 496 0000',
- },
+ changes => {},
field_errors => [ 'Please enter a mobile number' ]
},
)
@@ -126,7 +126,7 @@ for my $test (
desc => 'submit an update, unregistered, logged out',
form_values => {
submit_update => 1,
- username => $test_phone,
+ username_register => $test_phone,
update => 'Update from an unregistered user',
add_alert => undef,
name => 'Unreg User',
@@ -137,7 +137,7 @@ for my $test (
desc => 'submit an update, unregistered, logged out, sign up for alerts',
form_values => {
submit_update => 1,
- username => $test_phone,
+ username_register => $test_phone,
update => 'Update from an unregistered user',
add_alert => 1,
name => 'Unreg User',
@@ -149,7 +149,7 @@ for my $test (
registered => 1,
form_values => {
submit_update => 1,
- username => $test_phone,
+ username_register => $test_phone,
update => 'Update from a registered user',
add_alert => undef,
name => 'Reg User',
@@ -194,7 +194,7 @@ for my $test (
ok $update, 'found update in database';
is $update->state, 'unconfirmed', 'update unconfirmed';
my $details = $test->{form_values};
- is $update->user->phone, $details->{username}, 'update phone';
+ is $update->user->phone, $details->{username_register}, 'update phone';
is $update->user->phone_verified, 1;
is $update->text, $details->{update}, 'update text';
is $add_alerts, $details->{add_alert} ? 1 : 0, 'do not sign up for alerts';
@@ -211,7 +211,7 @@ for my $test (
ok $user->check_password( 'new_secret' ), 'password changed';
is $user->name, 'Reg User', 'name changed';
} else {
- $user = FixMyStreet::DB->resultset( 'User' )->find( { phone => $details->{username} } );
+ $user = FixMyStreet::DB->resultset( 'User' )->find( { phone => $details->{username_register} } );
ok $user, 'found user';
}
diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t
index 7ae5ed7b2..760a5a45b 100644
--- a/t/app/controller/report_updates.t
+++ b/t/app/controller/report_updates.t
@@ -272,7 +272,8 @@ for my $test (
{
desc => 'No email, no message',
fields => {
- username => '',
+ username_register => '',
+ username => '',
update => '',
name => '',
photo1 => '',
@@ -290,7 +291,8 @@ for my $test (
{
desc => 'Invalid email, no message',
fields => {
- username => 'test',
+ username_register => 'test',
+ username => '',
update => '',
name => '',
photo1 => '',
@@ -308,7 +310,8 @@ for my $test (
{
desc => 'email with spaces, no message',
fields => {
- username => 'test @ example. com',
+ username_register => 'test @ example. com',
+ username => '',
update => '',
name => '',
photo1 => '',
@@ -320,15 +323,14 @@ for my $test (
password_register => '',
password_sign_in => '',
},
- changes => {
- username => 'test@example.com',
- },
+ changes => {},
field_errors => [ 'Please enter a message', 'Please enter your name' ]
},
{
desc => 'email with uppercase, no message',
fields => {
- username => 'test@EXAMPLE.COM',
+ username_register => 'test@EXAMPLE.COM',
+ username => '',
update => '',
name => '',
photo1 => '',
@@ -340,9 +342,7 @@ for my $test (
password_register => '',
password_sign_in => '',
},
- changes => {
- username => 'test@example.com',
- },
+ changes => {},
field_errors => [ 'Please enter a message', 'Please enter your name' ]
},
)
@@ -369,6 +369,7 @@ for my $test (
desc => 'submit an update for a non registered user',
initial_values => {
name => '',
+ username_register => '',
username => '',
may_show_name => undef,
add_alert => 1,
@@ -382,7 +383,7 @@ for my $test (
},
form_values => {
submit_update => 1,
- username => 'unregistered@example.com',
+ username_register => 'unregistered@example.com',
update => 'Update from an unregistered user',
add_alert => undef,
name => 'Unreg User',
@@ -394,6 +395,7 @@ for my $test (
desc => 'submit an update for a non registered user and sign up',
initial_values => {
name => '',
+ username_register => '',
username => '',
may_show_name => undef,
add_alert => 1,
@@ -407,7 +409,7 @@ for my $test (
},
form_values => {
submit_update => 1,
- username => 'unregistered@example.com',
+ username_register => 'unregistered@example.com',
update => "update from an\r\n\r\nunregistered user",
add_alert => 1,
name => 'Unreg User',
@@ -465,14 +467,14 @@ for my $test (
ok $update, 'found update in database';
is $update->state, 'unconfirmed', 'update unconfirmed';
- is $update->user->email, $details->{username}, 'update email';
+ is $update->user->email, $details->{username_register}, 'update email';
is $update->text, $details->{update}, 'update text';
is $add_alerts, $details->{add_alert} ? 1 : 0, 'do not sign up for alerts';
$mech->get_ok( $url );
$mech->content_contains("/report/$report_id#update_$update_id");
- my $unreg_user = FixMyStreet::DB->resultset( 'User' )->find( { email => $details->{username} } );
+ my $unreg_user = FixMyStreet::DB->resultset( 'User' )->find( { email => $details->{username_register} } );
ok $unreg_user, 'found user';
@@ -497,6 +499,7 @@ for my $test (
desc => 'overriding email confirmation allows report confirmation with no email sent',
initial_values => {
name => '',
+ username_register => '',
username => '',
may_show_name => undef,
add_alert => 1,
@@ -510,7 +513,7 @@ for my $test (
},
form_values => {
submit_update => 1,
- username => 'unregistered@example.com',
+ username_register => 'unregistered@example.com',
update => "update no email confirm",
add_alert => 1,
name => 'Unreg User',
@@ -562,10 +565,10 @@ for my $test (
ok $update, 'found update in database';
is $update->state, 'confirmed', 'update confirmed';
- is $update->user->email, $details->{username}, 'update email';
+ is $update->user->email, $details->{username_register}, 'update email';
is $update->text, $details->{update}, 'update text';
- my $unreg_user = FixMyStreet::DB->resultset( 'User' )->find( { email => $details->{username} } );
+ my $unreg_user = FixMyStreet::DB->resultset( 'User' )->find( { email => $details->{username_register} } );
ok $unreg_user, 'found user';
@@ -1323,7 +1326,7 @@ subtest 'submit an update for a registered user, creating update by email' => su
$mech->submit_form_ok( {
with_fields => {
submit_update => 1,
- username => $user->email,
+ username_register => $user->email,
update => 'Update from a user',
add_alert => undef,
name => 'New Name',
@@ -1772,7 +1775,7 @@ for my $test (
fields => {
submit_update => 1,
name => 'Test User',
- username => $report->user->email,
+ username_register => $report->user->email,
may_show_name => 1,
update => 'update from owner',
add_alert => undef,
@@ -1794,7 +1797,7 @@ for my $test (
submit_update => 1,
name => 'Test User',
may_show_name => 1,
- username => $report->user->email,
+ username_register => $report->user->email,
update => 'update from owner',
add_alert => undef,
fixed => 1,
@@ -1859,7 +1862,7 @@ for my $test (
my $update = $report->comments->first;
ok $update, 'found update';
is $update->text, $results->{update}, 'update text';
- is $update->user->email, $test->{fields}->{username}, 'update user';
+ is $update->user->email, $test->{fields}->{username_register}, 'update user';
is $update->state, 'unconfirmed', 'update confirmed';
is $update->anonymous, $test->{anonymous}, 'user anonymous';
diff --git a/t/cobrand/bromley.t b/t/cobrand/bromley.t
index 6a7a60811..d26b10709 100644
--- a/t/cobrand/bromley.t
+++ b/t/cobrand/bromley.t
@@ -123,7 +123,7 @@ for my $test (
cobrand => 'bromley',
fields => {
submit_update => 1,
- username => 'unregistered@example.com',
+ username_register => 'unregistered@example.com',
update => 'Update from an unregistered user',
add_alert => undef,
first_name => 'Unreg',
@@ -136,7 +136,7 @@ for my $test (
cobrand => 'fixmystreet',
fields => {
submit_update => 1,
- username => 'unregistered@example.com',
+ username_register => 'unregistered@example.com',
update => 'Update from an unregistered user',
add_alert => undef,
name => 'Unreg User',
diff --git a/t/cobrand/form_extras.t b/t/cobrand/form_extras.t
index 3807dd56a..72c725d75 100644
--- a/t/cobrand/form_extras.t
+++ b/t/cobrand/form_extras.t
@@ -41,7 +41,7 @@ FixMyStreet::override_config {
detail => 'Test report details.',
name => 'Joe Bloggs',
may_show_name => '1',
- username => 'test-1@example.com',
+ username_register => 'test-1@example.com',
password_register => '',
}
},
diff --git a/t/cobrand/hackney.t b/t/cobrand/hackney.t
index 6ab47a7ce..8022d562a 100644
--- a/t/cobrand/hackney.t
+++ b/t/cobrand/hackney.t
@@ -178,7 +178,7 @@ subtest "sends branded confirmation emails" => sub {
detail => 'Test report details.',
photo1 => '',
name => 'Joe Bloggs',
- username => 'test-1@example.com',
+ username_register => 'test-1@example.com',
category => 'Roads',
}
},
diff --git a/t/cobrand/isleofwight.t b/t/cobrand/isleofwight.t
index 303cdbc07..ad9017e26 100644
--- a/t/cobrand/isleofwight.t
+++ b/t/cobrand/isleofwight.t
@@ -481,7 +481,7 @@ subtest "sends branded confirmation emails" => sub {
detail => 'Test report details.',
photo1 => '',
name => 'Joe Bloggs',
- username => 'test-1@example.com',
+ username_register => 'test-1@example.com',
category => 'Roads',
}
},
diff --git a/t/cobrand/zurich.t b/t/cobrand/zurich.t
index 2992a37e7..c73bd01e1 100644
--- a/t/cobrand/zurich.t
+++ b/t/cobrand/zurich.t
@@ -907,7 +907,7 @@ subtest "photo must be supplied for categories that require it" => sub {
$mech->get_ok('/report/new?lat=47.381817&lon=8.529156');
$mech->submit_form_ok({ with_fields => {
detail => 'Problem-Bericht',
- username => 'user@example.org',
+ username_register => 'user@example.org',
category => 'Graffiti - photo required',
}});
is $mech->res->code, 200, "missing photo shouldn't return anything but 200";
diff --git a/templates/web/base/contact/enquiry/index.html b/templates/web/base/contact/enquiry/index.html
index 33bdbed5a..b19c5181b 100644
--- a/templates/web/base/contact/enquiry/index.html
+++ b/templates/web/base/contact/enquiry/index.html
@@ -19,7 +19,7 @@
[% IF field_errors.username_register %]
<div class="form-error">[% field_errors.username_register %]</div>
[% END %]
- <input type="text" class="form-control required email" name="username" id="form_email" [% "disabled" IF c.user.email %] value="[% ( email OR c.user.email ) | html %]" size="30">
+ <input type="text" class="form-control required email" name="username_register" id="form_email" [% "disabled" IF c.user.email %] value="[% ( email OR c.user.email ) | html %]" size="30">
<div class="form-group">
<label for="form_phone">[% loc('Your phone number') %]</label>
diff --git a/templates/web/base/report/form/user_loggedout_email.html b/templates/web/base/report/form/user_loggedout_email.html
index f3163dc5c..db3604d54 100644
--- a/templates/web/base/report/form/user_loggedout_email.html
+++ b/templates/web/base/report/form/user_loggedout_email.html
@@ -2,18 +2,17 @@
[% IF c.config.SMS_AUTHENTICATION %]
[% SET username_label = loc('Your email or mobile') %]
[% SET username_type = 'text' %]
- [% SET username_value = object.user.username %]
[% ELSE %]
[% SET username_label = loc('Your email') %]
[% SET username_type = 'email' %]
- [% SET username_value = object.user.email %]
[% END %]
+[% SET username_field = (name == 'username_sign_in') ? 'username' : name ~%]
<label for="form_[% name %]">[% username_label %]</label>
[% IF field_errors.$name %]
<p class='form-error'>[% field_errors.$name %]</p>
[% END %]
-<input type="[% username_type %]" name="username" id="form_[% name %]"
- value="[% username_value | html %]"
+<input type="[% username_type %]" name="[% username_field %]" id="form_[% name %]"
+ value="[% c.get_param(username_field) %]"
class="form-control required">
<!-- /user_loggedout_email.html -->
diff --git a/templates/web/bromley/report/form/user_loggedout_email.html b/templates/web/bromley/report/form/user_loggedout_email.html
index 5672dbc43..e7f08a4a8 100644
--- a/templates/web/bromley/report/form/user_loggedout_email.html
+++ b/templates/web/bromley/report/form/user_loggedout_email.html
@@ -1,12 +1,11 @@
[% IF c.config.SMS_AUTHENTICATION %]
[% SET username_label = loc('Your email or mobile') %]
[% SET username_type = 'text' %]
- [% SET username_value = object.user.username %]
[% ELSE %]
[% SET username_label = loc('Your email') %]
[% SET username_type = 'email' %]
- [% SET username_value = object.user.email %]
[% END %]
+[% SET username_field = (name == 'username_sign_in') ? 'username' : 'username_register' ~%]
<label for="form_[% name %]">[% loc('Email' ) %]
[% IF type == 'update' %]
@@ -16,6 +15,6 @@
[% IF field_errors.$name %]
<p class='form-error'>[% field_errors.$name %]</p>
[% END %]
-<input type="[% username_type %]" name="username" id="form_[% name %]"
- value="[% username_value | html %]"
+<input type="[% username_type %]" name="[% username_field %]" id="form_[% name %]"
+ value="[% c.get_param(username_field) %]"
class="form-control required">
diff --git a/templates/web/zurich/report/new/fill_in_details_form.html b/templates/web/zurich/report/new/fill_in_details_form.html
index b2861bf40..8d840c43e 100644
--- a/templates/web/zurich/report/new/fill_in_details_form.html
+++ b/templates/web/zurich/report/new/fill_in_details_form.html
@@ -54,7 +54,7 @@
[% IF field_errors.username_register %]
<p class='form-error'>[% field_errors.username_register %]</p>
[% END %]
- <input class="form-control" type="email" value="[% email | html %]" name="username" id="form_username_register" required>
+ <input class="form-control" type="email" value="[% email | html %]" name="username_register" id="form_username_register" required>
<label for="form_name">[% loc('Name') %] [% loc('(optional)') %]</label>
[% IF field_errors.name %]