#10 Ajouter le bordel avec les titres, trophées, etc.

Chiuso
aperto 5 mesi fa da Darks · 14 commenti
Darks 5 mesi fa ha commentato

Ajouter ça dans la classe Member. Éventuellement créer d’autres classes pour gérer ça facilement, typiquement avec une méthode unlock overidée pour chaque trophée, qui vérifie si l’utilisateur a débloqué le trophée/titre.

Ajouter ça dans la classe `Member`. Éventuellement créer d'autres classes pour gérer ça facilement, typiquement avec une méthode `unlock` overidée pour chaque trophée, qui vérifie si l'utilisateur a débloqué le trophée/titre.
Lephenixnoir 5 mesi fa ha commentato
Proprietario

Après réflexion, on aurait juste une classe Trophy et une relation pour savoir qui a débloqué quoi.

Ensuite, on aurait une fonction update_trophies(*args) qui testerait les trophées pour savoir si de nouveaux ont été obtenus. On l’appelle à chaque fois qu’un trophée peut être débloqué, avec éventuellement une liste d’actions indiquant le type de trophées concernés pour limiter le nombre de tests. Typiquement :

current_user.update_trophies("new-post")
Après réflexion, on aurait juste une classe `Trophy` et une relation pour savoir qui a débloqué quoi. Ensuite, on aurait une fonction `update_trophies(*args)` qui testerait les trophées pour savoir si de nouveaux ont été obtenus. On l'appelle à chaque fois qu'un trophée peut être débloqué, avec éventuellement une liste d'actions indiquant le type de trophées concernés pour limiter le nombre de tests. Typiquement : ```python current_user.update_trophies("new-post") ```
Darks 5 mesi fa ha commentato
Proprietario

Je suis dessus, par contre je me rends compte que c’est pas spécialement une bonne idée de séparer les titres des trophées. Je pense qu’on peut juste mettre un flag is_title dans la classe Trophy, ça fera bien l’affaire (et ça simplifiera grandement le code).

Je suis dessus, par contre je me rends compte que c'est pas spécialement une bonne idée de séparer les titres des trophées. Je pense qu'on peut juste mettre un flag `is_title` dans la classe `Trophy`, ça fera bien l'affaire (et ça simplifiera grandement le code).
Lephenixnoir 5 mesi fa ha commentato
Proprietario

À ce point-là ? Et comment tu gères le CSS alors, un champ vide pour les trophées ?

À ce point-là ? Et comment tu gères le CSS alors, un champ vide pour les trophées ?
Darks è stato assegnato da Lephenixnoir 5 mesi fa
Darks 5 mesi fa ha commentato
Proprietario

Bon j’ai gardé les deux classes distinctes, même si je ne suis pas particulièrement satisfait par ma solution.

Actuellement les admins peuvent lister les trophées/titres, en ajouter, les modifier et les supprimer.

Il reste à faire :

  • la fonction pour checker si l’utilisateur en a validé
  • l’option pour valider un trophée à la main pour ceux non-automatiques. Pour les autres ça risque d’être overridé par un update automatique.
  • le support des icones de trophées (y’a quelques bouts d’implémentation qui ont été faits, pas tous)
Bon j'ai gardé les deux classes distinctes, même si je ne suis pas particulièrement satisfait par ma solution. Actuellement les admins peuvent lister les trophées/titres, en ajouter, les modifier et les supprimer. Il reste à faire : - la fonction pour checker si l'utilisateur en a validé - l'option pour valider un trophée à la main pour ceux non-automatiques. Pour les autres ça risque d'être overridé par un update automatique. - le support des icones de trophées (y'a quelques bouts d'implémentation qui ont été faits, pas tous)
Lephenixnoir ha fatto riferimento a questa issue dal commit 5 mesi fa
Lephenixnoir 5 mesi fa ha commentato
Proprietario

J’ai relu ton code et poussé quelques modifications très mineures. Merci beaucoup :grinning:

Je pense que tu as oublié, lors de la suppression d’un trophée, de retirer ce trophée à tous les utilisateurs qui en disposaient.

Edit : Au temps pour moi, c’est automatique.

Pourquoi ajouter un nom spécial pour les titres ? Il suffirait d’afficher le nom du trophée, en plus ça porterait moins à confusion.

J'ai relu ton code et poussé quelques modifications très mineures. Merci beaucoup :grinning: Je pense que tu as oublié, lors de la suppression d'un trophée, de retirer ce trophée à tous les utilisateurs qui en disposaient. *Edit : Au temps pour moi, c'est automatique.* Pourquoi ajouter un nom spécial pour les titres ? Il suffirait d'afficher le nom du trophée, en plus ça porterait moins à confusion.
Darks 5 mesi fa ha commentato
Proprietario

Par rapport à l’automatisme, est-ce que du coup ça vaut pas le coup de virer cette méthode delete de la classe Member ?

Par rapport à l'automatisme, est-ce que du coup ça vaut pas le coup de virer cette méthode `delete` de la classe `Member` ?
Lephenixnoir 5 mesi fa ha commentato
Proprietario

Je ferais bien un test de plus, mais s’il s’avère que les privilèges spéciaux disparaissent tous seuls alors effectivement cette méthode n’est pas justifiée dans l’immédiat.

Toutefois elle le sera dans le futur car on ne veut pas que la suppression d’un membre entraîne la suppression de tous les contenus qu’il a postés sur le site. (!!!)

Je ferais bien un test de plus, mais s'il s'avère que les privilèges spéciaux disparaissent tous seuls alors effectivement cette méthode n'est pas justifiée dans l'immédiat. Toutefois elle le sera dans le futur car on ne veut pas que la suppression d'un membre entraîne la suppression de tous les contenus qu'il a postés sur le site. (!!!)
Darks 5 mesi fa ha commentato
Proprietario

Heu, c’est pas très RGPD ce que tu dis là… 😕

Heu, c'est pas très RGPD ce que tu dis là… 😕
Lephenixnoir 5 mesi fa ha commentato
Proprietario

Il faudrait au moins que ce soit une option de conserver les contenus anonymement…

Il faudrait au moins que ce soit une option de conserver les contenus anonymement...
Darks 5 mesi fa ha commentato
Proprietario

Le commit du dessus résout :

  • la fonction pour checker si l’utilisateur en a validé
  • l’option pour valider un trophée à la main pour ceux non-automatiques. Pour les autres ça risque d’être overridé par un update automatique.
  • le support des icones de trophées (y’a quelques bouts d’implémentation qui ont été faits, pas tous)

Je passe ce dernier point en nouveau ticket, de même que l’ajout des règles pour l’update automatique. Je pense qu’avec ça on peut clore le ticket actuel.

Le commit du dessus résout : - [x] la fonction pour checker si l’utilisateur en a validé - [x] l’option pour valider un trophée à la main pour ceux non-automatiques. Pour les autres ça risque d’être overridé par un update automatique. - [ ] le support des icones de trophées (y’a quelques bouts d’implémentation qui ont été faits, pas tous) Je passe ce dernier point en nouveau ticket, de même que l'ajout des règles pour l'update automatique. Je pense qu'avec ça on peut clore le ticket actuel.
Lephenixnoir 5 mesi fa ha commentato
Proprietario

J’ai un problème/bug/? avec le formulaire de suppression de trophée, il semble avoir du retard. Lorsque j’ajoute le premier trophée la liste déroulante reste vide. Lorsque je supprime le dernier trophée elle le propose encore après soumission du formulaire.

Il y a peut-être un effet de cache de navigateur, mais ça me surprendrait parce que c’est du HTML. Y’a-t-il un commit bdd au mauvais endroit par rapport à la génération du formulaire ?

J'ai un problème/bug/? avec le formulaire de suppression de trophée, il semble avoir du retard. Lorsque j'ajoute le premier trophée la liste déroulante reste vide. Lorsque je supprime le dernier trophée elle le propose encore après soumission du formulaire. Il y a peut-être un effet de cache de navigateur, mais ça me surprendrait parce que c'est du HTML. Y'a-t-il un commit bdd au mauvais endroit par rapport à la génération du formulaire ?
Lephenixnoir 5 mesi fa ha commentato
Proprietario

Petit ping, sinon l’issue va rester fermée et le bug va rester.

Petit ping, sinon l'issue va rester fermée et le bug va rester.
Darks 4 mesi fa ha commentato
Proprietario

Mmm, je regarde ça ce soir.

Mmm, je regarde ça ce soir.
Darks riaperto 4 mesi fa
Lephenixnoir 3 mesi fa ha commentato
Proprietario

Comme l’issue était fermée et que le bug en question a été de nouveau repéré dans #16 puis corrigé dans 1cb2623 , je considère ce fil comme résolu.

Comme l'issue était fermée et que le bug en question a été de nouveau repéré dans #16 puis corrigé dans 1cb2623 , je considère ce fil comme résolu.
Effettua l'accesso per partecipare alla conversazione.
Nessuna milestone
No Assignees
2 Partecipanti
Data di scadenza

Nessuna data di scadenza impostata.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Annulla
Salva
Non ci sono ancora contenuti.