BDE issueshttps://gitlab.crans.org/groups/bde/-/issues2020-09-09T13:06:02+02:00https://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/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/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/66Utiliser un indexeur2020-09-09T13:11:49+02:00me5na7qbjqbrpUtiliser un indexeurL'idée serait d'indexer les différentes pages de recherche pour augmenter la vitesse et la pertinence des recherches. Ça permettrait aussi de trivialiser le code de certaines pages.
Django Haystack est packagé dans Debian et permet just...L'idée serait d'indexer les différentes pages de recherche pour augmenter la vitesse et la pertinence des recherches. Ça permettrait aussi de trivialiser le code de certaines pages.
Django Haystack est packagé dans Debian et permet justement de réaliser cela. Je vais tenter un Proof of Concept.me5na7qbjqbrpme5na7qbjqbrphttps://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/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/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/88Loggrep2021-01-30T19:46:22+01:00ynerantynerant@crans.orgLoggrepToutes les modifications en base de données sont enregistrées. On enregistre l'utilisateur (qu'on récupère via l'utilisateur unix si jamais c'est fait via un shell django), l'adresse IP utilisée, la date, le type de modèle ajouté/modifié...Toutes les modifications en base de données sont enregistrées. On enregistre l'utilisateur (qu'on récupère via l'utilisateur unix si jamais c'est fait via un shell django), l'adresse IP utilisée, la date, le type de modèle ajouté/modifié/supprimé, le type de modification (ajout/modification/suppression), la clé primaire (le pk) de l'objet en question, et le diff en JSON (voir le modèle logs.Changelog).
On a donc tout ce qu'on peut vouloir. C'est accessible via l'API avec des bons filtres.
Problème : c'est pas ultra user-friendly. Ça a pas forcément lieu de l'être, mais bon ça peut être pénible de savoir qui a quel identifiant, quel modèle à quel identifiant, ...
Je propose d'ajouter un script appelé `loggrep` qui permet de faire une recherche interactive (ou via des paramètres) dans les logs ergonomiquement.
En particulier, on doit pouvoir filtrer par modèle donné en anglais, par pk (le plus important ^^), éventuellement s'amuser à mettre des filtres qui vont chercher dans le diff JSON. La sortie peut être assez belle, paginée si on a la fois mais c'est compliqué, mais surtout on indique la personne ayant fait l'action et pas son identifiant.
Libre à celui ou celle qui implémente cette fonctionnalité de faire ce qu'il ou elle veut.
Je l'ai pas dit mais c'était implicite : *il faut un script CLI*, hors de question d'avoir une interface web pour les logs.
Ah, et bien sûr : **ce script doit être documenté** (bon il y a encore du boulot à faire sur ce point je sais ...)https://gitlab.crans.org/bde/nk20/-/issues/79Utilitaire pour faire des stats faciliter la vie des trésoriers2021-05-29T11:22:43+02:00ynerantynerant@crans.orgUtilitaire pour faire des stats faciliter la vie des trésoriersDjango montre sa puissance avec son abstraction de requêtes SQL, mais peut sembler trop complexe pour un trésorier non-averti.
Afin de pré-mâcher le travail, on peut prévoir des fonctions qui construisent des Queryset mais en étant plus...Django montre sa puissance avec son abstraction de requêtes SQL, mais peut sembler trop complexe pour un trésorier non-averti.
Afin de pré-mâcher le travail, on peut prévoir des fonctions qui construisent des Queryset mais en étant plus explicite. Par exemple, on peut prévoir un constructeur de classements de transactions, par jour, par bouton (regex de nom de bouton plutôt), ... En gros rajouter une couche d'abstraction plus human-friendly vis-à-vis de l'utilisation de la note au-dessus de la couche de Django.
La pertinence est discutable, il faut que ça reste exploitable. Mais Django c'est compliqué quand on maîtrise pas.
Ces fonctions pourraient soit être placées dans chaque modèle concerné, ce qui offre l'avantage de ne pas avoir d'import supplémentaire, mais ça les aloudirait sachant que ces fonctions n'ont pas vocations à être utilisées dans le code (si ce n'est dans des tests). On peut prévoir un fichier / une app séparée.https://gitlab.crans.org/bde/nk20/-/issues/76CI trop longue2021-09-27T14:03:16+02:00ynerantynerant@crans.orgCI trop longueLa CI prend environ 10 minutes à s'exécuter. Sur ces 10 minutes, 7 à 8 minutes sont dédiées à l'installation des dépendances. C'est trop long pour attendre les résultats d'un test (surtout si on veut faire une MR).
Il faut mettre en pla...La CI prend environ 10 minutes à s'exécuter. Sur ces 10 minutes, 7 à 8 minutes sont dédiées à l'installation des dépendances. C'est trop long pour attendre les résultats d'un test (surtout si on veut faire une MR).
Il faut mettre en place une étape de compilation d'une image Docker qui ne se recrée que si les dépendances ont changé, et utilise l'image précédemment générée si rien a changé, afin de sauter cette phase d'installation.
Cela pourra être fait par exemple lorsque le Crans aura sa propre registry Docker.https://gitlab.crans.org/bde/nk20/-/issues/65[Bug] 404 au lieu de 4032021-10-01T15:22:30+02:00Maxime Bombar[Bug] 404 au lieu de 403Si tu essayes d'accéder à une page pour laquelle tu n'as pas les droits, ça renvoie une 404 avec "{{ item }} matching query not found" (testé pour chercher un user, j'ai extrapolé mais je pense que c'est pareil partout, sinon faut unifor...Si tu essayes d'accéder à une page pour laquelle tu n'as pas les droits, ça renvoie une 404 avec "{{ item }} matching query not found" (testé pour chercher un user, j'ai extrapolé mais je pense que c'est pareil partout, sinon faut uniformiser).
Ça devrait être une 403. Erdnaxe dit que c'est pour pas leaker d'info, je pense que c'est surtout un non sens sur la sémantique. Si t'as les droits mais que l'user existe pas --> 404 ok. Si t'as pas les droits, je dis qu'il faut une 403, que l'user existe ou pas. Là ça respecte la sémantique ET ça leake aucune info.https://gitlab.crans.org/bde/nk20/-/issues/100Compacter l'interface2021-10-04T11:04:45+02:00me5na7qbjqbrpCompacter l'interfaceLors du design de l'UI, j'avais fait quelque chose de très espacé / respiré tout en gardant une police de caractère grosse. Cela oblige de dézoomer sur l'écran PC kfet et sur le laptop prêté par la DSI.
Il suffit d'ajouter des modifiers...Lors du design de l'UI, j'avais fait quelque chose de très espacé / respiré tout en gardant une police de caractère grosse. Cela oblige de dézoomer sur l'écran PC kfet et sur le laptop prêté par la DSI.
Il suffit d'ajouter des modifiers bootstrap pour rendre l'interface plus concise (et potentiellement avec un look un peu plus moderne).https://gitlab.crans.org/bde/nk20/-/issues/104Les emails des clubs ne sont pas vérifiés2021-10-05T12:29:11+02:00Pierre-antoine CombyLes emails des clubs ne sont pas vérifiésTout est dans le titre.
Les emails de contact des clubs ne sont pas vérifié, contrairement à ceux des utilisateurs. À mon sens ca devrait être aussi le cas pour les clubs.Tout est dans le titre.
Les emails de contact des clubs ne sont pas vérifié, contrairement à ceux des utilisateurs. À mon sens ca devrait être aussi le cas pour les clubs.https://gitlab.crans.org/bde/nk20-scripts/-/issues/1Un script pour fusionner deux notes clubs2021-10-05T13:43:41+02:00Pierre-antoine CombyUn script pour fusionner deux notes clubsTout est dans le titre.
L'idée est apparue sur discord, et pourrait être très utile pour faire le ménage des notes de club/pot qui sont recréer après les premières neiges.Tout est dans le titre.
L'idée est apparue sur discord, et pourrait être très utile pour faire le ménage des notes de club/pot qui sont recréer après les premières neiges.https://gitlab.crans.org/bde/nk20/-/issues/99Différencier les liens des boutons2021-10-05T16:15:33+02:00me5na7qbjqbrpDifférencier les liens des boutonsJ'ai découvert récemment que `<a>` et `<button>` n'ont pas le même comportement malgré le fait qu'ils se stylisent de la même manière :
* `a` permet de faire un lien vers une autre page, il est donc draggable par défaut : on peut le gli...J'ai découvert récemment que `<a>` et `<button>` n'ont pas le même comportement malgré le fait qu'ils se stylisent de la même manière :
* `a` permet de faire un lien vers une autre page, il est donc draggable par défaut : on peut le glisser déposer dans ses favoris,
* `button` permet de faire un... bouton de l'interface, il n'est donc pas draggable par défaut.
On abuse des `<a>` dans la note à des endroits où il faudrait des `<button>`. Cela rend l'expérience un peu frustrante quand les inputs du browser lagguent car on se retrouve à drag&drop quelque chose qui ne devrait pas l'être.me5na7qbjqbrpme5na7qbjqbrphttps://gitlab.crans.org/bde/photo21/-/issues/19Support des vidéos2021-10-16T17:56:19+02:00me5na7qbjqbrpSupport des vidéosIl faudrait pouvoir uploader des vidéos. Il faut vérifier que le format est bon pour être joué dans un navigateur web. Il faut également adapter la visionneuse.Il faudrait pouvoir uploader des vidéos. Il faut vérifier que le format est bon pour être joué dans un navigateur web. Il faut également adapter la visionneuse.https://gitlab.crans.org/bde/nk20/-/issues/108Fréquence de rapport des Club2021-10-19T08:59:55+02:00Pierre-antoine CombyFréquence de rapport des ClubTout est dans le titre, il n'est pas possible pour un club de définir la fréquence des rapports.Tout est dans le titre, il n'est pas possible pour un club de définir la fréquence des rapports.https://gitlab.crans.org/bde/photo21/-/issues/24Ajouter champ pour choisir licence lors de l'upload2021-10-22T18:13:53+02:00me5na7qbjqbrpAjouter champ pour choisir licence lors de l'uploadUn photographe ne peut pas choisir la licence à utiliser sur ses photos lors du téléversement.Un photographe ne peut pas choisir la licence à utiliser sur ses photos lors du téléversement.https://gitlab.crans.org/bde/nk20/-/issues/109Option sans alcool2021-10-31T22:26:58+01:00me5na7qbjqbrpOption sans alcoolCertains adhérents ne boivent pas d'alcool et n'en prendrons jamais. Dans le rush d'une soirée, il se peut qu'il y ait des erreurs et que l'on serve de l'alcool et que l'on le note sur la note de quelqu'un qui demandait un soft.
Il sera...Certains adhérents ne boivent pas d'alcool et n'en prendrons jamais. Dans le rush d'une soirée, il se peut qu'il y ait des erreurs et que l'on serve de l'alcool et que l'on le note sur la note de quelqu'un qui demandait un soft.
Il serait souhaitable d'ajouter une option pour refuser un transfert lié à une conso d'alcool sur sa note. C'est une sécurité qui permet d'éviter des erreurs graves.
Questions à résoudre :
* Comment savoir qu'un transfert est lié à un produit qui contient de l'alcool ?
* Est-ce que stocker cette info sur la note d'un adhérent est problématique ?https://gitlab.crans.org/bde/nk20/-/issues/106Réfléchir à l'ajout de modèles de factures.2021-10-31T22:36:00+01:00MisterKraftsRéfléchir à l'ajout de modèles de factures.Dans l'optique de pouvoir regénérer de vieilles factures, elles sont enregistrées à partir d'un model qui défini le BDE du moment de la facture.
Premièrement je ne sais pas comment on peut choisir le BDE depuis l'onglet trésorerie.
Ensui...Dans l'optique de pouvoir regénérer de vieilles factures, elles sont enregistrées à partir d'un model qui défini le BDE du moment de la facture.
Premièrement je ne sais pas comment on peut choisir le BDE depuis l'onglet trésorerie.
Ensuite, tous les ans un nouveau model va devoir être créé et mis en model par défaut, ça serait bien que ça ne soit pas trop compliqué à faire.