diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-24 12:20:10 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-05-28 17:19:27 +0100 |
commit | 413c39aa232c078545fe58a53aebddc152a3340b (patch) | |
tree | 4fe0897771d87b9fe437d7680858b28002e19213 | |
parent | f5b0c0629b9bbab562fe02f722b3ef1bb5bff37a (diff) |
Show field entries if error on add user form
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Admin/Users.pm | 9 | ||||
-rw-r--r-- | t/app/controller/admin/users.t | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin/Users.pm b/perllib/FixMyStreet/App/Controller/Admin/Users.pm index 96539358e..1a51df523 100644 --- a/perllib/FixMyStreet/App/Controller/Admin/Users.pm +++ b/perllib/FixMyStreet/App/Controller/Admin/Users.pm @@ -112,9 +112,7 @@ sub add : Local : Args(0) { $c->stash->{field_errors}->{username} = _('User already exists'); } - return if %{$c->stash->{field_errors}}; - - my $user = $c->model('DB::User')->create( { + my $user = $c->model('DB::User')->new( { name => $c->get_param('name'), email => $email ? $email : undef, email_verified => $email && $email_v ? 1 : 0, @@ -126,8 +124,11 @@ sub add : Local : Args(0) { is_superuser => ( $c->user->is_superuser && $c->get_param('is_superuser') ) || 0, } ); $c->stash->{user} = $user; + + return if %{$c->stash->{field_errors}}; + $c->forward('user_cobrand_extra_fields'); - $user->update; + $user->insert; $c->forward( '/admin/log_edit', [ $user->id, 'user', 'edit' ] ); diff --git a/t/app/controller/admin/users.t b/t/app/controller/admin/users.t index e2c922a23..767c8ef4c 100644 --- a/t/app/controller/admin/users.t +++ b/t/app/controller/admin/users.t @@ -157,6 +157,7 @@ for my $test ( subtest $test->{desc} => sub { $mech->get_ok('/admin/users'); $mech->submit_form_ok( { with_fields => $test->{fields} } ); + $mech->content_contains('Norman') if $test->{fields}{name}; if ($test->{error}) { $mech->content_contains($_) for @{$test->{error}}; } else { |