FFDN issueshttps://code.ffdn.org/groups/ffdn/-/issues2022-10-10T20:18:28Zhttps://code.ffdn.org/ffdn/cavote/-/issues/4Supprimer les données des utilisateurices qui ne votent plus depuis longtemps2022-10-10T20:18:28ZSebbazsebbaz@tdn-fai.netSupprimer les données des utilisateurices qui ne votent plus depuis longtempsBonsoir,
Lors de la réu mensuelle, on s'est dit que ça serait pas mal de supprimer les utilisateurs qui ne se sont pas connectés au bout d'un certain temps. Il semblerait d'après des tests en production (les noms des personnes qui ont e...Bonsoir,
Lors de la réu mensuelle, on s'est dit que ça serait pas mal de supprimer les utilisateurs qui ne se sont pas connectés au bout d'un certain temps. Il semblerait d'après des tests en production (les noms des personnes qui ont effectué ces tests ont été censurés :smile: ), ça casserait l'accès aux résultats de votes ce qui amène à peut-être à développer la demande de fonctionnalité #1 ?
Il manquerait peut-être une information "dernière connexion" dans la partie admin pour identifier les comptes inutilisés depuis la durée maximale de conservation des données ?https://code.ffdn.org/ffdn/coin/-/issues/231n'afficher le bouton « demander un abonnement » que si il y a au moins une of...2022-02-19T21:18:17ZalexAubinn'afficher le bouton « demander un abonnement » que si il y a au moins une offre requestablehttps://code.ffdn.org/ffdn/coin/-/issues/230Voir avec Illyse comment gérer les VPN dans le nouveaux système (ou conserver...2022-02-19T21:17:56ZalexAubinVoir avec Illyse comment gérer les VPN dans le nouveaux système (ou conserver les anciennes features), leur intégration LDAP etchttps://code.ffdn.org/ffdn/coin/-/issues/229Important: subnets hardcodés dans coin/resources/models.py (89.234, ...)2022-02-19T21:16:56ZalexAubinImportant: subnets hardcodés dans coin/resources/models.py (89.234, ...)Devrait sans doute être remplacé par un système de setting ou autreDevrait sans doute être remplacé par un système de setting ou autreljfljfhttps://code.ffdn.org/ffdn/coin/-/issues/228les fichiers générés dans le docker-compose appartiennent à root2021-02-15T21:22:17Zjocelynles fichiers générés dans le docker-compose appartiennent à rootThe following discussion from !22 should be addressed:
- [ ] @jocelyn started a [discussion](https://code.ffdn.org/ffdn/coin/-/merge_requests/22#note_739): (+4 comments)
> je ne comprends pas celui-ci pourquoi génèrerait-on les fi...The following discussion from !22 should be addressed:
- [ ] @jocelyn started a [discussion](https://code.ffdn.org/ffdn/coin/-/merge_requests/22#note_739): (+4 comments)
> je ne comprends pas celui-ci pourquoi génèrerait-on les fichiers de migrations côté docker-compose ?https://code.ffdn.org/ffdn/coin/-/issues/224on accepte les conditions de l'offre sans même avoir un lien permettant de le...2021-01-16T12:14:42Zjocelynon accepte les conditions de l'offre sans même avoir un lien permettant de les lire`/members/request_subscriptions/step2/:offer_name`
![image](/uploads/6bc06dfda9635302e2c9bc409f1d774b/image.png)`/members/request_subscriptions/step2/:offer_name`
![image](/uploads/6bc06dfda9635302e2c9bc409f1d774b/image.png)https://code.ffdn.org/ffdn/coin/-/issues/223Django en version 1.8, pas de mise à jour sécurité2021-12-13T15:32:42ZgdeDjango en version 1.8, pas de mise à jour sécuritéBonjour
Coin repose sur une version très ancienne de Django qui n'a plus de correctifs sécurité depuis le 1 avril 2018.
Sachant les données particulièrement sensible qui reposent sur l'outil lorsqu'il est utilisé c'est pas une bonne id...Bonjour
Coin repose sur une version très ancienne de Django qui n'a plus de correctifs sécurité depuis le 1 avril 2018.
Sachant les données particulièrement sensible qui reposent sur l'outil lorsqu'il est utilisé c'est pas une bonne idée de laisser en l'Etat.
Peut-on passer à la derniere LTS de Django ?https://code.ffdn.org/ffdn/coin/-/issues/222Problème sur le dumpdata2021-02-15T21:22:01Zl3ibiProblème sur le dumpdataLe dumpdata décrit sur le wiki de Illyse a fonctionné chez moi mais ne fonctionne plus :
> python manage.py dumpdata --indent 2 --natural-foreign --natural-primary ../dump-20001231-natural.json
Il me retourne :
> django.db.utils.Pro...Le dumpdata décrit sur le wiki de Illyse a fonctionné chez moi mais ne fonctionne plus :
> python manage.py dumpdata --indent 2 --natural-foreign --natural-primary ../dump-20001231-natural.json
Il me retourne :
> django.db.utils.ProgrammingError: relation "members_ldapuser" does not exist
> LINE 1: ...ginShell", "members_ldapuser"."sshPublicKey" FROM "members_l...
’’’
Je pense que c’est en voulant activer le ldap puis en revenant en arrière que ça n’a plus fonctionné. Je pense qu’il y’a eu une modif de la base qui empêche le dump de bien s’effectué.
J’ai bien fait les makemigration et les migrate.
Le json est bien créé mais manque toute les infos concernant les membres entre autre.
settings_local.py :
>from __future__ import unicode_literals
>EXTRA_INSTALLED_APPS = (
> 'simple_dsl',
> 'hardware_provisioning',
> 'gunicorn',
>)
>…
https://code.ffdn.org/ffdn/coin/-/issues/221Afficher le nombre de personnes inscrites sur chaque liste mail2019-10-29T17:36:21ZRománekAfficher le nombre de personnes inscrites sur chaque liste mailDans la partie utilisateur de COIN, onglet "listes mail", il serait bien d'avoir l'effectif total des personnes inscrites en face de chaque liste. Par exemple, ajouter une colonne "Effectif" au tableau pour indiquer combien de personnes ...Dans la partie utilisateur de COIN, onglet "listes mail", il serait bien d'avoir l'effectif total des personnes inscrites en face de chaque liste. Par exemple, ajouter une colonne "Effectif" au tableau pour indiquer combien de personnes y sont présentes. Le but est de rendre visible le fait qu'il y ait beaucoup de monde (ou trop ou pas assez) sur telle ou telle liste.
<3https://code.ffdn.org/ffdn/coin/-/issues/220Supprimer automatiquement des listes mail un membre devenu "non adhérent"2019-10-29T17:29:27ZRománekSupprimer automatiquement des listes mail un membre devenu "non adhérent"Lorsqu'un adhérent quitte l'asso, on doit souvent garder sa fiche pendant un an s'il a eu des abonnements. Dans ce cas, on passe son statut à "non adhérent". Il faudrait que ce changement désinscrive automatiquement la personne de toutes...Lorsqu'un adhérent quitte l'asso, on doit souvent garder sa fiche pendant un an s'il a eu des abonnements. Dans ce cas, on passe son statut à "non adhérent". Il faudrait que ce changement désinscrive automatiquement la personne de toutes les listes mail auxquelles elle était ajoutée.
<3https://code.ffdn.org/ffdn/coin/-/issues/219Dater l'envoi du dernier mail de relance de cotisation2019-10-29T17:13:36ZRománekDater l'envoi du dernier mail de relance de cotisationDans la fiche membre, il serait utile d'avoir également la date à laquelle le dernier mail de relance a été envoyé. Voire, avoir l'historique des dernières relances de cotise, ou simplement le nombre de mails envoyés depuis la mise à jou...Dans la fiche membre, il serait utile d'avoir également la date à laquelle le dernier mail de relance a été envoyé. Voire, avoir l'historique des dernières relances de cotise, ou simplement le nombre de mails envoyés depuis la mise à jour du champ "cotisation".
<3https://code.ffdn.org/ffdn/coin/-/issues/218Demander et dater l'envoi du dernier mail de bienvenue2019-10-29T17:06:25ZRománekDemander et dater l'envoi du dernier mail de bienvenueSur la fiche membre d'un·e adhérent·e, il y a l'option "Envoyer le courriel de bienvenue" en haut à droite. Quand on crée la fiche la première fois, on oublie parfois de cliquer sur ce bouton. Ce serait bien qu'il y ait un rappel (pop up...Sur la fiche membre d'un·e adhérent·e, il y a l'option "Envoyer le courriel de bienvenue" en haut à droite. Quand on crée la fiche la première fois, on oublie parfois de cliquer sur ce bouton. Ce serait bien qu'il y ait un rappel (pop up window?) au moment d'enregistrer la fiche si le courriel n'a pas été envoyé. Deuxième chose, une fois que le mail est parti, il serait bien d'en garder une trace sur la fiche membre, du style "dernier envoi le XX/XX à XX:XX." Utile pour vérifier à posteriori.
<3https://code.ffdn.org/ffdn/coin/-/issues/217Case prix d'achat du matériel2019-10-13T21:43:30ZjocelynCase prix d'achat du matérielChez faimaison, permettrait notamment un calcul automatisé de la valeur du matériel.Chez faimaison, permettrait notamment un calcul automatisé de la valeur du matériel.https://code.ffdn.org/ffdn/coin/-/issues/216Le fichier deployment.md donne un lien hypertexte vers un url erroné chez Illyse2019-08-29T18:34:02ZSebbazsebbaz@tdn-fai.netLe fichier deployment.md donne un lien hypertexte vers un url erroné chez IllyseLe fichier coin/deployment.md dit qu'il est de bon conseil d'aller voir la documentation d'Illyse avec l'url https://www.illyse.org/projects/ils-si/wiki/Mise_en_place_production
L'url est mauvais, il faudrait que ce soit https://doc.ill...Le fichier coin/deployment.md dit qu'il est de bon conseil d'aller voir la documentation d'Illyse avec l'url https://www.illyse.org/projects/ils-si/wiki/Mise_en_place_production
L'url est mauvais, il faudrait que ce soit https://doc.illyse.net/projects/ils-si/wiki/Mise_en_place_productionhttps://code.ffdn.org/ffdn/coin/-/issues/215Case à cocher "j'ai lu les statuts de l'association"2019-08-28T23:57:47ZljfCase à cocher "j'ai lu les statuts de l'association"Chez ARN, on souhaite rappeler au membre de lire les statuts au moyen d'une case à cocher lors de leur inscription sur COIN.
On a le code suivant (que je ne push pas car il y a un bug qui est peut être lié sur la création des personnes m...Chez ARN, on souhaite rappeler au membre de lire les statuts au moyen d'une case à cocher lors de leur inscription sur COIN.
On a le code suivant (que je ne push pas car il y a un bug qui est peut être lié sur la création des personnes morales)
```
<div class="medium-8 large-8 columns">
<form method="post" action=".">
{% csrf_token %}
<fieldset class="module aligned wide">
{{ form.as_p }}
<input type="checkbox" id="status" /> J'ai lu les <a href="https://wiki.arn-fai.net/administratif:statuts" target="_BLANK">statuts de l'association</a>
</fieldset>
<p class="captcha">1+1: <input type="text" value="" /></p>
<input type="submit" class="button radius" value="Créer mon compte" id="submit" disabled />
</form>
</div>
[...]
$('#status').on('change', function() {
$('#submit').prop( "disabled", !$('#submit').prop( "disabled"));
});
```https://code.ffdn.org/ffdn/coin/-/issues/214Mettre un captcha sur le module d'inscription2019-08-28T23:55:06ZljfMettre un captcha sur le module d'inscriptionCe serait bien de mettre un captcha sur le formulaire d'inscription.
Chez ARN on a utiliser la technique du champs caché.
```
<p class="captcha">1+1: <input type="text" value="" /></p>
```Ce serait bien de mettre un captcha sur le formulaire d'inscription.
Chez ARN on a utiliser la technique du champs caché.
```
<p class="captcha">1+1: <input type="text" value="" /></p>
```https://code.ffdn.org/ffdn/coin/-/issues/213Faire tomber en marche les nested inlines pour regrouper l'info dans moins de...2019-08-28T09:26:37ZjocelynFaire tomber en marche les nested inlines pour regrouper l'info dans moins de vues différentes.cc @ljf
## Pourquoi ?
Actuellement, on a des abonnements (OfferSubscription) liés à des configuration (*Configuration) liés à des range IP (IPSubnet).
Dans la page d'admin des `OfferSubscription`, on peut afficher (en inline) les `*Co...cc @ljf
## Pourquoi ?
Actuellement, on a des abonnements (OfferSubscription) liés à des configuration (*Configuration) liés à des range IP (IPSubnet).
Dans la page d'admin des `OfferSubscription`, on peut afficher (en inline) les `*Configuration`… Mais pas les `IPSubnet` associés : on ne peut « traverser » qu'un niveau de relation. C'est une limitation de l'admin Django.
Si jamais on parvient à faire sauter cette limite, on peut simplifier pas mal l'admin, en remplaçant les menus « abonnements » + « Configuration » + « Tunnels VPN » + …………… par un menu « Abonnement » puisque les vues d'abonnement inclueront alors toutes les infos nécessaires… Grosse simplification de l'admin.
## Quoi ?
C'est le concept d'[Inline de l'admin Django](https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin) qui est limité à un niveau. Des libs tierces permettent d'outrepasser cette limite.
## Comment ?
À tester :
- https://github.com/theatlantic/django-nested-admin
- https://github.com/BertrandBordage/django-super-inlines
- https://github.com/s-block/django-nested-inline/ (old)https://code.ffdn.org/ffdn/celutz/-/issues/86Information in panorama mode hide behind the map2019-08-27T11:30:09Zmarmat8951Information in panorama mode hide behind the mapThe information box saying what's the heading and elevation hide behind the map, and can move after the right side of the window. It should move to the left side when it get close to the map or the right side.
![celutz_bug](/uploads/5333...The information box saying what's the heading and elevation hide behind the map, and can move after the right side of the window. It should move to the left side when it get close to the map or the right side.
![celutz_bug](/uploads/533389ac7830fac4cff6bab3529bb532/celutz_bug.png)https://code.ffdn.org/ffdn/coin/-/issues/211Il est possible de valider une facture non rattachée à un membre2019-08-26T13:26:25ZjocelynIl est possible de valider une facture non rattachée à un membreÉtonnant n'est-ce pas ?
Je me demande si il y a une raison historique à ça ou si c'est un bête bug.Étonnant n'est-ce pas ?
Je me demande si il y a une raison historique à ça ou si c'est un bête bug.https://code.ffdn.org/ffdn/coin/-/issues/205Permettre aux utilisateurs de déclencher des actions sur leurs services2019-08-26T10:44:45ZljfPermettre aux utilisateurs de déclencher des actions sur leurs servicesOn aurait besoin que les utilisateurs puissent déclencher un certains nombre d'action concernant leurs services sans avoir besoin d'un adminsys de l'asso. C'est moins humains, mais ça permet d'avoir moins de charge au quotidien et de se ...On aurait besoin que les utilisateurs puissent déclencher un certains nombre d'action concernant leurs services sans avoir besoin d'un adminsys de l'asso. C'est moins humains, mais ça permet d'avoir moins de charge au quotidien et de se concentrer sur la maintenance, l'évolution des services et autres...
En gras les trucs qui sont le plus nécessaire chez ARN:
Permettre à un utilisateur de gérer ses services:
* [ ] **Configurer le reverse DNS en ipv4 et en ipv6 (pour vpn, vps, housing, adsl...)**
* [ ] **Redémarrer son VPS**
* [ ] Redémarrer son VPS sur une iso (liste des iso à récupérer soit par la conf, soit en demandant à l'infra)
* [ ] Redémarrer en mode rescue (genre le stockage monté sur un autre VPS temporaire)
* [ ] Renouveler son certificat de sécurité VPN
* [ ] Redémarrer électriquement son serveur physique (via les prises manageables)
* [ ] ??? supprimer son VPN/VPS
Connaître l'état de son service ? :
* [ ] ? État de sa connexion wifi
* [ ] ? État de son VPS
S'inscrire à un service (potentiellement avec validation d'un admin ?):
* [ ] **Créer son compte sur un yunohost (sans-nuage.fr), pour ARN on a besoin qu'ils puissent le faire à l'inscription**
* [ ] Créer un VPS/VPN
Automatiser certaines actions d'administration:
* [ ] ??? Clore un service si ce dernier est supprimé de l'infra
* [ ] Supprimer un service
Sur le plan technique on peut avoir besoin de faire confirmer par un admin certaines actions, ou de les déclencher dans l'interface d'admin. On peut aussi avoir besoin de gérer une queue ou des rate limit pour éviter que quelqu'un casse l'infra.
Sachant que tout ceci nécessite un gros boulot pour s'interfacer correctement.
Il faudra bien valider les entrées (genre pas d'injection dans bind ou pas de reboot d'un autre adhérent possible...).
J'ai listé beaucoup d'action, mais faut y aller petit à petit, si déjà on avait le reverse dns on est contente.
Ticket à propos du reverse dns: https://code.ffdn.org/ffdn/coin/issues/34alexAubinalexAubin