BDE issueshttps://gitlab.crans.org/groups/bde/-/issues2024-03-08T22:39:38+01:00https://gitlab.crans.org/bde/nk20/-/issues/127Backups2024-03-08T22:39:38+01:00nicomargBackupsLes backups ne marchent pas du tout parce que pas assez d'espace disque.
De plus, faire une backup entière chaque jour est un peu stupide, on peut utiliser par exemple [Borg](https://borgbackup.readthedocs.io/en/stable/) pour garder une...Les backups ne marchent pas du tout parce que pas assez d'espace disque.
De plus, faire une backup entière chaque jour est un peu stupide, on peut utiliser par exemple [Borg](https://borgbackup.readthedocs.io/en/stable/) pour garder une taille correcte sur zamok (et même peut-être les stocker aussi ailleurs).nk20 v2.0.0 with django 4.2https://gitlab.crans.org/bde/nk20/-/issues/123Migration django 4.22024-02-12T23:40:09+01:00bleiziMigration django 4.2Migration de django 2.2 (plus maintenu) vers 4.2 (LTS actuelle)Migration de django 2.2 (plus maintenu) vers 4.2 (LTS actuelle)nk20 v2.0.0 with django 4.2bleizibleizihttps://gitlab.crans.org/bde/nk20/-/issues/110Settings Dynamiques2024-02-12T23:34:58+01:00Pierre-antoine CombySettings Dynamiques Il serait pertinent d'avoir des settings dynamiques, ie des parametres modifiables sans aller éditer le code à chaque fois.
- On pourrait ainsi résoudre les problemes de facture bde (#105,#106)
- Avoir un systeme d'annonce/bannière (#... Il serait pertinent d'avoir des settings dynamiques, ie des parametres modifiables sans aller éditer le code à chaque fois.
- On pourrait ainsi résoudre les problemes de facture bde (#105,#106)
- Avoir un systeme d'annonce/bannière (#80)
- "Rendre la NoteKfet agnostique au BDE considéré"
Pas besoin de forcément réinventer la roue: [django-constance](https://django-constance.readthedocs.io/en/latest/) semble etre un bon candidat.
Les paramètres seraient modifiable dans l'interface admin.nk20 v2.0.0 with django 4.2https://gitlab.crans.org/bde/nk20/-/issues/101Enlever TurboLinks sans perdre en performances2024-02-12T23:35:37+01:00me5na7qbjqbrpEnlever TurboLinks sans perdre en performancesDans la source du front :
```
<script src="https://cdnjs.cloudflare.com/ajax/libs/turbolinks/5.2.0/turbolinks.js"
crossorigin="anonymous"></script>
```
Initialement je proposais de commiter le fichier minifié pour s'affr...Dans la source du front :
```
<script src="https://cdnjs.cloudflare.com/ajax/libs/turbolinks/5.2.0/turbolinks.js"
crossorigin="anonymous"></script>
```
Initialement je proposais de commiter le fichier minifié pour s'affranchir du CDN, mais TurboLinks n'est plus maintenu et ne fait plus beaucoup de sens avec la légereté qu'apporte Bootstrap 5.
- [ ] Migrer sur le bundle Bootstrap 5 pour enlever Poppler.js
- [ ] Enlever JQuery et migrer sur du ECMAScript 2017 (natif)
- [ ] Enlever Font Awesome (100kB de moins à cacher et évite le clignotement des icônes)
- [ ] Tester les vitesses de rendu de page avec HTTP/2, Django en asynchrone, avec du cache... afin d'avoir la vitesse de TurboLinks nativement.nk20 v2.0.0 with django 4.2me5na7qbjqbrpme5na7qbjqbrphttps://gitlab.crans.org/bde/nk20/-/issues/87Bootstrap 52024-02-12T23:32:06+01:00ynerantynerant@crans.orgBootstrap 5Faut virer jQuery et utiliser du meilleur JavaScript
<3 erdnaxeFaut virer jQuery et utiliser du meilleur JavaScript
<3 erdnaxenk20 v2.0.0 with django 4.2https://gitlab.crans.org/bde/nk20/-/issues/80Système d'annonce bannière2024-02-12T23:34:32+01:00Pierre-antoine CombySystème d'annonce bannièreÀ l'image de ce qui est faut dans --toute bonne usine à gaz--- différents services (Gitlab, etc...) Pouvoir prévenir les utilisateur de la note (donc les adhérents BDE) d'information concernant la note (renouvellement d'adhésion, WEI, et...À l'image de ce qui est faut dans --toute bonne usine à gaz--- différents services (Gitlab, etc...) Pouvoir prévenir les utilisateur de la note (donc les adhérents BDE) d'information concernant la note (renouvellement d'adhésion, WEI, etc).
Des notifications/bannières sont déjà théoriquement possibles, mais nécessite de mettre les mains dans le code. Une interface dans l'admin serait idéal.
Pas besoin de forcément réinventer la roue: https://django-constance.readthedocs.io/en/latest/#)nk20 v2.0.0 with django 4.2https://gitlab.crans.org/bde/nk20/-/issues/73Mettre à jour django-oauth2-toolkit pour supporter OpenID Connect2024-02-12T23:32:54+01:00me5na7qbjqbrpMettre à jour django-oauth2-toolkit pour supporter OpenID ConnectLa prochaine version de django-oauth2-toolkit ajoute le support d'OpenID Connect. Elle devrait sortir dans les prochains jours.
OpenID Connect est une couche d'abstraction par dessus OAuth2 permettant d'identifier les utilisateurs. OAut...La prochaine version de django-oauth2-toolkit ajoute le support d'OpenID Connect. Elle devrait sortir dans les prochains jours.
OpenID Connect est une couche d'abstraction par dessus OAuth2 permettant d'identifier les utilisateurs. OAuth2 n'est qu'un protocole pour rendre une API disponible à une autre application.nk20 v2.0.0 with django 4.2bleizibleizihttps://gitlab.crans.org/bde/nk20/-/issues/78Inscription automatique aux mailing lists de clubs2020-10-18T14:52:36+02:00ynerantynerant@crans.orgInscription automatique aux mailing lists de clubsEn plus de l'inscription à la ML événements (cf #50), on devrait pouvoir ajouter un champ pour chaque club de liste de diffusion.
En faisant adhérer quelqu'un a un club, il a la possibilité via une case à cocher pour s'inscrire à une li...En plus de l'inscription à la ML événements (cf #50), on devrait pouvoir ajouter un champ pour chaque club de liste de diffusion.
En faisant adhérer quelqu'un a un club, il a la possibilité via une case à cocher pour s'inscrire à une liste de diffusion. Il peut ensuite gérer son inscription via la note.
Cela ne doit toutefois pas empêcher les inscriptions à la ML de personnes extérieures, sans passer par la note.Cara[Punch]https://gitlab.crans.org/bde/nk20/-/issues/77UI de l'interface clubs2020-10-07T21:36:57+02:00ynerantynerant@crans.orgUI de l'interface clubsL'interface clubs est peu intuitive, et peu fonctionnelle : il faut beaucoup de clicks pour effectuer une action. Il faut peut-être une refonte, afin de rendre l'interface plus intuitive.
Feature request : ajouter un champ qui permet au...L'interface clubs est peu intuitive, et peu fonctionnelle : il faut beaucoup de clicks pour effectuer une action. Il faut peut-être une refonte, afin de rendre l'interface plus intuitive.
Feature request : ajouter un champ qui permet aux adhérents BDE d'adhérer eux-même à un club.
Points backend qui me posent un peu souci :
* Souvent, un trez de club est nommé lors d'une passation en février-mars jusqu'en février-mars qui suit, alors que les adhésions durent de août à septembre (année+1). Ça manque un peu de cohérence. Même si en pratique on peut changer les rôles n'importe quand, si on trouve plus propre je suis preneur.
* J'ai un peu du mal avec le fait de devoir adhérer pour certains clubs, notamment les clubs événementiels (type BdL) qui n'accueillent pas vraiment d'adhérents. J'avais proposé comme solution de pouvoir désactiver le fait de proposer des adhésions, et en gros pour donner un droit on fait une adhésion qui dure à vie et on change les rôles quand on le souhaite. Je sais pas trop comment formuler ce qui me chiffonne, mais j'aime pas le concept d'"adhérer" quand c'est pas réellement une adhésion. C'est probablement pas clair et n'est peut-être pas un point important.
* On fait quoi des assos ? Les associations ne dépendent pas du BDE. Pourtant, les assos utilisent la note, qui est un service du BDE. Laisse-t-on la possibilité aux assos d'enregistrer leurs adhérents sur la note ? J'ai envie de dire non : cette liste d'adhérents ne pourrait être qu'incomplète puisqu'ils ne peuvent pas imposer leurs adhérents d'être adhérents BDE. Quant aux droits accordés : est-il bon de laisser un trez d'une autre asso pouvoir faire des transferts sur la note du BDE ? J'ai rien contre, c'est pratique, mais la réponse me paraît pas triviale.
J'ajouterai dans cette issue toute chose qui me gêne concernant les adhésions club.Cara[Punch]https://gitlab.crans.org/bde/nk20/-/issues/23Demandes de remboursement2020-09-09T13:06:02+02:00Michaël PaulonDemandes de remboursement**Feature**
On souhaiterai qu'un utilisateur `Alice` puisse demander à un autre utilisateur `Bob` de lui rembourser une somme N d'argent.
Pour celà on propose de mettre en place une interface «Demande de virement».
Dans cette interfac...**Feature**
On souhaiterai qu'un utilisateur `Alice` puisse demander à un autre utilisateur `Bob` de lui rembourser une somme N d'argent.
Pour celà on propose de mettre en place une interface «Demande de virement».
Dans cette interface, Alice rentre le nom de Bob ainsi que la somme d'argent demandé.
Quand il se connecte sur son compte Bob a alors un indicateur visuel (par exemple le bouton «Demande de virement» coloré/clignotant et il peut, par cette même interface accéder à une liste des demandes le concernant et les valider ou les supprimer en cliquant sur un bouton.
On voudra surement aussi que Bob reçoive un mail lui annonçant qu'il a une demande en cours (et que des rappels sur les demandes en cours soient présent dans ses mails de rapport par exemple) et on souhaitera aussi qu'Alice reçoive un mail lui confirmant l'acceptation du virement par Bob.
**Implementation**
On pensera à implémenter les restrictions de droits nécessaires pour que Bob ne puisse pas utiliser ce moyen pour passer trop profondément en négatif.
Il pourra peut-être être intéressant de mettre en place des restrictions sur le nombre de demandes de virements par intervalle de temps et/ou d'implémenter la possibilité de retirer le droit à quelqu'un de faire des demandes de virements en cas d'abus.Cara[Punch]https://gitlab.crans.org/bde/nk20/-/issues/113Erreurs lors de requêtes qui ne sont pas des expressions régulières2022-03-10T16:10:38+01:00ynerantynerant@crans.orgErreurs lors de requêtes qui ne sont pas des expressions régulièresQuand on fait une recherche (sur l'API ou autre) en demandant une entrée qui n'est pas une expression régulière valide (notamment quand on entre un crochet ou une parenthèse, ou encore une étoile), ça fait une erreur. C'est en général ma...Quand on fait une recherche (sur l'API ou autre) en demandant une entrée qui n'est pas une expression régulière valide (notamment quand on entre un crochet ou une parenthèse, ou encore une étoile), ça fait une erreur. C'est en général mais invisible à l'œil de l'utilisateur⋅rice, mais pour les admins on se fait un peu spammer.
Une solution pourrait être de patcher les recherches en demandant une recherche par expression régulière uniquement si c'en est bien une valide, sinon on recherche par sous-chaîne (sensible à la casse ou non).
Attention au coût de calcul engendré.Bul[binouze]ynerantynerant@crans.orgynerantynerant@crans.orghttps://gitlab.crans.org/bde/nk20/-/issues/86Répétitivité dans les personnes sur la page : droits2021-01-19T17:33:19+01:00rlaliRépétitivité dans les personnes sur la page : droitsDû au cumul des pouvoirs IRL des personnes, sur la liste des personnes ayant des droits spéciaux, on retrouve la répétition de certains noms, c'est embêtant quand on veut checker les droits de quelqu'un.
L'idée serait de faire un `GROUP...Dû au cumul des pouvoirs IRL des personnes, sur la liste des personnes ayant des droits spéciaux, on retrouve la répétition de certains noms, c'est embêtant quand on veut checker les droits de quelqu'un.
L'idée serait de faire un `GROUP BY` sur les utilisateurs et de les `ORDER BY` sur le pseudo ou le nom.Bul[binouze]rlalirlali2021-02-14https://gitlab.crans.org/bde/nk20/-/issues/62Ajouter une petite aide pour expliquer ce qu'est un masque de permission2020-09-09T13:10:36+02:00me5na7qbjqbrpAjouter une petite aide pour expliquer ce qu'est un masque de permission@erdnaxe est volontaire pour le coder. L'idée est de mettre un "?" à côté du champs "masque de permissions" qui ouvre une doc expliquant ce que c'est.@erdnaxe est volontaire pour le coder. L'idée est de mettre un "?" à côté du champs "masque de permissions" qui ouvre une doc expliquant ce que c'est.Bul[binouze]me5na7qbjqbrpme5na7qbjqbrphttps://gitlab.crans.org/bde/nk20/-/issues/47Accessibilité2020-09-09T13:06:28+02:00elkmaennchenAccessibilitéUn peu d'effort pour nos amis qui utilisent des aides pour naviger !
### Principes
L'idée est de prendre en compte notamment :
1. les gens qui utilisent des lecteurs d'écran
1. les gens qui utilisent des raccourcis de navigation
1. les ...Un peu d'effort pour nos amis qui utilisent des aides pour naviger !
### Principes
L'idée est de prendre en compte notamment :
1. les gens qui utilisent des lecteurs d'écran
1. les gens qui utilisent des raccourcis de navigation
1. les gens qui zoom la page
1. les gens qui ne distinguent pas/mal les couleurs et/ou les contrastes
##### 1. lecteurs d'écrans
2 règles principales : remplir systématiquement les champs de label de description précisément (mettre *logo de la note* et non pas *image* par exemple), et ne pas trop user de JavaScript kikoo (ou permettre de le désactiver)
**complexe pour tout vérifier**
##### 2. raccourcis
Le plus important est le déplacement de la sélection d'un objet à l'autre avec la touche *tab* (car utilisé également par des outils d'accessibilité installés sur l'ordi), notamment vérifier que tout est selectionnable et que les déplacements entre 2 voisins ne font pas parcourir tout l'écran dans tous les sens.
**facile à tester**
La touche espace pour simuler l'appui souris sur le bouton sélectionné est le 2ème plus usité.
##### 3. zoom
suivant la taille de l'écran et la patologie, on ne peut rien supposer sur le niveau de zoom, il faut donc que le text-wrapping coupe les mots comme en langue française (et pas juste au moment où plus de place), que les marges évoluent bien, ou encore que la page prenne en compte le besoin d'un défilement horizontal.
**facile à tester**
### Liste des choses à faires
* [ ] [nk20_commentaires01.pdf](/uploads/1a25bbc5684cc959e0a346036e4cea9b/nk20_commentaires01.pdf)
* [ ] faire une option *activer le thème accessibilité* ?Bul[binouze]https://gitlab.crans.org/bde/nk20/-/issues/126Migration initiale impossible2024-03-22T18:53:44+01:00nicomargMigration initiale impossibleDans apps/registration/forms.py, le ValidationForm possède un champ "adhérer au BDA" qui n'est censé être présent que si le BDA existe.
Cependant, cette vérification est inscrite à toplevel dans la classe, et est donc exécutée dès que la...Dans apps/registration/forms.py, le ValidationForm possède un champ "adhérer au BDA" qui n'est censé être présent que si le BDA existe.
Cependant, cette vérification est inscrite à toplevel dans la classe, et est donc exécutée dès que la classe est chargée, et uniquement à ce moment-là. Ceci pose plusieurs problèmes :
- Si la table correspondante n'existe pas en BDD django plante super tôt dans son démarrage (notamment avant d'avoir créé la BDD lors d'un migrate)
- Si l'existence du club BDA change, il faut redémarrer la note pour que cela prenne effet.
Il faut retarder la férification de l'existence du BDA au moment où la page est chargée, et pourquoi pas en profiter pour rendre le code modulaire (aka pouvoir facilement spécifier la liste des clubs auxquels on propose d'adhérer à l'inscription).https://gitlab.crans.org/bde/nk20/-/issues/125username avec des caractères spéciaux2024-02-12T22:39:43+01:00bleiziusername avec des caractères spéciauxLes usernames peuvent contenir des caractères spéciaux mais :
- pas lors de la création du compte, uniquement lors des changements de profils
- le champs username à l'aide "Requis. 150 caractères maximum. Uniquement des lettres, nombre...Les usernames peuvent contenir des caractères spéciaux mais :
- pas lors de la création du compte, uniquement lors des changements de profils
- le champs username à l'aide "Requis. 150 caractères maximum. Uniquement des lettres, nombres et les caractères « @ », « . », « + », « - » et « _ »." dans les formulaires de création et mise à jour de profil.https://gitlab.crans.org/bde/nk20/-/issues/124Feuille de note numérique2024-02-12T07:34:59+01:00bleiziFeuille de note numériqueIdée qui avait été proposée à un moment. Il y a un cahier des charge sur ce pad : https://pad.crans.org/p/spec_feuille_note . Il y a un début d'implémentation sur la branche sheets.Idée qui avait été proposée à un moment. Il y a un cahier des charge sur ce pad : https://pad.crans.org/p/spec_feuille_note . Il y a un début d'implémentation sur la branche sheets.https://gitlab.crans.org/bde/nk20/-/issues/122Mail de récap de la somme des soldes positifs/négatifs des adhérent⋅es/clubs2023-10-05T16:56:35+02:00bleiziMail de récap de la somme des soldes positifs/négatifs des adhérent⋅es/clubsCompléter le mail de rapport des négatifs ou faire un autre rapport avec :
- nb de personne en positifs / négatifs / négatifs sévères avec les montant totaux associés
- la même chose pour les personnes actuellement adhérent⋅es
- la mê...Compléter le mail de rapport des négatifs ou faire un autre rapport avec :
- nb de personne en positifs / négatifs / négatifs sévères avec les montant totaux associés
- la même chose pour les personnes actuellement adhérent⋅es
- la même chose pour les clubs et club normaux (pas BDE/kfet ni club en "- BDE")
- le nombre total de transaction / le nombre de transaction pour certaines notes (BDE) et les montant associés
- la progression par rapport au dernier rapporthttps://gitlab.crans.org/bde/photo21/-/issues/39Permettre le changement de nom/prénom et éventuellement de l'username2023-10-01T19:55:25+02:00bleiziPermettre le changement de nom/prénom et éventuellement de l'usernameAvec un compte local, il n'est pas possible de définir ou changer seul ses noms/prénoms. Il n'est pas possible de changer l'username.
Avec un compte social, c'est importé lors de la création du compte et jamais mis à jour même si c'est ...Avec un compte local, il n'est pas possible de définir ou changer seul ses noms/prénoms. Il n'est pas possible de changer l'username.
Avec un compte social, c'est importé lors de la création du compte et jamais mis à jour même si c'est changé sur la note (ou du moins je n'ai pas trouvé de moyen de trigger la mise à jour, par exemple en se connectant ou en supprimant/recréant le lien avec la note).
C'est prénom nom qui est utilisé pour désigner l'auteurice d'une photo, alors que la personne peut préférer publier sous un pseudo (ce qui n'est pas possible avec un compte note).
(Pour l'username, je sais pas ce qui se passe si le nom de note est différent de l'username du compte local, car j'ai la flemme de setup en local un lien avec la note et que j'ai pas envie de créer un faux compte en prod)https://gitlab.crans.org/bde/nk20/-/issues/120Voir des infos sur les activités2023-07-20T20:18:30+02:00bleiziVoir des infos sur les activitésVoir le nombre d'entrée/d'invitation dans la description de l'activité
Peut-être conserver ces infos sans recompter pour pouvoir supprimer les info d'entrée/invitation si on veut pas les garder éternellement pour la protection des donnée...Voir le nombre d'entrée/d'invitation dans la description de l'activité
Peut-être conserver ces infos sans recompter pour pouvoir supprimer les info d'entrée/invitation si on veut pas les garder éternellement pour la protection des données.
Ça peut être visible que par les personnes avec des droits.
Voir le lieu de l'activité (il est renseigner mais pas visible dans la description)