Skip to content

Commit

Permalink
Allow users to edit email addresses
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 5a2b634
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@email",
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@email",
"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 5a2b634

Please sign in to comment.