coin issueshttps://code.ffdn.org/ffdn/coin/-/issues2022-02-19T21:18:17Zhttps://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/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/34alexAubinalexAubinhttps://code.ffdn.org/ffdn/coin/-/issues/204Adresse email « copie » optionelle pour les membres.2019-07-25T09:03:51ZjocelynAdresse email « copie » optionelle pour les membres.On a eu des demandes des membres de pouvoir recevoir les emails issus de coin (mail-list notamment) sur 2 addresses différentes.
L'idée est donc d'ajouter un champ pour mentionner une ou plusieurs adresses email additionnelles. Ces adre...On a eu des demandes des membres de pouvoir recevoir les emails issus de coin (mail-list notamment) sur 2 addresses différentes.
L'idée est donc d'ajouter un champ pour mentionner une ou plusieurs adresses email additionnelles. Ces adresses recevront les également les emails du membre concerné en plus de l'adresse de base paramétrée
ndlr: à la louche je dirais que ça concerne :
- les emails « transactionels » (ex: rappel de cotisation, de mdp…) : correspond à la fonction send_templated_mail et peut-être au mécanisme interne de renvoi de mdp
- les inscriptions aux mail-list
Je propose de vraiment faire bêtement et simplement un champ texte qui contienne une liste d'adresse email séparé par des virgules, et d'envoyer *tous* les mails venant de coin sur ces 2 adresses (sauf éventuellement les rappels de mdp). Le besoin existe mais il est faible en nombre et je voudrais éviter une fonctionnalité complexe…https://code.ffdn.org/ffdn/coin/-/issues/203Module Don2019-04-22T13:31:40ZbarthoiModule DonCôté Illyse, pour le moment, je fais des "Reçus" de don externe, à la demande, et je stock une liste des dons dans un coin (qui n'est pas COIN).
Avoir un module pour ça, serait cool. Peut être même directement dans la fiche membre, mais...Côté Illyse, pour le moment, je fais des "Reçus" de don externe, à la demande, et je stock une liste des dons dans un coin (qui n'est pas COIN).
Avoir un module pour ça, serait cool. Peut être même directement dans la fiche membre, mais il faudrait qu'il y est une simili-facture disponible pour le membre donateur.