Skip to content

Commit

Permalink
ECIL-287 Remove user_pk path param from new-user-edit endpoint.
Browse files Browse the repository at this point in the history
  • Loading branch information
MattHolmes123 committed Nov 7, 2024
1 parent 234ab24 commit b777d85
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion web/domains/user/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
urlpatterns = [
path("welcome/", views.NewUserWelcomeView.as_view(), name="user-welcome"),
path("welcome/clear/", views.ClearNewUserWelcomeView.as_view(), name="user-welcome-clear"),
path("new-user/", views.NewUserUpdateView.as_view(), name="new-user-edit"),
path(
"<int:user_pk>/",
include(
[
path("", views.UserUpdateView.as_view(), name="user-edit"),
path("new-user/", views.NewUserUpdateView.as_view(), name="new-user-edit"),
path(
"number/",
include(
Expand Down
15 changes: 11 additions & 4 deletions web/domains/user/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,22 @@ def get_success_url(self) -> str:
return super().get_success_url()


class NewUserUpdateView(LoginRequiredMixin, UpdateView):
class NewUserUpdateView(LoginRequiredMixin, FormView):
"""View shown after a new user is redirected back to ICMS from GOV.UK One Login."""

# UpdateView config
model = User
pk_url_kwarg = "user_pk"
form_class = OneLoginNewUserUpdateForm
template_name = "web/domains/user/one_login/user_edit.html"

def get_form_kwargs(self) -> dict[str, Any]:
kwargs = super().get_form_kwargs()

return kwargs | {"instance": self.request.user}

def form_valid(self, form: OneLoginNewUserUpdateForm) -> HttpResponseRedirect:
form.save()

return super().form_valid(form)

def get_success_url(self) -> str:
site = self.request.site

Expand Down
2 changes: 1 addition & 1 deletion web/middleware/one_login.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def __call__(self, request: HttpRequest) -> HttpResponse | HttpResponseRedirect:
):
messages.info(request, "Please set your first and last name.") # /PS-IGNORE

return redirect(reverse("new-user-edit", kwargs={"user_pk": request.user.pk}))
return redirect(reverse("new-user-edit"))

response = self.get_response(request)

Expand Down
4 changes: 2 additions & 2 deletions web/tests/domains/user/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ def setup(self, importer_client, importer_one_contact, exporter_client, exporter
self.importer_user = importer_one_contact
self.exporter_user = exporter_one_contact

self.importer_url = reverse("new-user-edit", kwargs={"user_pk": importer_one_contact.pk})
self.exporter_url = reverse("new-user-edit", kwargs={"user_pk": exporter_one_contact.pk})
self.importer_url = reverse("new-user-edit")
self.exporter_url = reverse("new-user-edit")

self.importer_client = importer_client
self.exporter_client = exporter_client
Expand Down
4 changes: 2 additions & 2 deletions web/tests/middleware/test_one_login.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def test_middleware_redirects_to_edit_new_user_first_name(self, rf, importer_one
)

assert response.status_code == 302
assert response.url == reverse("new-user-edit", kwargs={"user_pk": importer_one_contact.pk})
assert response.url == reverse("new-user-edit")

def test_middleware_redirects_to_edit_new_user_last_name(self, rf, importer_one_contact):
request = rf.request()
Expand All @@ -48,7 +48,7 @@ def test_middleware_redirects_to_edit_new_user_last_name(self, rf, importer_one_
)

assert response.status_code == 302
assert response.url == reverse("new-user-edit", kwargs={"user_pk": importer_one_contact.pk})
assert response.url == reverse("new-user-edit")

def test_middleware_does_not_redirect_to_edit_user(self, rf, importer_one_contact):
request = rf.request()
Expand Down

0 comments on commit b777d85

Please sign in to comment.