diff --git a/frontend/src/interfaces/index.ts b/frontend/src/interfaces/index.ts index d1eb44ed062d0fd5303f7fbc9c6b1a2b17c5d004..2fcb395309af8118e41f2e79078a293881338a64 100644 --- a/frontend/src/interfaces/index.ts +++ b/frontend/src/interfaces/index.ts @@ -6,6 +6,8 @@ export type Guest = { mobile: string fnr: string active: boolean + registered: boolean + verified: boolean roles: Role[] } @@ -17,6 +19,8 @@ export interface FetchedGuest { mobile: string fnr: string active: boolean + registered: boolean + verified: boolean roles: FetchedRole[] } @@ -40,6 +44,4 @@ export type FetchedRole = { start_date: string end_date: string max_days: number - registered: boolean - verified: boolean } diff --git a/frontend/src/routes/sponsor/frontpage/index.tsx b/frontend/src/routes/sponsor/frontpage/index.tsx index e9961b67e5519126c9b61af1ed2f84a23a741c14..d20af82b1dd33929132485347856ff5d4062d075 100644 --- a/frontend/src/routes/sponsor/frontpage/index.tsx +++ b/frontend/src/routes/sponsor/frontpage/index.tsx @@ -115,9 +115,19 @@ const WaitingForGuestRegistration = ({ persons }: GuestProps) => { </TableRow> </TableHead> <TableBody> - {guests.map((person) => ( - <PersonLine person={person} /> - ))} + {guests.length > 0 ? ( + guests.map((person) => + person.roles ? ( + person.roles.map((role) => ( + <PersonLine role={role} person={person} /> + )) + ) : ( + <></> + ) + ) + ) : ( + <></> + )} <TableRow> <TableCell> @@ -172,7 +182,11 @@ const ActiveGuests = ({ persons }: GuestProps) => { guests.map((person) => person.roles ? ( person.roles.map((role) => ( - <PersonLine role={role} person={person} showStatusColumn/> + <PersonLine + role={role} + person={person} + showStatusColumn + /> )) ) : ( <></> diff --git a/frontend/src/routes/sponsor/guestInfo/index.tsx b/frontend/src/routes/sponsor/guestInfo/index.tsx index 0e46c0799d6437f6554eec76fe5732d1bae6513c..ea8dad32642d6d381082de3b8d5258c3aa4acfbf 100644 --- a/frontend/src/routes/sponsor/guestInfo/index.tsx +++ b/frontend/src/routes/sponsor/guestInfo/index.tsx @@ -67,6 +67,8 @@ export default function GuestInfo() { fnr: '', mobile: '', active: false, + registered: false, + verified: false, roles: [], }) const [roles, setRoles] = useState<Role[]>([]) @@ -84,6 +86,8 @@ export default function GuestInfo() { mobile: rjson.mobile, fnr: rjson.fnr, active: rjson.active, + registered: rjson.registered, + verified: rjson.verified, roles: rjson.roles, }) setRoles(rjson.roles.map((role: FetchedRole) => parseRole(role))) diff --git a/gregui/views.py b/gregui/views.py index f03cfcda714e757a884bb6f5eb4b3de13cd3a6d2..15e6e264ce87afe18682107efe00ee6980cb6daa 100644 --- a/gregui/views.py +++ b/gregui/views.py @@ -106,8 +106,8 @@ class GuestInfoView(APIView): "mobile": person.private_mobile and person.private_mobile.value, "fnr": person.fnr and "".join((person.fnr.value[:-5], "*****")), "active": person.is_registered and person.is_verified, - "registered": i.person.is_registered, - "verified": i.person.is_verified, + "registered": person.is_registered, + "verified": person.is_verified, "roles": [ { "id": role.id,