Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option sur le profil : masquer l'activité sur le forum / les commentaires... (#6254) #6307

Merged
merged 2 commits into from
May 22, 2022

Conversation

Migwel
Copy link
Contributor

@Migwel Migwel commented May 18, 2022

Ajout d'une option qui permet de masquer l'activité du forum et commentaires de contenu sur le profil.
Ces informations devraient être cachées à tout utilisateur lambda (ou non connecté) mais doivent rester visibles pour les membres du staff et pour l'utilisateur dont c'est le profil.

Fix #6254

Contrôle qualité

Scénario 1:

  • Se connecter en tant qu'utilisateur lambda User1
  • Modifier son profil et cocher la checkbox "Masquer mes activités de forum et commentaires sur mon profil"
  • Se déconnecter
  • Visiter le profil de User1 sans être connecté
  • Vérifier que le contenu relatif au forum et aux commentaires laissé sous les contenus n'est pas affiché

Scénario 2:

  • Se connecter en tant qu'utilisateur lambda User1
  • Modifier son profil et cocher la checkbox "Masquer mes activités de forum et commentaires sur mon profil"
  • Se déconnecter
  • Se connecter en tant que membre du staff
  • Visiter le profil de User1
  • Vérifier que le contenu relatif au forum et aux commentaires laissé sous les contenus est bien affiché

Scénario 3:

  • Se connecter en tant qu'utilisateur lambda User1
  • Modifier son profil et cocher la checkbox "Masquer mes activités de forum et commentaires sur mon profil"
  • Visiter son propre profil
  • Vérifier que le contenu relatif au forum et aux commentaires laissé sous les contenus est bien affiché

Scénario 4:

  • Se connecter en tant qu'utilisateur lambda User1
  • Vérifier dans son profil que la checkbox "Masquer mes activités de forum et commentaires sur mon profil" n'est pas cochée
  • Se déconnecter
  • Visiter le profil de User1 sans être connecté
  • Vérifier que le contenu relatif au forum et aux commentaires laissé sous les contenus est bien affiché

@Arnaud-D Arnaud-D added C-Front Concerne l'interface du site C-Back Concerne le back-end Django labels May 18, 2022
zds/member/forms.py Outdated Show resolved Hide resolved
@Migwel Migwel force-pushed the issue6254 branch 4 times, most recently from 216b6b3 to 34c26ba Compare May 20, 2022 11:33
@coveralls
Copy link

coveralls commented May 20, 2022

Coverage Status

Coverage decreased (-0.006%) to 87.521% when pulling 1a7b0f0 on Migwel:issue6254 into 1e0aae2 on zestedesavoir:dev.

@Migwel Migwel requested a review from Situphen May 20, 2022 11:46
@Arnaud-D Arnaud-D dismissed Situphen’s stale review May 21, 2022 18:44

Pris en compte

@Arnaud-D
Copy link
Contributor

QA NOK ✖️

Quelques soucis identifiés :

  • Le cadre concernant les commentaires sur les contenus n'est pas masqué quand on active le masquage dans le profil.
  • Connecté en tant que simple staff, je n'ai pas vu voir l'activité sur un profil qui masque, alors que je devrais.
  • En tant qu'admin, c'est bon.

Je pense que le problème vient de user.is_staff, qui vérifie que l'utilisateur est staff au sens de Django (en gros, est admin). Au sens de ZdS, être staff, c'est essentiellement être dans le groupe staff, qui a des permissions particulières. On devrait checker soit le groupe, soit la permission. Je pense que la permission c'est mieux. Tu peux choisir la permission à partir de ce qui est utilisé pour l'encart "Administration et modération" (probablement "member.change_profile" du coup).

@Migwel
Copy link
Contributor Author

Migwel commented May 22, 2022

Merci pour la QA (et les suggestions) @Arnaud-D . Je pense que c'est corrigé avec mon dernier commit

Copy link
Contributor

@Arnaud-D Arnaud-D left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA OK ✔️

Dans mes tests, le masquage/non-masquage marche pour le membre lui-même, les non-connectés, les simples membres connectés, les staff et les admins.

Comment on lines +174 to +178
context["hide_forum_activity"] = (
profile.hide_forum_activity
and not self.request.user.has_perm("member.change_profile")
and not profile.user == self.request.user
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est une bonne idée d'avoir fait ça. Nos templates ont tendance à être ou devenir compliqués et faire ce que tu as fait est une bonne technique pour qu'ils restent compréhensibles et maintenables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Back Concerne le back-end Django C-Front Concerne l'interface du site
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Option sur le profil : masquer l'activité sur le forum / les commentaires
4 participants