Skip to content

Problème sur la permission desk_creer qui créé une migration a l'installation pour rien.#64

Open
lvillanne-recia wants to merge 3 commits intoNoethys:mainfrom
GIP-RECIA:PR_migration2
Open

Problème sur la permission desk_creer qui créé une migration a l'installation pour rien.#64
lvillanne-recia wants to merge 3 commits intoNoethys:mainfrom
GIP-RECIA:PR_migration2

Conversation

@lvillanne-recia
Copy link
Copy Markdown
Contributor

Bonjour,

Lors de la procédure d'installation, au moment de faire le python3 manage.py makemigrations django génére deux requêtes de migration, une sur le modèle unite (#63) et une autre relative aux permissions.

Cette PR a pour but de supprimer une fois pour toute cette requête de migration sur la permission desk_creer car cette requête vient du fait qu'il est nécessaire de posséder une variable de conf qui par défaut n'est pas présente.

Voici le détail du problème :

Il y'a une série de 3 commits qui ont mit en place le menu "desk_creer".

Le 17/01/2025 88f458ee19039fc95a5eb8b4afc9489681c8facc : Ce commit vient ajouter le menu desk_creer dans noethysweb/core/views/menu.py

    menu_sauvegarde.Add(code="desk_creer", titre="Récupérer les données", icone="file-text-o", compatible_demo=False, superutilisateur_only=True, masquer=not settings.SECRET_EXPORT_DESK)

On voit que l'affichage de ce menu est conditionné à la présence de la variable de settings SECRET_EXPORT_DESK.

Le 19/01/2025 eac5a64891339f377fece0ce67221f676017bf98 : Ce commit vient ajouter la migration qui contient la permission desk_creer, pourtant dans ces conditions la permission ne devrait pas être disponible car la variable SECRET_EXPORT_DESK n'existe pas.

Le 19/01/2025 67b975d5d4a1c3b6dadc1387fd1073c4ab81c15b : Ce commit vient ajouter dans settings.py la variable SECRET_EXPORT_DESK en l'affectant à none, donc avec cette valeur la permission desk_creer ne peux toujours pas être créé.

Après cette analyse, j'en conclus que pour avoir été généré dans la requête de migration la permission desk_creer, il fallait que la variable SECRET_EXPORT_DESK existe et soit affectée a une valeur différente de none.
Donc au moment de la génération de la requête de migration 182, et lors des makemigrations suivants, il devait y avoir, et il doit toujours y avoir, une variable SECRET_EXPORT_DESK dans votre fichier settings_production.py affecté a une valeur autre que none.
Cette variable n'étant pas listé dans le settings_production_modele.py nous ne l'avons pas dans notre cas dans notre fichier settings_production.py et c'est ce qui explique que nous avons cette requête de migration qui enlève la permission desk_creer.

J'imagine qu'il est normal de cacher le menu mais que la suppression de la permission qui va avec est un accident.

J'ai donc créé cette PR pour corriger ce problème en forçant l'apparition du menu dans le cas de la génération des permissions.

J'ai aussi ajouté une série de tests permettant de mettre en évidence le problème et que la PR le corrige.
Pour lancer la série de test :

python3 manage.py test core.test_desk_creer_bug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant