fix(measurements): export CSV ammette admin senza ruolo esplicito (#36 punto 3)
Il controllo ruolo di GET /api/measurements/export/csv ignorava is_admin: un admin senza MeasurementTec/Metrologist assegnato prendeva 403, a differenza di ogni altro endpoint che passa da require_role (ruolo o admin). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -274,8 +274,11 @@ async def export_measurements_csv(
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""Export measurements to CSV with configurable delimiter and decimal separator."""
|
||||
# Check user has MeasurementTec or Metrologist role
|
||||
if not (user.has_role("MeasurementTec") or user.has_role("Metrologist")):
|
||||
# Check user has MeasurementTec or Metrologist role, same as require_role: an
|
||||
# admin with no explicit role assigned is still let through (#36 point 3).
|
||||
if not (
|
||||
user.has_role("MeasurementTec") or user.has_role("Metrologist") or user.is_admin
|
||||
):
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
detail="MeasurementTec or Metrologist role required",
|
||||
|
||||
Reference in New Issue
Block a user