« MoreField » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
 
(22 versions intermédiaires par la même utilisatrice non affichées)
Ligne 7 : Ligne 7 :


== Présentation ==
== Présentation ==
Le module moreField permet de créer des champs supplémentaires sur les écrans et listes de Dolibarr.
Pour cela on définie le titre du champ, l'écran ou la liste sur lequel placé celui-ci en précisant son contexte et enfin une requête SQL permet de récupérer les informations et les afficher
Il est enfin possible de n'afficher ses nouveaux champs selon un profil déterminé ou en filtrant des informations propres à l'utilisateur connecté.
[[file:morefield_Page.png|600px]]


Il est possible d'afficher ce champs supplémentaire sur la liste associé en spécifiant un autre context propre à la liste des éléments
[[file:morefield_List.png|600px]]


== Paramétrage ==
== Paramétrage ==
La configuration du module s'effectue depuis la page d'administration des modules accessible par les menus '''Accueil > Configuration > Modules''' en cliquant sur l'icône [[file:doli-setup.png]] ou l'icône [[file:doli-setup-old.png]] en bout de ligne.
La configuration du module s'effectue depuis la page d'administration des modules accessible par les menus '''Accueil > Configuration > Modules''' en cliquant sur l'icône [[file:doli-setup.png]] ou l'icône [[file:doli-setup-old.png]] en bout de ligne.


[[file:myfield_Configuration.png|800px]]


=== Page de configuration du module ===
=== Page de configuration du module ===


==== Activation du contexte pour le développement====
==== Activation du contexte pour le développement====
MyField permet d'afficher sur certaines pages de Dolibarr les contextes utilisables pour limiter les actions de personnalisations des myFields.
MoreField permet d'afficher sur certaines pages de Dolibarr les contextes utilisables pour limiter les actions de personnalisations des moreFields.
Ces contextes seront utiles lors de la création de myFields pour limiter l'action du module aux seules pages possédant dans leur code le contexte indiqué sur la fiche du myField.
Ces contextes seront utiles lors de la création de moreFields pour limiter l'action du module aux seules pages possédant dans leur code le contexte indiqué sur la fiche du moreField.
Paramétrer l'affichage des contexte sur vos pages vous permettra de les identifier pour paramétrer au mieux vos myfields.
Paramétrer l'affichage des contexte sur vos pages vous permettra de les identifier pour paramétrer au mieux vos morefields.


{| class="wikitable"
{| class="wikitable"
Ligne 61 : Ligne 67 :
|}
|}


== Démarrage ==
== Menu du module==


Les fonctionnalités de MoreField sont accessibles depuis l'onglet de menu principal Patastools.
Les fonctionnalités de MoreField sont accessibles depuis l'onglet de menu principal Patastools.
Ligne 85 : Ligne 91 :
|}
|}


== Fonctionnement ==
== Creation d'un moreField ==
====Création d'un moreField====
Les myfields de liste permettent de limiter l'affichage de champs.
il est nécessaire d'ouvrir la page de liste pour récupérer des informations propre à ce type de myField
* le contexte d'activation
* le libellé non traduit du champs


====Exemple de paramétrage====
{| class="wikitable"
Nous allons modifier la colonne "Tiers" sur la liste des interventions
|- style="vertical-align:top;"  
 
| [[file:Morefield-detail-champs.png|600px]]
[[file:Myfield-masque-tiers.png|600px]]
| Pour créer un morefield, il convient de définir
 
* le texte du champ à ajouter
Selon les habilitations, le champs sera aussi inaccessible dans le sélecteur de champs.
* le type de données à afficher (numérique, texte, date, ...)
 
* l'écran et / la liste où le positionner grâce au context
[[file:myfield_Liste-contrats.png|600px]]
* la requête SQL permettant de récupérer les données à afficher
 
* un tooltip à afficher à coté du champs
{{Note|Si vous rendez un myField de liste invisible, il sera invisible de tous les utilisateur. Pour le cacher seulement à un ou des groupes d'utilisateurs, laissez le visible et jouter ensuite avec les droits d'accès !}}
|}


{| class="wikitable"
|- style="vertical-align:top;"
| [[file:Morefield-creation-champs.png|600px]]
|  Une fois enregistré, la page affiche le moreField nouvellement crée
Il est possible de modifier à nouveau le morefield ou le supprimer
|}


=Requête SQL de traitement=
=Requête SQL de traitement=
Ligne 109 : Ligne 116 :
* #ID# : l'id de l'objet principale de la page  
* #ID# : l'id de l'objet principale de la page  
* #USERID# : l'id de l'utilisateur actif
* #USERID# : l'id de l'utilisateur actif
* #SEL# permet de remplacer le SELECT de la requête SQL qui sera bloqué par la sécurité native de Dolibarr (SQL Injection)


==Fonctionnement==


Saisissez ici la requête d'affichage applicable au champs sur l'exemple suivant :


#SEL# permet de remplacer le SELECT de la requête SQL qui sera bloqué par la sécurité native de Dolibarr (SQL Injection)


''#SEL# IF(fk_product_type=1, 1, 0) AS `read`, IF(fk_product_type=1, 1, 0) AS `write` FROM llx_product WHERE rowid=#ID#; ''
read permet d'autoriser ou non l'affichage globale du champ
write permet d'autoriser ou non sa modification (pas nécessaire dans le cas d'un bouton un un onglet...)
Si la valeur est à 0, le champs est caché, dans le cas contraire il est affiché
Attention, si on laisse le paramètre du champs à caché, il n'apparaitra pas quel que soit la valeur
==Exemple==
Avec le myfield suivant
[[file:myfield_Creation_requete.png|800px]]
{| class="wikitable"
|- style="vertical-align:top;"
| On obtient la fiche suivante sur un '''produit'''
[[file:myfield_Creation_requete_result.png|400px]]
| Tandis que sur la fiche d'un '''service'''
[[file:myfield_Creation_requete-fiche.png|400px]]
|}
=Paramétrage des droits d'accès aux moreField
==Configuration des droits d'accès==
==Configuration des droits d'accès==
En tant qu'utilisateur administrateur, tous les moreFieldvous sont visibles.
En tant qu'utilisateur administrateur, tous les moreFieldvous sont visibles.
Ligne 159 : Ligne 141 :
|}
|}


==Comportement selon les droits d'accès==
=Comportement selon les droits d'accès=
===Bloqué en accès ([[file:lecture-off.png]]) ===
==Bloqué en accès ([[file:lecture-off.png]]) ==


{| class="wikitable"  
{| class="wikitable"  
Ligne 167 : Ligne 149 :
| Le champ sera caché aux utilisateurs du groupe. Ils ne pourront pas l'afficher
| Le champ sera caché aux utilisateurs du groupe. Ils ne pourront pas l'afficher


le lien ''Show/Hide'' ne sera pas actif
|}
===Accès en lecture mais bloqué en modification ([[file:lecture-on.png]][[file:modif-of.png]]) ===
{| class="wikitable"
|- style="vertical-align:top;"
| [[file:myfield-User-lecture-.png|600px]]
| Les utilisateurs du groupe pourront afficher le champ, mais ne pourront pas en modifier le contenu.
|}
===Accès en lecture et Accès en modification ([[file:lecture-on.png]][[file:modif-on.png]]) ===
{| class="wikitable"
|- style="vertical-align:top;"
| [[file:myfield-User-lecture+-modif+.png|600px]]
|
Les utilisateurs du groupe pourront afficher le champ et le modifier si leurs permissions de groupe ou d'utilisateur le leur permettent. Les paramètres du champ s'appliquent alors (obligatoire, masque de saisie,...)
|}
|}


Ligne 200 : Ligne 168 :
|- style="background-color:orange; font-weight:bold;"
|- style="background-color:orange; font-weight:bold;"
| Fiche
| Fiche
| Contexte
| Contexte Ecran
| Contexte List
|-
|-
| Adhérent
| Adhérent
| membertypecard, membercard, memberlist
| membercard
| memberlist
|-
| Adhérent (type)
| membertypecard
| membertypelist
|-
| compte Bancaire
| bankcard
| bankaccountlist
|-
|-
| Bom
| Bom
| bomcard, bomlist
| bomcard
| bomlist
|-
|-
| Catégories
| Catégories
Ligne 212 : Ligne 191 :
|-
|-
| Commandes
| Commandes
| ordercard, orderlist
| ordercard
| orderlist
|-
|-
| Commande fournisseur
| Commande fournisseur
| ordersuppliercard
| ordersuppliercard
| supplierorderlist
|-
| Conges
| holidaycard
| holidaylist
|-
|-
| Contact
| Contact
| contactcard
| contactcard
| contactlist
|-
|-
| Contrat
| Contrat
| contractcard
| contractcard
|contractlist
|-
|-
| Don
| Don
| doncard
| doncard
| donationlist
|-
|-
| Entrepôt
| Entrepôt
| warehousecard
| warehousecard
| stocklist
|-
|-
| Expédition
| Expédition
| expeditioncard
| expeditioncard
|-
| shipmentlist
| Facture client
| invoicecard
|-
| Facture fournisseur
| suppliercard
|}  
|}  


| style="vertical-align:top;" |  
| style="vertical-align:top;" |  
Ligne 244 : Ligne 227 :
|- style="background-color:orange; font-weight:bold;"
|- style="background-color:orange; font-weight:bold;"
| Fiche
| Fiche
| Contexte
| Contexte Ecran
| Contexte List
|-
| Facture client
| invoicecard
|-
| Facture fournisseur
| invoicesuppliercard
| supplierinvoicelist
|-
|-
| Intervention
| Intervention
| interventioncard
| interventioncard
| interventionlist
|-
|-
| Livraison
| Livraison
Ligne 257 : Ligne 249 :
| Produit
| Produit
| productcard
| productcard
| productservicelist
|-
|-
| Projet
| Projet
| projectcard
| projectcard
| projectlist
|-
| Projet / tâches
|projecttaskcard
|tasklist
|}
| style="vertical-align:top;" |
{| class="wikitable"
|- style="background-color:orange; font-weight:bold;"
| Fiche
| Contexte Ecran
| Contexte List
|-
|-
| Proposition commerciale
| Proposition commerciale
| propalcard, propallist
| propalcard
| propallist
|-
| Réception
| receptioncard
| receptionlist
|-
|-
| Règlement client
| Règlement client
| paiementcard
| paiementcard
| paiementlist
|-
|-
| Règlement fournisseur
| Règlement fournisseur
| paymentsupplier
| paymentsupplier
| paymentsupplierlist
|-
|-
| Salaire
| Salaire
| salarycard
| salarycard
|-
| salarieslist
| Tache
| projecttaskcard
|-
|-
| Tiers
| Tiers
| thirdpartycard
| thirdpartycard
| thirdpartylist
|-
| Ticket
| ticketcard
| ticketlist
|-
|-
| Utilisateur
| Utilisateur
| usercard
| usercard
 
| userlist
|}
|}
|}
|}



Dernière version du 14 juillet 2023 à 20:08

Le module moreField permet d'ajouter des champs basés sur des requetes SQL dans les fiches et listes de Dolibarr.

Vous pouvez choisir vous-même le libellé, le contenu, le type (numérique, date, ...) et le format de la données affiché

Présentation

Le module moreField permet de créer des champs supplémentaires sur les écrans et listes de Dolibarr. Pour cela on définie le titre du champ, l'écran ou la liste sur lequel placé celui-ci en précisant son contexte et enfin une requête SQL permet de récupérer les informations et les afficher Il est enfin possible de n'afficher ses nouveaux champs selon un profil déterminé ou en filtrant des informations propres à l'utilisateur connecté.

Il est possible d'afficher ce champs supplémentaire sur la liste associé en spécifiant un autre context propre à la liste des éléments

Paramétrage

La configuration du module s'effectue depuis la page d'administration des modules accessible par les menus Accueil > Configuration > Modules en cliquant sur l'icône ou l'icône en bout de ligne.


Page de configuration du module

Activation du contexte pour le développement

MoreField permet d'afficher sur certaines pages de Dolibarr les contextes utilisables pour limiter les actions de personnalisations des moreFields. Ces contextes seront utiles lors de la création de moreFields pour limiter l'action du module aux seules pages possédant dans leur code le contexte indiqué sur la fiche du moreField. Paramétrer l'affichage des contexte sur vos pages vous permettra de les identifier pour paramétrer au mieux vos morefields.

L'activation de l'affichage des contextes se traduit par des messages comme ci-contre

L'administrateurs est au dessus des règles d'accès

Vous pouvez aussi choisir de désactiver l'utilisation des droits d'accès pour l'utilisateur administrateur.

Si ce paramètre est activé, l'administrateur verra, hors de tout groupe, les myfields en fonctionnement.


Information de support

Vous trouverez en bas de la page de configuration les informations techniques liées à votre installation. Ces informations techniques seront utiles et pourront vous être demandées si vous rencontrez un bug dans l'utilisation du module :

Permissions

Les accès aux fonctionnalités du module peuvent être restreints aux utilisateurs et groupes existants ou créés ultérieurement à l'installation du module.

Cliquez sur le – pour ajouter un permission.

Une permission accordée est symbolisée par un coche verte ().

Attention : il y a d'autres paramètres qui peuvent impacter l'accès aux champs, notamment quand on utilise un compte administrateur


Permissions utilisateurs et groupes

Les accès aux fonctionnalités du modules peuvent être restreints aux utilisateurs et groupes, depuis leur fiche puis onglet Permissions, selon les permissions ci-contre

Permissions par défaut

Les permissions par défaut (Accueil > Configuration > Sécurité > Permissions par défaut), accordées à tout utilisateur créé ultérieurement à l'installation du module, si il n'est pas ajouté à un groupe, sont les suivantes

Menu du module

Les fonctionnalités de MoreField sont accessibles depuis l'onglet de menu principal Patastools. Votre menu secondaire présente alors les entrées de menu suivantes :

MoreField L'entrée principale affiche la liste de tous les moreFields de votre environnement

Nouveau moreField

Ce menu affichera la page de création d'un nouveau moreField
Liste des moreFields Cette entrée affichera également la liste des moreFields enregistrés sur votre environnement
Droits d'accès aux éléments Cette page vous permettra de paramétrer les habilitations des groupes d'utilisateurs aux fonctionnalités de moreFields
Import XML Cette entré affichera une page permettant de copier un fichier d'import d'un moreFieldsau format XML.

Creation d'un moreField

Pour créer un morefield, il convient de définir
  • le texte du champ à ajouter
  • le type de données à afficher (numérique, texte, date, ...)
  • l'écran et / la liste où le positionner grâce au context
  • la requête SQL permettant de récupérer les données à afficher
  • un tooltip à afficher à coté du champs
Une fois enregistré, la page affiche le moreField nouvellement crée

Il est possible de modifier à nouveau le morefield ou le supprimer

Requête SQL de traitement

La requête de traitement va conditionner l'affichage des champs selon la correspondance de l'objet à la requête. Il est alors possible, par exemple, d'afficher des champs différents selon que l'objet est un produits ou un service. Il est possible de transmettre en paramètre deux valeurs :

  • #ID# : l'id de l'objet principale de la page
  • #USERID# : l'id de l'utilisateur actif
  • #SEL# permet de remplacer le SELECT de la requête SQL qui sera bloqué par la sécurité native de Dolibarr (SQL Injection)



Configuration des droits d'accès

En tant qu'utilisateur administrateur, tous les moreFieldvous sont visibles.

Sur la page d'accueil du module moreField, l'application des personnalisations est désactivée

Si vous n'avez pas défini de groupes utilisateurs, les moreFieldsont affichés sur les interfaces de tous les utilsiateurs.

Depuis l'entrée de menu secondaire Patas-Tools > moreField> droits d'accès aux onglets, paramétrez les accès des groupes d'utilisateurs :

Il existe quatre droits d'accès :

Bloqué en accès

Accès en lecture

Bloqué en modification

Accès en modification

Comportement selon les droits d'accès

Bloqué en accès ()

Le champ sera caché aux utilisateurs du groupe. Ils ne pourront pas l'afficher

Autres fonctionnalités

Import des moreField

Il est possible d'enregistrer une liste de moreFieldet leurs paramétrages en important un fichier XML. Depuis la page Outils Patas-M > moreField> Importer , collez le fichier XML dans la zone de saisie et cliquez sur le bouton Lancer l'importation.

Si vous cochez la case Écraser les données précédentes, votre liste de moreField se résumera à ceux présent dans le ficher que vous importez

Paramétrer ensuite les droits d'accès des utilisateurs au moreField.

Contexte d'activation

Une liste de tous les contextes disponible est présent sur le wiki de dolibarr: https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks#Liste_des_Contexts_disponibles_dans_Dolibarr

quelque uns des plus courants

Fiche Contexte Ecran Contexte List
Adhérent membercard memberlist
Adhérent (type) membertypecard membertypelist
compte Bancaire bankcard bankaccountlist
Bom bomcard bomlist
Catégories categorycard
Commandes ordercard orderlist
Commande fournisseur ordersuppliercard supplierorderlist
Conges holidaycard holidaylist
Contact contactcard contactlist
Contrat contractcard contractlist
Don doncard donationlist
Entrepôt warehousecard stocklist
Expédition expeditioncard shipmentlist
Fiche Contexte Ecran Contexte List
Facture client invoicecard
Facture fournisseur invoicesuppliercard supplierinvoicelist
Intervention interventioncard interventionlist
Livraison deliverycard
Note de frais tripandexpensecard
Produit productcard productservicelist
Projet projectcard projectlist
Projet / tâches projecttaskcard tasklist
Fiche Contexte Ecran Contexte List
Proposition commerciale propalcard propallist
Réception receptioncard receptionlist
Règlement client paiementcard paiementlist
Règlement fournisseur paymentsupplier paymentsupplierlist
Salaire salarycard salarieslist
Tiers thirdpartycard thirdpartylist
Ticket ticketcard ticketlist
Utilisateur usercard userlist

Questions fréquentes

Général

Ce chapitre répertorie les difficultés rencontrées avec le module. Vous y trouverez donc des éléments de réponse quant à son utilisation. Si vous rencontrez une autre erreur que celles décrites ci-dessous lors de l'utilisation de ce module :

  1. Désactivez et réactivez le module,
  2. Vérifier sur le ChangeLog si une nouvelle version a été publiée,
  3. Ré-installez/mettez à jour le module,
  4. Vérifiez que le remplacement de fichiers natifs de Dolibarr ne soit pas nécessaire au bon fonctionnement du module.
  5. Vérifiez qu'aucune incompatibilité avec un autre module ne soit indiquée. Le cas échéant, suivez nos préconisations.

Si, malgré ces manipulations, l'erreur persiste, contactez-nous en utilisant le formulaire dédié (http://docs.patas-monkey.com/support/). Ce formulaire est le mode de contact à privilégier pour toute difficulté d'utilisation ou remontée de bug. Aussi, nous vous remercions de ne pas multiplier les canaux d'échange pour un même objet.

Affichage d'un message en haut des pages de Dolibarr

Si vos pages de Dolibarr affichent un message semblable à l'image suivante, il ne s'agit pas d'un message d'erreur, mais de l'affichage des contextes de la page courante. Pour ne plus voir ces lignes affichées, désactivez l'affichage du contexte (voir Configuration).