validations of role store
This commit is contained in:
@@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
const auth = useAuthStore();
|
const auth = useAuthStore();
|
||||||
const noty = useNotificationsStore();
|
const noty = useNotificationsStore();
|
||||||
|
const permission = auth.user.permissions;
|
||||||
|
const jobRole = auth.user.job_role;
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
@@ -31,6 +33,8 @@
|
|||||||
}
|
}
|
||||||
noty.notifications = resp.data;
|
noty.notifications = resp.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const roleCheck = 'store';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -41,19 +45,19 @@
|
|||||||
</button>
|
</button>
|
||||||
<div class="nav-options">
|
<div class="nav-options">
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-if="auth.user?.permissions === 'role_shipper'"
|
v-if="permission === 'role_shipper' && jobRole !== roleCheck"
|
||||||
active-class="router-link-active"
|
active-class="router-link-active"
|
||||||
class="nav-link" :to="{name: 'search-vehicles'}"> <i class="fa-solid fa-truck-ramp-box me-1"></i> <span class="clear-xsm">{{ t('global.vehicles') }}</span></RouterLink>
|
class="nav-link" :to="{name: 'search-vehicles'}"> <i class="fa-solid fa-truck-ramp-box me-1"></i> <span class="clear-xsm">{{ t('global.vehicles') }}</span></RouterLink>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-if="auth.user?.permissions === 'role_shipper'"
|
v-if="permission === 'role_shipper' && jobRole !== roleCheck"
|
||||||
active-class="router-link-active"
|
active-class="router-link-active"
|
||||||
class="nav-link" :to="{name: 'carriers'}"><i class="fa-solid fa-truck me-1"></i> <span class="clear-xsm">{{ t('global.carriers') }}</span></RouterLink>
|
class="nav-link" :to="{name: 'carriers'}"><i class="fa-solid fa-truck me-1"></i> <span class="clear-xsm">{{ t('global.carriers') }}</span></RouterLink>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-if="auth.user?.permissions === 'role_carrier'"
|
v-if="permission === 'role_carrier' && jobRole !== roleCheck"
|
||||||
active-class="router-link-active"
|
active-class="router-link-active"
|
||||||
class="nav-link" :to="{name: 'search-loads'}"> <i class="fa-solid fa-truck-ramp-box me-1"></i> <span class="clear-xsm">{{ t('global.loads') }}</span></RouterLink>
|
class="nav-link" :to="{name: 'search-loads'}"> <i class="fa-solid fa-truck-ramp-box me-1"></i> <span class="clear-xsm">{{ t('global.loads') }}</span></RouterLink>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-if="auth.user?.permissions === 'role_carrier'"
|
v-if="permission === 'role_carrier' && jobRole !== roleCheck"
|
||||||
active-class="router-link-active"
|
active-class="router-link-active"
|
||||||
class="nav-link" :to="{name: 'shippers'}"><i class="fa-solid fa-book me-1"></i> <span class="clear-xsm">{{ t('global.shippers') }}</span></RouterLink>
|
class="nav-link" :to="{name: 'shippers'}"><i class="fa-solid fa-book me-1"></i> <span class="clear-xsm">{{ t('global.shippers') }}</span></RouterLink>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
const loads = useLoadsStore();
|
const loads = useLoadsStore();
|
||||||
const noty = useNotificationsStore();
|
const noty = useNotificationsStore();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const permission = auth.user?.permissions;
|
||||||
|
const jobRole = auth.user?.job_role;
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
|
|
||||||
const handleLogout = () => {
|
const handleLogout = () => {
|
||||||
@@ -37,6 +39,10 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const roleCheck = 'store';
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -52,7 +58,9 @@
|
|||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-unstyled components">
|
<ul class="list-unstyled components">
|
||||||
<li :class="[route.name === 'home' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'home' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-gauge-high" :class="[route.name === 'home' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-gauge-high" :class="[route.name === 'home' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -60,7 +68,9 @@
|
|||||||
class="nav-link" :to="{name: 'home'}">Dashboard</RouterLink>
|
class="nav-link" :to="{name: 'home'}">Dashboard</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li :class="[route.name === 'company' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'company' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-regular fa-building" :class="[route.name === 'company' ? 'router-link-active' : '']"></i>
|
<i class="fa-regular fa-building" :class="[route.name === 'company' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -68,7 +78,9 @@
|
|||||||
class="nav-link" :to="{name: 'company'}">{{ t('global.company') }}</RouterLink>
|
class="nav-link" :to="{name: 'company'}">{{ t('global.company') }}</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li :class="[route.name === 'users' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'users' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-regular fa-user" :class="[route.name === 'users' ? 'router-link-active' : '']"></i>
|
<i class="fa-regular fa-user" :class="[route.name === 'users' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -76,7 +88,9 @@
|
|||||||
class="nav-link" :to="{name: 'users'}">{{ t('global.users') }}</RouterLink>
|
class="nav-link" :to="{name: 'users'}">{{ t('global.users') }}</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li :class="[route.name === 'locations' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'locations' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-location-dot" :class="[route.name === 'locations' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-location-dot" :class="[route.name === 'locations' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -85,7 +99,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
v-if="auth.user?.permissions === 'role_carrier'"
|
v-if="permission === 'role_carrier' && jobRole !== roleCheck"
|
||||||
:class="[route.name === 'vehicles' ? 'bg-nav-active' : '']">
|
:class="[route.name === 'vehicles' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-truck-fast" :class="[route.name === 'vehicles' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-truck-fast" :class="[route.name === 'vehicles' ? 'router-link-active' : '']"></i>
|
||||||
@@ -94,7 +108,9 @@
|
|||||||
class="nav-link" :to="{name: 'vehicles'}">{{t('global.vehicles')}}</RouterLink>
|
class="nav-link" :to="{name: 'vehicles'}">{{t('global.vehicles')}}</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="auth.user?.permissions === 'role_shipper'" :class="[route.name === 'published-loads' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="permission === 'role_shipper' && jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'published-loads' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-bullhorn" :class="[route.name === 'published-loads' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-bullhorn" :class="[route.name === 'published-loads' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -102,7 +118,9 @@
|
|||||||
class="nav-link" :to="{name: 'published-loads'}">{{t('global.publications')}}</RouterLink>
|
class="nav-link" :to="{name: 'published-loads'}">{{t('global.publications')}}</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="auth.user?.permissions === 'role_carrier'" :class="[route.name === 'published-trucks' ? 'bg-nav-active' : '']">
|
<li
|
||||||
|
v-if="permission === 'role_carrier' && jobRole !== roleCheck"
|
||||||
|
:class="[route.name === 'published-trucks' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-bullhorn" :class="[route.name === 'published-trucks' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-bullhorn" :class="[route.name === 'published-trucks' ? 'router-link-active' : '']"></i>
|
||||||
<RouterLink
|
<RouterLink
|
||||||
@@ -119,7 +137,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
v-if="auth.user?.permissions === 'role_carrier'"
|
v-if="permission === 'role_carrier' && jobRole !== roleCheck"
|
||||||
:class="[route.name === 'calculator' ? 'bg-nav-active' : '']">
|
:class="[route.name === 'calculator' ? 'bg-nav-active' : '']">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa-solid fa-calculator" :class="[route.name === 'calculator' ? 'router-link-active' : '']"></i>
|
<i class="fa-solid fa-calculator" :class="[route.name === 'calculator' ? 'router-link-active' : '']"></i>
|
||||||
|
|||||||
@@ -3,22 +3,24 @@
|
|||||||
import {eventStatusLoad} from '../helpers/status';
|
import {eventStatusLoad} from '../helpers/status';
|
||||||
import {getDateTime, formatOnlyDate} from '../helpers/date_formats';
|
import {getDateTime, formatOnlyDate} from '../helpers/date_formats';
|
||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { useRouter } from 'vue-router';
|
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import useCalendar from '../composables/useCalendar';
|
import useCalendar from '../composables/useCalendar';
|
||||||
import CustomPopup from '../components/CustomPopup.vue';
|
import CustomPopup from '../components/CustomPopup.vue';
|
||||||
import { watch } from 'vue';
|
import { watch } from 'vue';
|
||||||
|
import { useAuthStore } from '../stores/auth';
|
||||||
|
|
||||||
const events = ref([]);
|
const events = ref([]);
|
||||||
const router = useRouter();
|
|
||||||
|
|
||||||
const { t, locale } = useI18n()
|
const { t, locale } = useI18n()
|
||||||
|
const auth = useAuthStore();
|
||||||
const { getCalendarDate, loading, loads } = useCalendar()
|
const { getCalendarDate, loading, loads } = useCalendar()
|
||||||
const filter = ref({value: 'my', label: t('calendar.my')})
|
const filter = ref({value: 'my', label: t('calendar.my')})
|
||||||
const startDate = ref('');
|
const startDate = ref('');
|
||||||
const endDate = ref('');
|
const endDate = ref('');
|
||||||
const optionsFilter = ref([])
|
const optionsFilter = ref([])
|
||||||
const openPopup = ref(false);
|
const openPopup = ref(false);
|
||||||
|
const jobRole = auth.user.job_role;
|
||||||
|
const roleCheck = 'store';
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
week: {
|
week: {
|
||||||
@@ -166,11 +168,12 @@
|
|||||||
<div class="indicators">
|
<div class="indicators">
|
||||||
<span><i class="fa-solid fa-circle" style="color: #A9B0B2"></i> {{ t('global.published') }}</span>
|
<span><i class="fa-solid fa-circle" style="color: #A9B0B2"></i> {{ t('global.published') }}</span>
|
||||||
<span><i class="fa-solid fa-circle" style="color: #F44336"></i> {{ t('global.loading') }}</span>
|
<span><i class="fa-solid fa-circle" style="color: #F44336"></i> {{ t('global.loading') }}</span>
|
||||||
<span><i class="fa-solid fa-circle" style="color: #ffd22b"></i> {{ t('global.transit') }}</span>
|
<span v-if="jobRole !== roleCheck"><i class="fa-solid fa-circle" style="color: #ffd22b"></i> {{ t('global.transit') }}</span>
|
||||||
<span><i class="fa-solid fa-circle" style="color: #428502"></i> {{ t('global.downloading') }}</span>
|
<span v-if="jobRole !== roleCheck"><i class="fa-solid fa-circle" style="color: #428502"></i> {{ t('global.downloading') }}</span>
|
||||||
<span><i class="fa-solid fa-circle" style="color: #1B70AF"></i> {{ t('global.delivered') }}</span>
|
<span v-if="jobRole !== roleCheck"><i class="fa-solid fa-circle" style="color: #1B70AF"></i> {{ t('global.delivered') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-filter"
|
<div class="box-filter"
|
||||||
|
v-if="jobRole !== roleCheck"
|
||||||
@click="openPopup = true"
|
@click="openPopup = true"
|
||||||
>
|
>
|
||||||
<span class="clear-sm" v-if="filter === null">{{ t('directory.directory') }}</span>
|
<span class="clear-sm" v-if="filter === null">{{ t('directory.directory') }}</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user