Cette PR propose d'ajouter des permissions pour que des utilisateurs puissent avoir accès à seulement une partie de l'interface d'administration.
Son fonctionnement (côté utilisateur) est documenté dans le fichier doc/user/permissions.md.
La PR est fonctionnelle en l'état, si l'on veut poursuivre le travail on pourrait :
faire des notifications au admins à chaque fois qu'une modification est effectuée par un non-admin
pouvoir mettre plusieurs offres dans une RowLevelPermission (vraiment pas indispensable)
bouger 'Groupes' depuis 'Authentification et autorisation' vers 'Members' sur la page d'accueil de l'interface d'administration
Cette PR propose d'ajouter des permissions pour que des utilisateurs puissent avoir accès à seulement une partie de l'interface d'administration.
Son fonctionnement (côté utilisateur) est documenté dans le fichier doc/user/permissions.md.
La PR est fonctionnelle en l'état, si l'on veut poursuivre le travail on pourrait :
- faire des notifications au admins à chaque fois qu'une modification est effectuée par un non-admin
- pouvoir mettre plusieurs offres dans une RowLevelPermission (vraiment pas indispensable)
- bouger 'Groupes' depuis 'Authentification et autorisation' vers 'Members' sur la page d'accueil de l'interface d'administration
Il y a une raison particulière pour utiliser un signal plutôt que de simplement surcharger le save() du model ? (oui je sais, c'est comme ça que c'est fait pour le LdapUser mais je ne comprends pas pourquoi).
(si vraiment tu veux garder le signal-receiver, je pense qu'il vaut mieux qu'il soit juste à côté de la classe concernée dans le code).
Pour le has_add_permission
J'ai commité sur ta branche une version que je pense moins fragile de cette vérif ; dis-moi ce que tu en penses.
utiliser slugify pour l'identifiant des permissions fines
utiliser save() plutôt qu'un signal ou au moins déplacer le signal receiver près de la classe concernée dans le fichier
git rebase sur master
Autres notes
Pas dramatique, mais attention à ne pas trop inclure de modifs parasites d'espaces, ça fait du bruit dans le patch, et en pratique là le résultat final c'est des trucs avec des espacements pas très orthodoxe (cf la section dédiée de PEP8).
Si tu veux t'exercer au rebase interactif, c'est l'occase, pour réduire un peu le nombre de commits et clarifier cette PR. Enfin, c'est si ça t'amuse ça :).
Bon courage !
OK, relu et testé, voici mes retours :
## Pour l'auto-génération d'identifiants pour les permissions fines
1. Je pense que tu veux utiliser [slugify](https://docs.djangoproject.com/fr/1.8/ref/utils/#django.utils.text.slugify).
2. Il y a une raison particulière pour utiliser un signal plutôt que de simplement surcharger le `save()` du model ? (oui je sais, c'est comme ça que c'est fait pour le `LdapUser` mais je ne comprends pas pourquoi).
(si vraiment tu veux garder le signal-receiver, je pense qu'il vaut mieux qu'il soit juste à côté de la classe concernée dans le code).
## Pour le `has_add_permission`
J'ai commité sur ta branche une version que je pense moins fragile de cette vérif ; dis-moi ce que tu en penses.
## TODO
- [x] récupérer et relire mon commit
- [x] Factoriser le return du [formfield_for_foreignkey()](https://code.ffdn.org/FFDN/coin/pulls/136/files#diff-e8e1586167f5520da52fc65704d298881b57cb2R61)
- [x] utiliser `slugify` pour l'identifiant des permissions fines
- [x] utiliser `save()` plutôt qu'un signal ou au moins déplacer le signal receiver près de la classe concernée dans le fichier
- [x] git rebase sur master
## Autres notes
Pas dramatique, mais attention à ne pas trop inclure de modifs parasites d'espaces, ça fait du bruit dans le patch, et en pratique là le résultat final c'est des trucs avec des espacements pas très orthodoxe (cf [la section dédiée de PEP8](https://www.python.org/dev/peps/pep-0008/#blank-lines)).
Si tu veux t'exercer au rebase interactif, c'est l'occase, pour réduire un peu le nombre de commits et clarifier cette PR. Enfin, c'est si ça t'amuse ça :).
Bon courage !
Cette PR propose d'ajouter des permissions pour que des utilisateurs puissent avoir accès à seulement une partie de l'interface d'administration. Son fonctionnement (côté utilisateur) est documenté dans le fichier doc/user/permissions.md.
La PR est fonctionnelle en l'état, si l'on veut poursuivre le travail on pourrait :
\o/
Pourrais-tu rebase ta PR sur master (comme ça c'est toi qui gère les conflits héhé ^^).
Je me lance dans une ultime relecture/test.
OK, relu et testé, voici mes retours :
Pour l'auto-génération d'identifiants pour les permissions fines
save()
du model ? (oui je sais, c'est comme ça que c'est fait pour leLdapUser
mais je ne comprends pas pourquoi).(si vraiment tu veux garder le signal-receiver, je pense qu'il vaut mieux qu'il soit juste à côté de la classe concernée dans le code).
Pour le
has_add_permission
J'ai commité sur ta branche une version que je pense moins fragile de cette vérif ; dis-moi ce que tu en penses.
TODO
slugify
pour l'identifiant des permissions finessave()
plutôt qu'un signal ou au moins déplacer le signal receiver près de la classe concernée dans le fichierAutres notes
Pas dramatique, mais attention à ne pas trop inclure de modifs parasites d'espaces, ça fait du bruit dans le patch, et en pratique là le résultat final c'est des trucs avec des espacements pas très orthodoxe (cf la section dédiée de PEP8).
Si tu veux t'exercer au rebase interactif, c'est l'occase, pour réduire un peu le nombre de commits et clarifier cette PR. Enfin, c'est si ça t'amuse ça :).
Bon courage !