"""Garde d'accès aux sprites animaux CraftPix (screens.ADMIN_SPRITE_LIBRARY) — licence CraftPix, réservés au rôle admin (voir le plan "Bibliothèque de sprites animaux CraftPix"). La galerie de l'éditeur (routes/screens/ screen_edit.py, routes/scenes/scene_edit_view.py) ne les propose déjà pas à un compte "user", mais un POST direct vers une route d'écriture (element_add, scene_object_add, element_set_personnage_data, scene_object_personnage_data) pourrait contourner ce filtrage d'UI — ce garde-fou ferme cette brèche au moment de l'écriture.""" from flask import abort, g import screens def forbid_admin_only_character(forge_character: str | None) -> None: if forge_character in screens.ADMIN_ONLY_CHARACTER_SLUGS and g.current_user["role"] != "admin": abort(403) # Même règle que forbid_admin_only_character ci-dessus, pour la # bibliothèque d'images de fond CraftPix (screens.BACKGROUND_LIBRARY, # voir screens/labels/background_library.py) — TOUJOURS admin-only # aujourd'hui (un seul pack, tous sous licence CraftPix), contrairement # aux personnages Forge/Kenney (domaine public, jamais gatés). def forbid_admin_only_background(background_slug: str | None) -> None: if background_slug in screens.ADMIN_ONLY_BACKGROUND_SLUGS and g.current_user["role"] != "admin": abort(403)