Skip to content
Snippets Groups Projects
Commit 094594b7 authored by Tore.Brede's avatar Tore.Brede
Browse files

GREG-85: Adding some meta information to be sent to the client

parent c4b7e1ea
No related branches found
No related tags found
1 merge request!113GREG-85: Guest registration page
Pipeline #97513 failed
...@@ -23,4 +23,5 @@ export type ContactInformationBySponsor = { ...@@ -23,4 +23,5 @@ export type ContactInformationBySponsor = {
passport?: string passport?: string
user_information_source: AuthenticationMethod user_information_source: AuthenticationMethod
fnr_verified: boolean
} }
...@@ -52,6 +52,7 @@ export default function GuestRegister() { ...@@ -52,6 +52,7 @@ export default function GuestRegister() {
fnr: '', fnr: '',
passport: '', passport: '',
user_information_source: AuthenticationMethod.Feide, user_information_source: AuthenticationMethod.Feide,
fnr_verified: false,
}) })
const guestContactInfo = async () => { const guestContactInfo = async () => {
...@@ -60,8 +61,12 @@ export default function GuestRegister() { ...@@ -60,8 +61,12 @@ export default function GuestRegister() {
if (response.ok) { if (response.ok) {
response.json().then((jsonResponse) => { response.json().then((jsonResponse) => {
// TODO Set up so that information about the authentication method is included in the response from the server (if the user is logged in by Feide) const authenticationMethod =
const userSource = AuthenticationMethod.NationalIdNumberOrPassport jsonResponse.meta.form_type === 'manual'
? AuthenticationMethod.NationalIdNumberOrPassport
: AuthenticationMethod.Feide
const fnrVerified = jsonResponse.meta.fnr_verified === true
setGuestFormData({ setGuestFormData({
first_name: jsonResponse.person.first_name, first_name: jsonResponse.person.first_name,
...@@ -79,7 +84,8 @@ export default function GuestRegister() { ...@@ -79,7 +84,8 @@ export default function GuestRegister() {
fnr: jsonResponse.fnr, fnr: jsonResponse.fnr,
passport: jsonResponse.passport, passport: jsonResponse.passport,
user_information_source: userSource, user_information_source: authenticationMethod,
fnr_verified: fnrVerified,
}) })
}) })
} }
......
...@@ -19,7 +19,6 @@ from greg.permissions import IsSponsor ...@@ -19,7 +19,6 @@ from greg.permissions import IsSponsor
from gregui.api.serializers.guest import GuestRegisterSerializer from gregui.api.serializers.guest import GuestRegisterSerializer
from gregui.api.serializers.invitation import InviteGuestSerializer from gregui.api.serializers.invitation import InviteGuestSerializer
from gregui.models import GregUserProfile from gregui.models import GregUserProfile
...@@ -133,6 +132,9 @@ class InvitedGuestView(GenericAPIView): ...@@ -133,6 +132,9 @@ class InvitedGuestView(GenericAPIView):
person = role.person person = role.person
sponsor = role.sponsor_id sponsor = role.sponsor_id
# If the user is not logged in then tell the client to take him through the manual registration process
is_not_logged_in = request.user
fnr_verified = False fnr_verified = False
try: try:
fnr = person.identities.get(type=Identity.IdentityType.NORWEGIAN_NATIONAL_ID_NUMBER) fnr = person.identities.get(type=Identity.IdentityType.NORWEGIAN_NATIONAL_ID_NUMBER)
...@@ -170,7 +172,8 @@ class InvitedGuestView(GenericAPIView): ...@@ -170,7 +172,8 @@ class InvitedGuestView(GenericAPIView):
"comments": role.comments, "comments": role.comments,
}, },
"meta": { "meta": {
"fnr_verified": fnr_verified "form_type": is_not_logged_in,
  • Maintainer

    Burde dette heller fått et navn ala. session_types/session_capabilities og inneholdt en liste med verdiene invite, feide, idporten avhengig av hvilke ting man har i sesjonen? Så kan form_type heller avledes på klientsiden ut i fra kombinasjonen av tingene som står i lista - f.eks. fører kun "invite" til at man får manuelt skjema.

    Bare et forslag, synes det blir litt tett kobling når backend instruerer frontend i type skjema.

    Uansett så kan jeg ikke se at request.user kan bli til manual :)

  • Tore.Brede @Tore.Brede ·
    Author Guest

    Jo, det blir sikkert klarare om ein har noko med dei ulike invitasjonstypane. Eg kan endre på det. Eg er enno ikkje sikker på kva vi kan forvente å finne i sesjonane med dei ulike innloggingstypane.

    Angåande "... synes det blir litt tett kobling når backend instruerer frontend i type skjema." Meiner du at det vi kan kome oss unna utan å ha noko meta-data (slik som skissert i koden) og berre sjå på klient-sida om brukaren er logga inn?

  • Maintainer

    Jeg tror ikke vi kommer unna at backend sier noe (via metadata) om hvordan brukeren er logga inn. Bare mente det var bedre at backend like godt sa hvordan brukeren er logga inn, heller enn å si hvilken skjematype som skal vises.

  • Please register or sign in to reply
"fnr_verified": fnr_verified,
} }
} }
return JsonResponse(data=data, status=status.HTTP_200_OK) return JsonResponse(data=data, status=status.HTTP_200_OK)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment