feat: agregar control de permisos para la sección de devoluciones en la navegación y en el módulo de devoluciones

This commit is contained in:
Juan Felipe Zapata Moreno 2026-03-10 11:20:34 -06:00
parent a743ea73e7
commit 18755271d3
3 changed files with 19 additions and 1 deletions

View File

@ -78,7 +78,7 @@ onMounted(() => {
to="pos.suppliers.index" to="pos.suppliers.index"
/> />
<SubLink <SubLink
v-if="hasPermission('units')" v-if="hasPermission('units.index')"
icon="scale" icon="scale"
name="pos.unitMeasure" name="pos.unitMeasure"
to="pos.unitMeasure.index" to="pos.unitMeasure.index"
@ -101,6 +101,7 @@ onMounted(() => {
to="pos.sales.index" to="pos.sales.index"
/> />
<Link <Link
v-if="hasPermission('returns.index')"
icon="Sync" icon="Sync"
name="pos.returns" name="pos.returns"
to="pos.returns.index" to="pos.returns.index"

View File

@ -0,0 +1,16 @@
import { hasPermission } from '@Plugins/RolePermission.js';
// Ruta API
const apiTo = (name, params = {}) => route(`returns.${name}`, params)
// Ruta visual
const viewTo = ({ name = '', params = {}, query = {} }) => ({ name: `pos.returns.${name}`, params, query })
// Determina si un usuario puede hacer algo en base a los permisos
const can = (permission) => hasPermission(`returns.${permission}`)
export {
can,
viewTo,
apiTo
}

View File

@ -92,6 +92,7 @@ const router = createRouter({
{ {
path: 'returns', path: 'returns',
name: 'pos.returns.index', name: 'pos.returns.index',
beforeEnter: (to, from, next) => can(next, 'returns.index'),
component: () => import('@Pages/POS/Returns/Index.vue') component: () => import('@Pages/POS/Returns/Index.vue')
}, },
{ {