aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-05-01 19:17:38 +0100
committerStruan Donald <struan@exo.org.uk>2012-05-01 19:17:38 +0100
commit4b08e5136db27ab0d69d070e77dcd92193f86752 (patch)
tree0db9960b36e6f480f112bc7c903ec1c0b04b6bfd /perllib/FixMyStreet/App
parentea47736c4e5b8dc2eb72aaefb2aa0ea7d1ffc406 (diff)
store title in users table so we can persist it for bromley
Diffstat (limited to 'perllib/FixMyStreet/App')
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm9
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/Update.pm8
-rw-r--r--perllib/FixMyStreet/App/Controller/Tokens.pm1
4 files changed, 16 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index b1ef2f0f3..42e218f61 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -490,7 +490,7 @@ sub search_reports : Path('search_reports') {
'me.id' => $search_n,
'user.email' => { ilike => $like_search },
'me.name' => { ilike => $like_search },
- title => { ilike => $like_search },
+ 'me.title' => { ilike => $like_search },
detail => { ilike => $like_search },
council => { like => $like_search },
cobrand_data => { like => $like_search },
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index 7b630d36f..ca2dfc6b5 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -643,9 +643,10 @@ sub process_user : Private {
# The user is already signed in
if ( $c->user_exists ) {
my $user = $c->user->obj;
- my %params = map { $_ => scalar $c->req->param($_) } ( 'name', 'phone' );
+ my %params = map { $_ => scalar $c->req->param($_) } ( 'name', 'phone', 'fms_extra_title' );
$user->name( Utils::trim_text( $params{name} ) ) if $params{name};
$user->phone( Utils::trim_text( $params{phone} ) );
+ $user->title( Utils::trim_text( $params{fms_extra_title} ) );
$report->user( $user );
$report->name( $user->name );
return 1;
@@ -653,7 +654,7 @@ sub process_user : Private {
# Extract all the params to a hash to make them easier to work with
my %params = map { $_ => scalar $c->req->param($_) }
- ( 'email', 'name', 'phone', 'password_register' );
+ ( 'email', 'name', 'phone', 'password_register', 'fms_extra_title' );
# cleanup the email address
my $email = $params{email} ? lc $params{email} : '';
@@ -681,6 +682,7 @@ sub process_user : Private {
$report->user->phone( Utils::trim_text( $params{phone} ) );
$report->user->password( Utils::trim_text( $params{password_register} ) )
if $params{password_register};
+ $report->user->title( Utils::trim_text( $params{fms_extra_title} ) );
$report->name( Utils::trim_text( $params{name} ) );
return 1;
@@ -973,10 +975,12 @@ sub save_user_and_report : Private {
name => $report->user->name,
phone => $report->user->phone,
password => $report->user->password,
+ title => $report->user->title,
};
$report->user->name( undef );
$report->user->phone( undef );
$report->user->password( '', 1 );
+ $report->user->title( undef );
$report->user->insert();
$c->log->info($report->user->id . ' created for this report');
}
@@ -992,6 +996,7 @@ sub save_user_and_report : Private {
name => $report->user->name,
phone => $report->user->phone,
password => $report->user->password,
+ title => $report->user->title,
};
$report->user->discard_changes();
$c->log->info($report->user->id . ' exists, but is not logged in for this report');
diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm
index 114c86c28..8be513b08 100644
--- a/perllib/FixMyStreet/App/Controller/Report/Update.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm
@@ -104,13 +104,16 @@ sub process_user : Private {
my $user = $c->user->obj;
my $name = scalar $c->req->param('name');
$user->name( Utils::trim_text( $name ) ) if $name;
+ my $title = scalar $c->req->param('fms_extra_title');
+ $c->log->debug( 'user exists and title is ' . $title );
+ $user->title( Utils::trim_text( $title ) ) if $title;
$update->user( $user );
return 1;
}
# Extract all the params to a hash to make them easier to work with
my %params = map { $_ => scalar $c->req->param($_) }
- ( 'rznvy', 'name', 'password_register' );
+ ( 'rznvy', 'name', 'password_register', 'fms_extra_title' );
# cleanup the email address
my $email = $params{rznvy} ? lc $params{rznvy} : '';
@@ -136,6 +139,8 @@ sub process_user : Private {
if $params{name};
$update->user->password( Utils::trim_text( $params{password_register} ) )
if $params{password_register};
+ $update->user->title( Utils::trim_text( $params{fms_extra_title} ) )
+ if $params{fms_extra_title};
return 1;
}
@@ -295,6 +300,7 @@ sub save_update : Private {
}
elsif ( $c->user && $c->user->id == $update->user->id ) {
# Logged in and same user, so can confirm update straight away
+ $c->log->debug( 'user exists' );
$update->user->update;
$update->confirm;
} else {
diff --git a/perllib/FixMyStreet/App/Controller/Tokens.pm b/perllib/FixMyStreet/App/Controller/Tokens.pm
index b974f94e6..1434838f2 100644
--- a/perllib/FixMyStreet/App/Controller/Tokens.pm
+++ b/perllib/FixMyStreet/App/Controller/Tokens.pm
@@ -71,6 +71,7 @@ sub confirm_problem : Path('/P') {
$problem->user->name( $data->{name} ) if $data->{name};
$problem->user->phone( $data->{phone} ) if $data->{phone};
$problem->user->password( $data->{password}, 1 ) if $data->{password};
+ $problem->user->title( $data->{title} ) if $data->{title};
$problem->user->update;
}
$c->authenticate( { email => $problem->user->email }, 'no_password' );