From d18375b85be593fab2c175e00e7e8abf15b78f79 Mon Sep 17 00:00:00 2001 From: enlineawork Date: Fri, 11 Sep 2026 10:55:26 -0300 Subject: [PATCH] fix(web): reservar ficha avanzada al administrador --- web-v2/src/pages/InventoryDetailPage.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/web-v2/src/pages/InventoryDetailPage.tsx b/web-v2/src/pages/InventoryDetailPage.tsx index b10356e..fdd288e 100644 --- a/web-v2/src/pages/InventoryDetailPage.tsx +++ b/web-v2/src/pages/InventoryDetailPage.tsx @@ -1,5 +1,7 @@ import { useEffect, useState } from 'react'; import { useParams, useSearchParams } from 'react-router'; +import { useAuth } from '../auth/AuthContext'; +import { hasAdministratorRole } from '../auth/adminAccess'; import { Alert, LoadingBlock, errorMessage } from '../components/Feedback'; import { getAsset } from '../lib/api'; import type { AssetDetail } from '../lib/api'; @@ -10,6 +12,7 @@ import { TerritorialInventoryPage, isTerritorialInventoryAsset } from './Territo export function InventoryDetailPage() { const { id } = useParams(); const [params] = useSearchParams(); + const { user } = useAuth(); const [asset, setAsset] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); @@ -31,8 +34,11 @@ export function InventoryDetailPage() { if (loading) return ; if (!asset) return {error || 'No se pudo cargar el registro.'}; - const advanced = params.get('advanced') === '1'; + const advancedRequested = params.get('advanced') === '1'; + const advancedAllowed = hasAdministratorRole(user); + const advanced = advancedRequested && advancedAllowed; const isCompany = asset.type.code.toLowerCase() === 'empresa'; + if (isCompany && !advanced) { return ; }