n7consulting / Incipio

ERP / CRM for Junior-Entreprises.
http://jeyser-crm.n7consulting.fr
GNU Affero General Public License v3.0
42 stars 17 forks source link

Liste des balises disponibles pour documents-type #334

Closed KiDayz closed 3 years ago

KiDayz commented 3 years ago

Bonjour,

D'abord merci pour tout le travail que vous avez fait, c'est vraiment remarquable !

Je suis responsable des études chez Junior UTC, et on souhaite voir pour changer d'ERP de Beequick vers Jeyser. Je n'arrive pas à trouver dans la doc, ni sur le git, une liste de toutes les balises disponibles pour rédiger un document-type. Avez-vous cela sous la main ou cela n'a pas encore été rédigé ?

Bien à vous, Thomas WOILLEZ

Aytoris commented 3 years ago

Bonjour Thomas,

Les documents types fonctionnent avec Twig. La liste des mots clés se trouve sur le site de Jeyser

J'espère avoir répondu en partie, Vivien LACORRE

KiDayz commented 3 years ago

Sur la doc Jeyser, il n'y a que les mots clé "globaux" de présenté. Je pense forker la doc pour proposer une V1 de liste de mots-clés utilisables en précisant le contexte d'utilisation. Cela vous convient ? (On est en plein dans l'édit des documents-types donc ça nous fera quasi gagner du temps ^^)

Aytoris commented 3 years ago

Il y a plus de mots clés vers la diapo 34 de ce pdf presentation_jeyser_02-2017.pdf

Aytoris commented 3 years ago

Ça me semble important d'avoir une liste plus exhaustive dans la doc oui :) Quel doc dois-ton fork exactement quand on veut faire une modif ? jeyser-docs ou jeyser-site ?

Je suis également intéressé par votre méthodologie pour trouver les mots clés ;)

KiDayz commented 3 years ago

Ok merci pour le doc. La doc en ligne renvoie vers jeyser-docs, donc je pense que c'est celui qu'il faut forker.

Pour trouver les mots clés, on utilise les docs proposés sur le master pour se donner une idée de ce qu'il y a de dispo (path : ./var/documents/ ). Par exemple on trouve sur le template de l'AP : "etude.prospect.nomFormel", pour connaître les autres basiles on cherche avec VSC en recherche sur tout le dossier incipio-master "prospect." et dans les fichiers TWIG du coup il y a les balises. C'est assez long et pas très user-friendly, d'où l'idée de mettre à jour la doc.

Stoakes commented 3 years ago

Bonsoir,

Pour info, vous avez de nombreux documents types d'exemple fournis avec Jeyser. Ils sont normalement mis en place à l'installation et vous pouvez sinon les retrouver ici: https://github.com/n7consulting/Incipio/tree/master/var/documents

Vous pouvez trouver toutes les propriétés disponibles en regardant dans le code du modèle objet de Jeyser.

Prenons quelques exemples:

1. afficher le nom & prénom du signataire de la Convention Etude d'une étude

Trouver comment accéder à la CE

  1. On part de l'objet de base Etude: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/Etude.php
  2. On voit que l'attribut Convention Etude se nomme $ce https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/Etude.php#L229
  3. Et que $ce est exposé via le getter getCe: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/Etude.php#L1154
  4. On en déduit que l'on accède à la CE en faisant etude.ce

Trouver comment accéder au signataire

  1. Maintenant que l'on sait accéder à la CE, rendons nous dans l'objet la représentant: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/Ce.php
  2. On cherche le signataire parmi les attributs de la CE, mais rien de flagrant à priori
  3. Toutefois on note que l'objet CE hérite de l'objet DocType https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/Ce.php#L21
  4. Allons donc voir dans les attributs de l'objet Doctype: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/DocType.php
  5. On y voit cette fois qu'il y a 2 attributs signataires: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/DocType.php#L83 et que ces attributs sont exposés par les getters du même nom.
  6. On peut donc accéder à l'objet signataire en faisant etude.ce.signataire1

Etape finale: afficher nom & prénom

  1. La fonction getSignataire1 nous le montre, signataire1 est un objet de type Personne.
  2. Or le dossier https://github.com/n7consulting/Incipio/tree/master/src/Entity/Project ne contient aucun fichier Personne.php, comment faire ?
  3. Jeyser est correctement découpé en plus petite parties pour rendre le code plus maintenable, Personne.php est dans un autre module. Heureusement la liste des imports nous donne des indices d'où se trouve ce fichier: https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/DocType.php#L15 Il se trouve dans le dossier Personne
  4. Allons dans le dossier Personne: https://github.com/n7consulting/Incipio/tree/master/src/Entity/Personne
  5. On y retrouve bien Personne.php, ouvrons le.
  6. L'attribut de nom est disponible via getNom et celui de prenom est exposé via getPrenom
  7. Le résultat final est donc etude.ce.signataire1.prenom etude.ce.signataire1.nom

Note: L'exemple ignore volontairement les vérifications si les objets sont nuls

Bonus: il n'y a pas que les getters Les objets on aussi des fonctions pour aider au templating. Par exemple l'objet DocType a une fonction permettant d'afficher directement le nom de son signataire: getSignataire1NomFormel : https://github.com/n7consulting/Incipio/blob/master/src/Entity/Project/DocType.php#L133

L'exemple d'au dessus pourrait donc aussi s'écrire etude.ce.Signataire1NomFormel. Mais en regardant l'objet Personne, on se rend compte qu'il pourrait aussi s'écrire etude.ce.signataire1.PrenomNom indications

En conclusion, si le contenu des documents types d'exemples n'est pas suffisant, il n'y a actuellement pas d'autres choix que se plonger dans le modèle objet et chercher parmi toutes les fonctions disponibles + naviguer entre les objets.

KiDayz commented 3 years ago

Bonsoir,

Top merci pour les informations détaillées, c'est beaucoup plus clair que mon message d'avant :)

Vu que tout le monde n'a pas de notions d'informatique dans notre JE, on va rédiger un fichier qui répertorie un peu tout ça. Si ça vous tente je ferais un push sur la doc de notre travail et on discutera du format qui vous convient à ce moment là.

En tout cas, on prend en main l'ERP petit à petit, on note les issues à soulever, et on va essayé de s'organiser avec @Aytoris pour corriger tout ça ensemble !