diff --git a/frontend/middleware/can-manage-only.ts b/frontend/middleware/can-manage-only.ts new file mode 100644 index 000000000000..defdb89ad4b8 --- /dev/null +++ b/frontend/middleware/can-manage-only.ts @@ -0,0 +1,12 @@ +interface CanManageRedirectParams { + $auth: any + redirect: (path: string) => void +} +export default function ({ $auth, redirect }: CanManageRedirectParams) { + // If the user is not allowed to organize redirect to the home page + console.log($auth.user) + if (!$auth.user.canManage) { + console.warn("User is not allowed to manage group settings"); + return redirect("/") + } +} diff --git a/frontend/pages/group/index.vue b/frontend/pages/group/index.vue index 9b4e24678da3..b9893b25faee 100644 --- a/frontend/pages/group/index.vue +++ b/frontend/pages/group/index.vue @@ -65,6 +65,7 @@ import { useGroupSelf } from "~/composables/use-groups"; import { ReadGroupPreferences } from "~/lib/api/types/group"; export default defineComponent({ + middleware: ["auth", "can-manage-only"], setup() { const { group, actions: groupActions } = useGroupSelf();