WIP: Les permissions du CMS peuvent être attribuées aux groupes K-Fêt (depuis le site K-Fêt) + quelques améliorations #565

Draft
delobell wants to merge 17 commits from aureplop/kfet-auth_cms into aureplop/kfet-auth
delobell commented 2017-10-16 13:49:24 +02:00 (Migrated from git.eleves.ens.fr)

Ajout/modifs

  • Les permissions inutilisées sont supprimées et ne polluent donc plus le formulaire.

Les permissions créées lors d'un précédant appel à migrate sont supprimées dans des migrations des apps kfet et kfetauth.
Quelques renommages (name de kfet.is_team et codename de kfet.view_negs) ont lieu (dans une migration kfet).
La permission kfet.manage_perms est supprimée en faveur des permissions kfetauth.(view|add|change)_group. Les groupes possédant l'ancienne permission obtiennent les 3 nouvelles (via une migration kfetauth).

  • Les permissions apparaissent groupées par content_type avec le champ de formulaire BasePermissionsField.

  • Il est possible d'étendre ce qu'affiche/gère ce formulaire en définissant des "extras" (voir kfet/cms/views.py pour un exemple).

  • Les permissions du CMS peuvent dorénavant être attribuées depuis ce formulaire.

Cela comprend les permissions relatives aux pages, images, documents et à l'accès au site d'admin de Wagtail.
Seules les permissions des pages /k-fet/ et de ses descendantes ainsi que celles concernant la collection K-Fêt et ses descendantes peuvent être données.
Pour ce faire, les formsets/forms adéquats de Wagtail sont customisés (via les fonctions définies dans kfet/cms/forms.py).

Misc

  • "Décalage" de la class form-horizontal dans le template kfet/base_form.html vers les templates "fils". Cela posait problème au form-inline présents dans la balise <form>.
  • kfet/form_submit_snippet.html est doté d'une valeur par défaut ("Enregistrer") si value n'est pas accessible depuis le template.
  • Ajout d'une dépendance : fork de georgema1982 de django-formset-js (par tim_heap). Cette dépendance facilite la manipulation des formsets. Le fork permet de restaurer un formulaire marqué comme supprimé.
  • Pour la review, il peut être plus pratique de review commit par commit.
  • Fixes #168.
## Ajout/modifs - Les permissions inutilisées sont supprimées et ne polluent donc plus le formulaire. Les permissions créées lors d'un précédant appel à `migrate` sont supprimées dans des migrations des apps `kfet` et `kfetauth`. Quelques renommages (`name` de `kfet.is_team` et `codename` de `kfet.view_negs`) ont lieu (dans une migration `kfet`). La permission `kfet.manage_perms` est supprimée en faveur des permissions `kfetauth.(view|add|change)_group`. Les groupes possédant l'ancienne permission obtiennent les 3 nouvelles (via une migration `kfetauth`). - Les permissions apparaissent groupées par `content_type` avec le champ de formulaire `BasePermissionsField`. - Il est possible d'étendre ce qu'affiche/gère ce formulaire en définissant des "extras" (voir `kfet/cms/views.py` pour un exemple). - Les permissions du CMS peuvent dorénavant être attribuées depuis ce formulaire. Cela comprend les permissions relatives aux pages, images, documents et à l'accès au site d'admin de Wagtail. Seules les permissions des pages `/k-fet/` et de ses descendantes ainsi que celles concernant la collection K-Fêt et ses descendantes peuvent être données. Pour ce faire, les formsets/forms adéquats de Wagtail sont customisés (via les fonctions définies dans `kfet/cms/forms.py`). ## Misc - "Décalage" de la class `form-horizontal` dans le template `kfet/base_form.html` vers les templates "fils". Cela posait problème au `form-inline` présents dans la balise `<form>`. - `kfet/form_submit_snippet.html` est doté d'une valeur par défaut ("Enregistrer") si `value` n'est pas accessible depuis le template. - Ajout d'une dépendance : [fork de georgema1982](https://bitbucket.org/georgema1982/django-formset-js) de [django-formset-js (par tim_heap)](https://bitbucket.org/tim_heap/django-formset-js). Cette dépendance facilite la manipulation des formsets. Le fork permet de restaurer un formulaire marqué comme supprimé. - Pour la review, il peut être plus pratique de review commit par commit. - Fixes #168.
delobell commented 2017-10-17 16:51:30 +02:00 (Migrated from git.eleves.ens.fr)

added 5 commits

  • 5502c687 - Clean permissions objects
  • 82582866 - Clean forms/views/urls related to kfetauth.Group…
  • 07f1a535 - CMS permissions can be managed from group views.
  • 2c76bea1 - Better display of objects of BasePermissionsField
  • 097ee441 - Organize migrations to avoid issues with…

Compare with previous version

added 5 commits * 5502c687 - Clean permissions objects * 82582866 - Clean forms&#x2F;views&#x2F;urls related to kfetauth.Group… * 07f1a535 - CMS permissions can be managed from group views. * 2c76bea1 - Better display of objects of BasePermissionsField * 097ee441 - Organize migrations to avoid issues with… [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=677&start_sha=048b889b68d6b347d5cea1b01689478ff4a4534d)
delobell commented 2017-10-17 16:52:20 +02:00 (Migrated from git.eleves.ens.fr)

Modifications effectuées

  • Wrap des non_form_errors des formsets des permissions (pages, docs, images) par <span class="help-block">.
  • Correction de bug: les champs permissions de GroupForm et SnippetsCmsGroupForm ayant le même nom, cela donnait un problème de validation. La correction consiste à ajouter des prefix aux forms. Ceci est fait dans la définition des extras plutôt que sur les forms eux-mêmes car seulement Django >= 1.9 autorise de donner l'attribut prefix directement à une classe de formulaire 😞
  • Correction de bug: le template kfet/account.html vérifie les bons labels de permissions.
  • Réorganisation des migrations pour éviter des problèmes si les migrations de master ont déjà été appliquées.
## Modifications effectuées - Wrap des `non_form_errors` des formsets des permissions (pages, docs, images) par `<span class="help-block">`. - Correction de bug: les champs `permissions` de `GroupForm` et `SnippetsCmsGroupForm` ayant le même nom, cela donnait un problème de validation. La correction consiste à ajouter des `prefix` aux forms. Ceci est fait dans la définition des extras plutôt que sur les forms eux-mêmes car seulement Django >= 1.9 autorise de donner l'attribut `prefix` directement à une classe de formulaire :disappointed: - Correction de bug: le template `kfet/account.html` vérifie les bons labels de permissions. - Réorganisation des migrations pour éviter des problèmes si les migrations de `master` ont déjà été appliquées.
delobell commented 2017-10-17 17:00:31 +02:00 (Migrated from git.eleves.ens.fr)

La réorganisation permet de tester plus facilement l'application des migrations à partir de master:

$ rm db.sqlite3
$ git co master
$ bash provisioning/prepare_django.sh
# Modification possible ici des groupes créés depuis les données de développement (via shell, runserver…)
$ git co aureplop/kfet-auth_cms
$ python manage.py migrate

Les modifications observables sont:

  • le renommage de Is member of the team en Membre de l'équipe,
  • la suppression des permissions non utilisées,
  • les objets qui avaient la permission view_negs "Voir ~(les négatifs K-Fêt)" ont la permission kfetauth.view_accountnegative (simple renommage du codename).
  • les groupes qui avaient la permission manage_perms "Gérer les permissions K-Fêt" obtiennent les permissions kfetauth.{view,add,change}_group.
La réorganisation permet de tester plus facilement l'application des migrations à partir de master: ```bash $ rm db.sqlite3 $ git co master $ bash provisioning/prepare_django.sh # Modification possible ici des groupes créés depuis les données de développement (via shell, runserver…) $ git co aureplop/kfet-auth_cms $ python manage.py migrate ``` Les modifications observables sont: - le renommage de `Is member of the team` en `Membre de l'équipe`, - la suppression des permissions non utilisées, - les objets qui avaient la permission `view_negs "Voir ~(les négatifs K-Fêt)"` ont la permission `kfetauth.view_accountnegative` (simple renommage du `codename`). - les groupes qui avaient la permission `manage_perms "Gérer les permissions K-Fêt"` obtiennent les permissions `kfetauth.{view,add,change}_group`.
delobell commented 2017-10-24 19:50:23 +02:00 (Migrated from git.eleves.ens.fr)

added 51 commits

  • 097ee441...09290131 - 47 commits from branch aureplop/kfet-auth
  • c524da22 - Merge branch 'aureplop/kfet-auth' into aureplop/kfet-auth_cms
  • aa405d21 - Fix tests…
  • 03a0c588 - Merge branch 'aureplop/kfet-auth' into aureplop/kfet-auth_cms
  • e39f8899 - Fix migration history

Compare with previous version

added 51 commits * 097ee441...09290131 - 47 commits from branch `aureplop/kfet-auth` * c524da22 - Merge branch &#x27;aureplop&#x2F;kfet-auth&#x27; into aureplop&#x2F;kfet-auth_cms * aa405d21 - Fix tests… * 03a0c588 - Merge branch &#x27;aureplop&#x2F;kfet-auth&#x27; into aureplop&#x2F;kfet-auth_cms * e39f8899 - Fix migration history [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=686&start_sha=097ee44131f5a511b6aea2b3bc578c700a2f9588)
delobell commented 2017-10-24 19:50:25 +02:00 (Migrated from git.eleves.ens.fr)

marked as a Work In Progress

marked as a **Work In Progress**
delobell commented 2017-10-24 19:50:25 +02:00 (Migrated from git.eleves.ens.fr)

changed the description

changed the description
delobell commented 2017-10-24 19:51:16 +02:00 (Migrated from git.eleves.ens.fr)

WIP, TODO: fix et ajout de tests

WIP, TODO: fix et ajout de tests
delobell commented 2017-10-25 13:56:39 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 94f21c06 - SnippetCmsGroupForm should not clean previous permissions

Compare with previous version

added 1 commit * 94f21c06 - SnippetCmsGroupForm should not clean previous permissions [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=687&start_sha=e39f88991ec369f20031332a542d718d87f35f34)
delobell commented 2017-10-25 20:30:48 +02:00 (Migrated from git.eleves.ens.fr)

added 6 commits

  • 94f21c06...13f01020 - 3 commits from branch aureplop/kfet-auth
  • 94ab754f - Move group-related views tests to kfetauth tests
  • c5af9bdc - Fix SnippetsCmsForm
  • e7060ea8 - Merge branch 'aureplop/kfet-auth' into aureplop/kfet-auth_cms

Compare with previous version

added 6 commits * 94f21c06...13f01020 - 3 commits from branch `aureplop/kfet-auth` * 94ab754f - Move group-related views tests to kfetauth tests * c5af9bdc - Fix SnippetsCmsForm * e7060ea8 - Merge branch &#x27;aureplop&#x2F;kfet-auth&#x27; into aureplop&#x2F;kfet-auth_cms [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=691&start_sha=94f21c062a5ec1f602109f448ee3385df07fa7b6)
delobell commented 2017-10-25 20:48:24 +02:00 (Migrated from git.eleves.ens.fr)

added 3 commits

  • a0895962 - Fix SnippetsCmsForm
  • 63a79d2b - Fix tests, force reevaluate field queryset
  • 6ec7a615 - typos

Compare with previous version

added 3 commits * a0895962 - Fix SnippetsCmsForm * 63a79d2b - Fix tests, force reevaluate field queryset * 6ec7a615 - typos [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=692&start_sha=e7060ea8a4a1ce5eb2e2e32bdb72c1bae7c0d82f)
delobell commented 2017-10-25 20:57:38 +02:00 (Migrated from git.eleves.ens.fr)

added 3 commits

Compare with previous version

added 3 commits * a7dbc64e - Fix SnippetsCmsForm * 6d90311a - Fix tests, force reevaluate field queryset * 02f1e834 - typos [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/261/diffs?diff_id=693&start_sha=6ec7a615309a7cd80823579e0ec5eb2cd243314c)
delobell commented 2018-09-30 15:03:47 +02:00 (Migrated from git.eleves.ens.fr)

@mpepin Si on a du temps après !274, on essaie de se la faire ?

@mpepin Si on a du temps après !274, on essaie de se la faire ?
lstephan commented 2019-01-14 21:13:32 +01:00 (Migrated from git.eleves.ens.fr)

C'est toujours un WIP ? C'est possible (pour avoir plus de tests) de merge master dessus ?

C'est toujours un WIP ? C'est possible (pour avoir plus de tests) de merge `master` dessus ?
delobell commented 2019-01-14 22:06:06 +01:00 (Migrated from git.eleves.ens.fr)

J'sais pas si c'est en WIP. Je me demande pourquoi la MR target aureplop/kfet-auth. Je vois plus ce qui a sur cette branche…
Jusqu'ici tout va bien, ça sera la surprise.

master incoming

J'sais pas si c'est en WIP. Je me demande pourquoi la MR target aureplop/kfet-auth. Je vois plus ce qui a sur cette branche… Jusqu'ici tout va bien, ça sera la surprise. master incoming
delobell commented 2019-01-14 22:08:09 +01:00 (Migrated from git.eleves.ens.fr)

added 4 commits

  • 02f1e834...13f01020 - 3 commits from branch aureplop/kfet-auth
  • e3e86085 - Merge branch 'aureplop/kfet-auth' into aureplop/kfet-auth_cms

Compare with previous version

added 4 commits <ul><li>02f1e834...13f01020 - 3 commits from branch <code>aureplop/kfet-auth</code></li><li>e3e86085 - Merge branch &#39;aureplop/kfet-auth&#39; into aureplop/kfet-auth_cms</li></ul> [Compare with previous version](https://git.eleves.ens.fr/klub-dev-ens/gestioCOF/merge_requests/261/diffs?diff_id=1082&start_sha=02f1e834208aba80ce126deade0c5937f5d1e813)
delobell commented 2019-01-14 22:13:16 +01:00 (Migrated from git.eleves.ens.fr)

mentioned in merge request !345

mentioned in merge request !345
This pull request has changes conflicting with the target branch.
  • cof/settings/common.py
  • kfet/apps.py
  • kfet/auth/fields.py
  • kfet/auth/forms.py
  • kfet/auth/migrations/0001_initial.py
  • kfet/auth/migrations/0003_existing_groups.py
  • kfet/auth/tests.py
  • kfet/auth/views.py
  • kfet/cms/management/commands/kfet_loadwagtail.py
  • kfet/config.py
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin aureplop/kfet-auth_cms:aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth_cms

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout aureplop/kfet-auth
git merge --no-ff aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth_cms
git rebase aureplop/kfet-auth
git checkout aureplop/kfet-auth
git merge --ff-only aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth_cms
git rebase aureplop/kfet-auth
git checkout aureplop/kfet-auth
git merge --no-ff aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth
git merge --squash aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth
git merge --ff-only aureplop/kfet-auth_cms
git checkout aureplop/kfet-auth
git merge aureplop/kfet-auth_cms
git push origin aureplop/kfet-auth
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/gestioCOF#565
No description provided.