Skip to content

Commit

Permalink
Allow users to edit email addresses (#305)
Browse files Browse the repository at this point in the history
Make field editable and sent it to the API

For VEGA-1405 #minor
  • Loading branch information
gregtyler committed Aug 11, 2022
1 parent 3d28fea commit 0ae5866
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 3 deletions.
1 change: 1 addition & 0 deletions docker/docker-compose.yml
Expand Up @@ -2,6 +2,7 @@ version: "3.6"

services:
app:
image: 311462405659.dkr.ecr.eu-west-1.amazonaws.com/sirius-user-management:latest
build:
context: ..
dockerfile: ./docker/sirius-user-management/Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion internal/server/edit_user.go
Expand Up @@ -60,6 +60,7 @@ func editUser(client EditUserClient, tmpl Template) Handler {
case http.MethodPost:
vars.User = sirius.AuthUser{
ID: id,
Email: r.PostFormValue("email"),
Firstname: r.PostFormValue("firstname"),
Surname: r.PostFormValue("surname"),
Organisation: r.PostFormValue("organisation"),
Expand All @@ -85,7 +86,6 @@ func editUser(client EditUserClient, tmpl Template) Handler {
}

vars.Success = true
vars.User.Email = r.PostFormValue("email")
return tmpl.ExecuteTemplate(w, "page", vars)

default:
Expand Down
2 changes: 2 additions & 0 deletions internal/server/edit_user_test.go
Expand Up @@ -139,6 +139,7 @@ func TestPostEditUser(t *testing.T) {
assert.Equal(getContext(r), client.editUser.lastCtx)
assert.Equal(sirius.AuthUser{
ID: 123,
Email: "a",
Firstname: "b",
Surname: "c",
Organisation: "d",
Expand Down Expand Up @@ -193,6 +194,7 @@ func TestPostEditUserClientError(t *testing.T) {
Roles: []string{"System Admin", "Manager"},
User: sirius.AuthUser{
ID: 123,
Email: "a",
Firstname: "b",
Surname: "c",
Organisation: "d",
Expand Down
2 changes: 2 additions & 0 deletions internal/sirius/edit_user.go
Expand Up @@ -9,6 +9,7 @@ import (

type editUserRequest struct {
ID int `json:"id"`
Email string `json:"email,omitempty"`
Firstname string `json:"firstname"`
Surname string `json:"surname"`
Roles []string `json:"roles"`
Expand All @@ -20,6 +21,7 @@ func (c *Client) EditUser(ctx Context, user AuthUser) error {
var body bytes.Buffer
err := json.NewEncoder(&body).Encode(editUserRequest{
ID: user.ID,
Email: user.Email,
Firstname: user.Firstname,
Surname: user.Surname,
Roles: append(user.Roles, user.Organisation),
Expand Down
2 changes: 2 additions & 0 deletions internal/sirius/edit_user_test.go
Expand Up @@ -35,6 +35,7 @@ func TestEditUser(t *testing.T) {
name: "OK",
user: AuthUser{
ID: 123,
Email: "c@opgtest.com",
Firstname: "a",
Surname: "b",
Organisation: "d",
Expand All @@ -57,6 +58,7 @@ func TestEditUser(t *testing.T) {
},
Body: map[string]interface{}{
"id": 123,
"email": "c@opgtest.com",
"firstname": "a",
"surname": "b",
"roles": []string{"e", "f", "d"},
Expand Down
8 changes: 6 additions & 2 deletions web/template/edit-user.gotmpl
Expand Up @@ -68,8 +68,12 @@

<div class="govuk-form-group">
<label class="govuk-label" for="f-email">Email address</label>
<input class="govuk-input" id="f-email" type="text" value="{{ .User.Email }}" disabled>
<input name="email" type="hidden" value="{{ .User.Email }}">
{{ range .Errors.email }}
<p class="govuk-error-message">
<span class="govuk-visually-hidden">Error:</span> {{ . }}
</p>
{{ end }}
<input class="govuk-input {{ if .Errors.email }}govuk-input--error{{ end }}" id="f-email" name="email" type="text" value="{{ .User.Email }}">
</div>

<div class="govuk-form-group {{ if .Errors.firstname }}govuk-form-group--error{{ end }}">
Expand Down

0 comments on commit 0ae5866

Please sign in to comment.