aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm1
-rw-r--r--t/app/controller/admin.t20
-rw-r--r--templates/web/default/admin/user_edit.html1
3 files changed, 22 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index e5c0133cf..9cc046e13 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -801,6 +801,7 @@ sub user_edit : Path('user_edit') : Args(1) {
$user->name( $c->req->param('name') );
$user->email( $c->req->param('email') );
$user->from_council( $c->req->param('council') || undef );
+ $user->flagged( $c->req->param('flagged') );
$user->update;
if ($edited) {
diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t
index 08cb4fb0d..324d13890 100644
--- a/t/app/controller/admin.t
+++ b/t/app/controller/admin.t
@@ -994,6 +994,9 @@ $log_entries = FixMyStreet::App->model('DB::AdminLog')->search(
is $log_entries->count, 0, 'no admin log entries';
+$user->flagged( 0 );
+$user->update;
+
for my $test (
{
desc => 'edit user name',
@@ -1001,6 +1004,7 @@ for my $test (
name => 'Test User',
email => 'test@example.com',
council => 2509,
+ flagged => undef,
},
changes => {
name => 'Changed User',
@@ -1014,6 +1018,7 @@ for my $test (
name => 'Changed User',
email => 'test@example.com',
council => 2509,
+ flagged => undef,
},
changes => {
email => 'changed@example.com',
@@ -1027,6 +1032,7 @@ for my $test (
name => 'Changed User',
email => 'changed@example.com',
council => 2509,
+ flagged => undef,
},
changes => {
council => 2607,
@@ -1034,6 +1040,20 @@ for my $test (
log_count => 3,
log_entries => [qw/edit edit edit/],
},
+ {
+ desc => 'edit user flagged',
+ fields => {
+ name => 'Changed User',
+ email => 'changed@example.com',
+ council => 2607,
+ flagged => undef,
+ },
+ changes => {
+ flagged => 'on',
+ },
+ log_count => 4,
+ log_entries => [qw/edit edit edit edit/],
+ },
) {
subtest $test->{desc} => sub {
$mech->get_ok( '/admin/user_edit/' . $user->id );
diff --git a/templates/web/default/admin/user_edit.html b/templates/web/default/admin/user_edit.html
index 7db8f5c63..a03a4b734 100644
--- a/templates/web/default/admin/user_edit.html
+++ b/templates/web/default/admin/user_edit.html
@@ -15,6 +15,7 @@
<option value="[% council %]"[% ' selected' IF council == user.from_council %]>[% council_details.$council.name %]</option>
[% END %]
</select>
+<li>[% loc('Flagged:') %] <input type="checkbox" id="flagged" name="flagged"[% user.flagged ? ' checked' : '' %]></li>
</ul>
<input type="submit" name="Submit changes" value="[% loc('Submit changes') %]" ></form>