wp-organisme-de-formation issueshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues2024-01-25T15:32:57Zhttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/124Générer automatiquement la fiche de suivi et de synthèse (F2S) en fonction de...2024-01-25T15:32:57ZNicolas DuclosGénérer automatiquement la fiche de suivi et de synthèse (F2S) en fonction des informations saisies.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/123Améliorer la liste des documents pour les responsables de formation2024-01-25T15:10:58ZNicolas DuclosAméliorer la liste des documents pour les responsables de formationAvoir une liste de documents utilisables pour les contrôles qualiopi par Knock et qui affiche les documents et leur type associés par formateur.ice > Session.
A voir les filtres / classement : par session / par client / etc ?
A discute...Avoir une liste de documents utilisables pour les contrôles qualiopi par Knock et qui affiche les documents et leur type associés par formateur.ice > Session.
A voir les filtres / classement : par session / par client / etc ?
A discuter avec Knock.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/122Interface qui permet d'associer un type de document à un fichier dans une ses...2024-01-25T15:06:49ZNicolas DuclosInterface qui permet d'associer un type de document à un fichier dans une session, dans un clientAu niveau session et client, un bouton permet d'uploader un fichier et de lui associer un type de document à choisir dans une liste de type de documents.
Il ya aussi des actions spécifiques qui permettent d'uplaoder et typer en même temp...Au niveau session et client, un bouton permet d'uploader un fichier et de lui associer un type de document à choisir dans une liste de type de documents.
Il ya aussi des actions spécifiques qui permettent d'uplaoder et typer en même temps par exemple : convention de stage. Je clique sur le bouton convention et ça me propose l'uplaod et ça type automatiquement.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/121Gérer les types de documents dans le backend2024-01-25T15:00:22ZNicolas DuclosGérer les types de documents dans le backendInterface d'admin d'un fichier YAML ou base de données ?Interface d'admin d'un fichier YAML ou base de données ?Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/120Associer un type de documents et d'autres meta data à un document2024-01-25T14:47:13ZNicolas DuclosAssocier un type de documents et d'autres meta data à un documentMéta données associées dans la classe Document :
Type de document / Session / Client / Sous-traitance / Par qui signé / Est-ce que c'est signé / comment c'est signé / état de validation / etc.Méta données associées dans la classe Document :
Type de document / Session / Client / Sous-traitance / Par qui signé / Est-ce que c'est signé / comment c'est signé / état de validation / etc.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/119Créer une classe type de documents2024-02-06T11:22:28ZNicolas DuclosCréer une classe type de documentsMettre en place des types de documents qui permettraient de représenter tous les types de documents nécessaires (conventions, relances, évaluation des besoins) : https://pad.coopaname.coop/o8Yk6OUmSjyqn-cJnHuaPQ?both#Liste-des-%C3%A9l%C3...Mettre en place des types de documents qui permettraient de représenter tous les types de documents nécessaires (conventions, relances, évaluation des besoins) : https://pad.coopaname.coop/o8Yk6OUmSjyqn-cJnHuaPQ?both#Liste-des-%C3%A9l%C3%A9ments-de-preuve
Les types de documents seraient défini dans un fichier YAML (éventuellement autre chose si c'est mieux) un fichier de conf éditable par un dev.
Ces types seraient associées aux documents comme des méta données.
Liste des propriétés à mettre dans la classe DocumentType :
* client_type (choix unique) : morale, physique
* contrat_type (choix unique) : direct, sous-traitance (de quel type de contrat dépend ce document ?)
* is_contrat (bool) : ce document est le contrat
* contexte (choix multiple) : session, client, stagiaire, formateur, formation (entité liée au document → interface où apparaît le document)
* nature_formation (choix unique) : form, bilan, vae (à quelle nature de formation est lié ce document : action de formation, bilan de compétence, VAE)
* need_validation (bool) : ce document nécessite-t-il d'être relu et validé par un⋅e responsable
* signature (choix multiple) : responsable, client, formateur, stagiaire (qui doit signer ?)Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/118Juste un test2024-01-25T16:10:38ZNicolas DuclosJuste un testC'était un test....C'était un test....https://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/117Finaliser la gestion des plugins2023-12-22T11:04:16ZDimitri RobertFinaliser la gestion des plugins* [ ] Gestion de catégories de plugins (par exemple, en déposant les catégories dans le dossier module préfixés par `_` _:_ `_erp.php` ). Les catégories sont visibles dans l'interface d'admin et recensent les plugins de cette catégorie. ...* [ ] Gestion de catégories de plugins (par exemple, en déposant les catégories dans le dossier module préfixés par `_` _:_ `_erp.php` ). Les catégories sont visibles dans l'interface d'admin et recensent les plugins de cette catégorie. Elles sont toutes actives par défaut.
* [ ] Un plugin peut être activable dans sa catégorie
* soit de manière exclusive (pas d'autres plugin de la même catégorie) : `erp` doit être exclusif car un seul ERP par entité juridique
* soit on peut en activer plusieurs, par exemple pour des plugins de plateforme pédagogiques (Moodle, Chamillo) : un au global et les autres disponibles pour activation personnelle
* [ ] Les plugins de catégorie permettant à plusieurs plugins de cohabiter doivent pouvoir être gérés par les formateur⋅ices : un plugin éventuellement choisi et configuré au niveau global, les autres peuvent être activés par des formateur⋅ices pour passer outre le réglage global. Exemple : Moodle configuré au global, mais untel veut utiliser Chamillo ou son propre Moodle : iel doit pouvoir le faire.https://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/116Actions sur les stagiaires2023-11-20T14:16:24ZDimitri RobertActions sur les stagiaires* [ ] pouvoir déplacer un stagiaire d'une session à une autre (même client of course)
* [ ] pouvoir appliquer le statut de stagiaire sur l'ensemble des stagiaires
* [ ] gérer des groupes de stagiaires
* [ ] pouvoir affecter des créneaux/...* [ ] pouvoir déplacer un stagiaire d'une session à une autre (même client of course)
* [ ] pouvoir appliquer le statut de stagiaire sur l'ensemble des stagiaires
* [ ] gérer des groupes de stagiaires
* [ ] pouvoir affecter des créneaux/modules à des groupes de stagiairesDimitri RobertDimitri Roberthttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/115Interprétation des mots-clés de test2024-02-15T17:29:49ZDimitri RobertInterprétation des mots-clés de testChanger la manière dont sont analysés et interprétés les mots-clés de test dans les modèles de document.
Actuellement il existe une liste des symboles de test dans wpof-config.php et les expressions sont évaluées par eval().
Outre le f...Changer la manière dont sont analysés et interprétés les mots-clés de test dans les modèles de document.
Actuellement il existe une liste des symboles de test dans wpof-config.php et les expressions sont évaluées par eval().
Outre le fait que l'usage d'eval est déconseillé, il y a une erreur d'interprétation avec les symboles \< et \>.Chantier documentsDimitri RobertDimitri Roberthttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/114Modèles de document génériques2023-10-24T18:25:56ZDimitri RobertModèles de document génériquesCréer des modèles de documents au contenu génériques pour diffusion avec les nouvelles installations d'OPAGA.Créer des modèles de documents au contenu génériques pour diffusion avec les nouvelles installations d'OPAGA.Dimitri RobertDimitri Roberthttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/113Groupe de formateur⋅ices2023-09-22T14:28:51ZDimitri RobertGroupe de formateur⋅icesCréer une entité groupe à laquelle peuvent être rattachés plusieurs personnes.
* partage des formations
* visibilité de l'activité de chaque membre
* logo de groupe
* choix du logo à faire apparaître dans l'en-tête des documents
* page ...Créer une entité groupe à laquelle peuvent être rattachés plusieurs personnes.
* partage des formations
* visibilité de l'activité de chaque membre
* logo de groupe
* choix du logo à faire apparaître dans l'en-tête des documents
* page publique de groupehttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/112Notifier mattermost quand il ya des nouvelles issues/push/etc2023-07-21T13:34:42ZNicolas DuclosNotifier mattermost quand il ya des nouvelles issues/push/etchttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/111Refonte du système d'entrée de formulaire2023-07-21T13:34:00ZDimitri RobertRefonte du système d'entrée de formulaireTransformer le contenu de la fonction get_input_jpost en un ensemble de classes :
* une classe abstraite InputJpost
* autant de classe que de type de champ
En profiter pour retarder la création du champ de formulaire avec la classe `ed...Transformer le contenu de la fonction get_input_jpost en un ensemble de classes :
* une classe abstraite InputJpost
* autant de classe que de type de champ
En profiter pour retarder la création du champ de formulaire avec la classe `editable` :
* actuellement get_input_jpost construit le champ de formulaire
* il faudrait pouvoir afficher seulement la valeur et que le champ ne soit créé qu'au déclenchement de l'événement lié à la classe `editable` (l'idée est d'alléger les pages de gestion qui comportent un grand nombre d'InputJpost)
En profiter pour implémenter le verrou sur les données cf. #108
Créer un champ de formulaire « multiple » permettant de regrouper dans un même bloc plusieurs occurrences d'un même champ de formulaire. Exemple, un champ « Financement » pouvant contenir plusieurs entrées, en nombre indéterminé.https://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/110Avoir des ids de documents stables2024-01-25T15:02:22ZNicolas DuclosAvoir des ids de documents stablesActuellement les nom de fichier des documents sont construit à partir des slugs wordpress qui peuvent changer. Faire que l'identification du document ne change pas dans le temps.Actuellement les nom de fichier des documents sont construit à partir des slugs wordpress qui peuvent changer. Faire que l'identification du document ne change pas dans le temps.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/109Pouvoir déposer des documents maison dans Opaga2024-01-25T14:47:53ZNicolas DuclosPouvoir déposer des documents maison dans OpagaPouvoir déposer ses propres documents dans Opaga.Pouvoir déposer ses propres documents dans Opaga.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/108Verrou sur les données2023-07-21T13:34:01ZDimitri RobertVerrou sur les donnéesVerrouiller l'accès aux données d'une session, d'un client, d'un stagiaire, lorsque une personne les modifie.
Sur les pages de session, verrouiller uniquement les données de la page affichée.
Sur les pages de gestion, à l'activation d'...Verrouiller l'accès aux données d'une session, d'un client, d'un stagiaire, lorsque une personne les modifie.
Sur les pages de session, verrouiller uniquement les données de la page affichée.
Sur les pages de gestion, à l'activation d'une ligne (et de ses champs de formulaire via la classe edit-data), détecter s'il y a un verrou. Sinon, appliquer un verrou tant que la classe edit-data est présente. Lever le verrou au retrait de cette classe.
Gestion du verrou :
* un verrou doit être stocké en base de données
* en JavaScript pour détecter l'activité :
* maintenir l'activité tant que la page est affichée (test toutes les 30 s par exemple)
* lever le verrou lorsque la page est quittée
* en PHP pour détecter l'inactivité :
* vérifier la présence des verrous régulièrement (toutes les 10 minutes par exemple)
* si un verrou a plus de 10 minutes on le virehttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/107Créer une interface de communication avec des ERP2023-11-28T14:03:12ZNicolas DuclosCréer une interface de communication avec des ERPMettre en place un système permettant d'interfacer Opaga avec différents outils comme Odoo, Dolibarr ou autre.
Fonctions de base :
liste des clients, détail d'un client, liste des factures, détail d'une facture, liste des devis, détail ...Mettre en place un système permettant d'interfacer Opaga avec différents outils comme Odoo, Dolibarr ou autre.
Fonctions de base :
liste des clients, détail d'un client, liste des factures, détail d'une facture, liste des devis, détail d'un devis, création d'une facture, verification que le.la formateur.ice est active dans l'erp.Audit interne coopaname Qualiopi - sprint 1Nicolas DuclosNicolas Ducloshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/106Bloquer les documents en cours de signature.2024-01-25T14:46:24ZDimitri RobertBloquer les documents en cours de signature.Il faut empêcher le téléchargement d'un document PDF entre la création de la version finale par une responsable et le dépôt de la version signée.Il faut empêcher le téléchargement d'un document PDF entre la création de la version finale par une responsable et le dépôt de la version signée.Chantier documentshttps://framagit.org/dimitrirobert/wp-organisme-de-formation/-/issues/105Décalage de dates : problème de téléscopage de créneau2023-07-21T07:48:59ZDimitri RobertDécalage de dates : problème de téléscopage de créneauLorsqu'une nouvelle date vient remplacer une ancienne, avant que cette dernière n'ait été remplacée, la DB renvoie une erreur.
Il faut donc trouver un moyen d'éviter les conflits en réordonnant le tableau de créneau au moment de la sauve...Lorsqu'une nouvelle date vient remplacer une ancienne, avant que cette dernière n'ait été remplacée, la DB renvoie une erreur.
Il faut donc trouver un moyen d'éviter les conflits en réordonnant le tableau de créneau au moment de la sauvegarde.
Commencer par la fin n'est pas une solution. Il faut un réordonnancement intelligent.