Skip to content

Commit dfe23b2

Browse files
committed
feat: added permissions on eru-readiness route
1 parent efa417d commit dfe23b2

3 files changed

Lines changed: 11 additions & 1 deletion

File tree

app/src/App/routes/SurgeRoutes.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ const eruReadinessForm = customWrapRoute({
133133
context: {
134134
title: 'ERU Readiness Update Form',
135135
visibility: 'is-authenticated',
136+
permissions: ({
137+
isRegionalOrCountryAdmin,
138+
isSuperUser,
139+
}) => isSuperUser || isRegionalOrCountryAdmin,
136140
},
137141
});
138142

app/src/App/routes/common.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface Perms {
1616
isCountryAdmin: (countryId: number | undefined) => boolean,
1717
isRegionPerAdmin: (regionId: number | undefined) => boolean,
1818
isCountryPerAdmin: (countryId: number | undefined) => boolean,
19+
isRegionalOrCountryAdmin: boolean,
1920
isPerAdmin: boolean,
2021
isIfrcAdmin: boolean,
2122
isSuperUser: boolean,

app/src/hooks/domain/usePermissions.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,17 @@ function usePermissions() {
3838

3939
const isPerAdmin = !isGuestUser
4040
&& ((userMe?.is_per_admin_for_countries.length ?? 0) > 0
41-
|| (userMe?.is_admin_for_regions.length ?? 0) > 0);
41+
|| (userMe?.is_per_admin_for_regions.length ?? 0) > 0);
4242

4343
const isIfrcAdmin = !isGuestUser
4444
&& (!!userMe?.is_ifrc_admin || !!userMe?.email?.toLowerCase().endsWith('@ifrc.org'));
4545

4646
const isSuperUser = !isGuestUser && !!userMe?.is_superuser;
4747

48+
const isRegionalOrCountryAdmin = !isGuestUser
49+
&& ((userMe?.is_admin_for_countries.length ?? 0) > 0
50+
|| (userMe?.is_admin_for_regions.length ?? 0) > 0);
51+
4852
return {
4953
isDrefRegionalCoordinator,
5054
isRegionAdmin,
@@ -55,6 +59,7 @@ function usePermissions() {
5559
isIfrcAdmin,
5660
isSuperUser,
5761
isGuestUser,
62+
isRegionalOrCountryAdmin,
5863
};
5964
},
6065
[userMe],

0 commit comments

Comments
 (0)