I have double condition in beforeEnter and nobody can enter to right place. In there a limit in conditions or what? 🙁
my code in router file:
const routes = {
path: `${routerConfig.preRoute}/absence`,
beforeEnter: (to, from, next) => {
storeInit
.then(() => {
const admin = store.getters.userIsAdmin;
const userHasPermission = store.getters.userIsAbsencesAdmin;
if (!admin || !userHasPermission) {
next('/');
}
else next();
});
},
my code in store file:
getters: {
userIsAdmin: (state, getters) => {
return state.userPermissions.some(permission => +permission === permissionsArray.ADMIN_PLATFORM);
},
userIsGoalAdmin: (state, getters) => {
return state.userPermissions.some(permission => +permission === permissionsArray.ADMIN_GOAL);
},
userIsAbsencesAdmin: (state, getters) => {
// return state.userPermissions.some(permission => +permission === permissionsArray.ADMIN_ABSENCES || +permission === permissionsArray.ADMIN_PLATFORM);
return state.userPermissions.some(permission => +permission === permissionsArray.ADMIN_ABSENCES);
},
user: (state, getters) => {
return state.user;
},
},
I need admin or userHasPermission enter to next(), but everyone is redictered to next(‘/’).
When condition is only (!admin) or only (!userHasPermission), every works fine. Problem is in double condition with ||.
New contributor
kat.stacevitz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.