| 1234567891011121314151617181920212223 |
- from __future__ import annotations
- from sqlalchemy.orm import Session
- from app.core.menu_guard import SUPER_ADMIN_ROLE, get_user_menu_codes
- PLAN_CERT_UPLOAD_PERM = "pl:plan-cert:upload"
- PLAN_CERT_READY_PERM = "pl:plan-cert:ready"
- def user_has_menu_perm(db: Session, user, perm: str) -> bool:
- if getattr(user, "role", None) == SUPER_ADMIN_ROLE:
- return True
- codes = get_user_menu_codes(db, user.id)
- return perm in codes
- def user_can_upload_plan_cert(db: Session, user) -> bool:
- return user_has_menu_perm(db, user, PLAN_CERT_UPLOAD_PERM)
- def user_can_manage_plan_cert_ready(db: Session, user) -> bool:
- return user_has_menu_perm(db, user, PLAN_CERT_READY_PERM)
|