« MyField » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
 
(Une version intermédiaire par la même utilisatrice non affichée)
Ligne 456 : Ligne 456 :
Les myfield de boutons permettent de rendre invisible bouton, remplacer le libellé, l'url associé au bouton et de rendre son accès visible selon le résultat d'une requete SQL
Les myfield de boutons permettent de rendre invisible bouton, remplacer le libellé, l'url associé au bouton et de rendre son accès visible selon le résultat d'une requete SQL


Attention sur certains thèmes de dolibarr, le libellé est basculé en majuscule, il faut donc utiliser le texte d'origine que l'on récupère avec le click droit et le menu inspecter.
[[file:myfield-creation-bouton.png|600px]]


 
{{Note|Avec le thème natif de Dolibarr, le libellé du bouton est mis en majuscule, il faut donc utiliser le texte d'origine que l'on récupère avec le click droit et le menu inspecter.}}
[[file:myfield-creation-bouton.png|600px]]


=Requête SQL d'affichage conditionnel=
=Requête SQL d'affichage conditionnel=

Dernière version du 21 novembre 2024 à 12:23

Le module myField permet de personnaliser les libellés des menus, onglets, bouton, champs des fiches et listes de Dolibarr.

Vous pouvez choisir vous-même le libellé, la couleur et l'accès de vos menus, des boutons, des onglets et champs des fiches et listes

Présentation

Selon le type de myfield (champs d'une fiche, liste, onglet,...), plusieurs autres options peuvent être appliquées aux champs des fiches telles qu'une couleur de fond, les afficher/ cacher, ajouter un masque de saisie, saisie en majuscule ...

Le jeu combiné des permissions utilisateurs et des droits d'accès aux myFields permet de paramétrer les accès des utilisateurs à la vue des champs, leur contenu et leur modification.

MyField permet encore de cacher des menus à des groupes d'utilisateurs et d'en modifier l'URL de destination.

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

MyField permet d'afficher sur certaines pages de Dolibarr les contextes utilisables pour limiter les actions de personnalisations des myFields. 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. Paramétrer l'affichage des contexte sur vos pages vous permettra de les identifier pour paramétrer au mieux vos myfields.

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.

Couleur de fond des zones de saisie

Par défaut les zones de saisies dans dolibarr sont transparentes, ce qui n'aide pas à la lisibilité Il est possible de changer la couleur de fond des zones de saisies

Couleur des boutons par défaut

Il y a trois types de boutons dans Dolibarr:

  • Les boutons associés à une action
  • Les boutons désactivés
  • Les boutons effectuant une suppression

myField permet de changer la couleur de ceux-ci

Remplacement des boutons natifs

MyField permet le remplacement des boutons standards de Dolibarr par des icônes.

au lieu de

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

Démarrage

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

MyField L'entrée principale affiche la liste de tous les myFields de votre environnement

Nouveau mf Field
Nouveau mf Tab
Nouveau mf Onglet
Nouveau mf de liste
Nouveau mf Menu
Nouveau mf Bouton

Ces entrées afficheront la page de création d'un nouveau myField selon son type :
  • champ de fiche
  • onglet
  • bouton
  • champs de liste
  • menu
Liste des éléments Cette entrée affichera également la liste des myFields 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 MyFields, tabs et menus.
Import XML Cette entré affichera une page permettant de copier un fichier d'import d'un myfield au format XML.

Personnalisations

Menus

Création du myField

La page de création d'un myField de type menu est accessible depuis le lien de menu secondaire Patas-tools > MyField > Nouveau myMenu.

Type de myField

le champ automatiquement rempli en fonction du lien de menu sur lequel vous avez cliqué pour afficher cette page de création (menu).

Libellé natif

saisissez ici le libellé natif du menu tel qu'il est affiché sur votre interface.

Type de menu

sélectionnez dans la liste déroulante le type de menu que vous souhaitez personnaliser selon qu'il s'agit d'un menu principal, d'un menu secondaire ou d'une entrée de menu secondaire.

Texte de remplacement

texte de votre choix qui sera affiché à la place du libellé natif.

Auteur

le nom du créateur du myField

Affichage

  • Visible : le champ sera affiché. Il s'agit du fonctionnement standard de Dolibarr.
  • Invisible : le champ sera absent des fiches
  • Caché : le champ sera absent des fiches mais pourra être affiché (Show/Hide).

Couleur de fond

utilisez le sélecteur de couleur pour déterminer la couleur de fond du champ.

Déplacement

saisissez -1 pour déplacer l'onglet du menu vers la gauche, 1 vers la droite.

URL de redirection

saisissez ici l'URL de la page qui s'affichera au clic sur l'onglet de menu. Si ce champ est laissé libre, l'URL native du menu sera conservée.

Suite à la création d'un myField, il sera nécessaire d'en définir les droits d'accès par groupes d'utilisateurs depuis le lien de menu secondaire du même nom (Voir plus loin)

Exemple de personnalisation d'un menu principal

Personnalisons le menu Accueil.

Exemple de personnalisation d'un menu et d'une entrée de menu secondaire

Personnalisons le menu secondaire Propositions commerciales et l'entrée de menu secondaire Nouvelle proposition.

L'entrée de menu secondaire sera déplacée d'un rang vers le bas avec le code -1 dans le champ Déplacement de sa fiche

Suite à l'application de ces deux personnalisations, le menu secondaire devient :

plutôt que

Cas particulier de entrées de menu secondaire "Liste"

Pour différencier les entrées de menu secondaire du même nom, saisissez le menu de niveau supérieur auquel elles sont rattachées séparées par un dièse (#) :

Ajoutez au libellé le menu secondaire : Propositions commerciales#Liste

Pour obtenir

Onglets

Création du myField d'onglet

La page de création d'un myField est accessible depuis le lien de menu secondaire Patastools > MyField > Nouveau MyTab.

Type de myField

le champ automatiquement rempli en fonction du lien de menu sur lequel vous avez cliqué.

Libellé natif

saisissez ici le libellé natif du menu tel qu'il est affiché à l'écran.

Contexte d'activation

Le contexte d'activation permet de limiter l'action des myFields sur les seuls champs des pages comportant le contexte indiqué ici.

Attention, pour les onglets, le contexte correspond au tabTitleText (le nom du premier onglet) (ex: "Tiers" pour l'élément Tiers, "Produit" pour l'élément Produit)

Si aucun context n'est saisi, les modifications apportées à l'onglet par le myfield s'appliqueront à tous les champs du même libellé de toutes les fiches.


Texte de remplacement

texte de votre choix qui sera affiché à la place du libellé natif.

Auteur

le nom du créateur du myField

Affichage

  • Visible : le champ sera affiché. Il s'agit du fonctionnement standard de Dolibarr.
  • Invisible : le champ sera absent des fiches
  • Caché : le champ sera absent des fiches mais pourra être affiché (Show/Hide).

Couleur de fond

utilisez le sélecteur de couleur pour déterminer la couleur de fond du myField.

Déplacement

saisissez -1 pour déplacer l'onglet du menu vers la gauche, 1 vers la droite.

URL de redirection

saisissez ici l'URL de la page qui s'affichera au clic sur l'onglet de menu. Si ce champ est laissé libre, l'URL native du menu sera conservée.


N'indiquez ici que la partie de l'URL suivant /htdocs/

Requête d'affichage : voir section Fonctionnement, ci-dessous

Suite à la création d'un myField, il sera nécessaire de définir les droits d'accès aux myFields par groupes d'utilisateurs depuis le lien de menu secondaire du même nom (Voir section Configuration des droits d'accès).

Exemple de personnalisation d'un onglet

Personnalisons l'onglet fiche des fiches des éléments.

La fiche devient alors

Si l'onglet est actif, la couleur sera affichée sur ses bords

Champs

Création du myField

La page de création d'un myField est accessible depuis le lien de menu secondaire Patastools > MyField > Nouveau MyField.


Type de myField

le champ automatiquement rempli en fonction du lien de menu sur lequel vous avez cliqué.

Libellé natif

saisissez ici le libellé natif du champ tel qu'il est affiché à l'écran.

Contexte d'activation

le contexte d'activation permet de limiter l'action des myFields sur les seuls champs des pages comportant le contexte indiqué ici. Si aucun contexte n'est saisi, les modifications apportées à l'onglet par le myfield s'appliqueront à tous les champs du même libellé de toutes les fiches.

Liste des principaux contexte

Texte de remplacement

texte de votre choix qui sera affiché à la place du libellé natif.

Auteur

le nom du créateur du myField

Affichage

  • Visible : le champ sera affiché. Il s'agit du fonctionnement standard de Dolibarr.
  • Invisible : le champ sera absent des fiches
  • Caché : le champ sera absent des fiches mais pourra être affiché (Show/Hide).
sur les dernières versions du module, (Show/Hide) n'est plus employé, il faut à présent cliquer sur le numéro de version de Dolibarr (en haut à droite)

Couleur de fond

utilisez le sélecteur de couleur pour déterminer la couleur de fond du myField.

Déplacement

saisissez 1 pour remonter d'un champ, -1 pour descendre.

Valeur par défaut

Taille du champ de saisie

à définir selon vos besoins. Si laissé vide, la valeur native du champ est conservée.

Obligatoire :

cochez cette case pour rendre la saisie de valeurs dans le champ obligatoire pour enregistrer la création ou les modifications de la page

Le contrôle du champ en création et modification n'est effectué que si l'on rentre en édition du champ lui-même

Masque de saisie

le masque de saisie est paramétrable avec les caractères suivants :

  • a pour une lettre (A-Z,a-z)
  • 9 pour un chiffre (0-9)
  • pour un caractère alphanumérique (A-Z,a-z,0-9)
Vous pouvez ajouter dans le champ les caractères que vous souhaitez pour constituer votre masque. Par exemple, si vous souhaitez ajouter un indicatif international au champ téléphone, le masque sera : +0099-(9)999999999
  • UPPERCASE pour forcer la saisie en majuscule.
  • LOWERCASE pour forcer la saisie en minuscule.

Requête d'affichage

Voir section Fonctionnement

Le déplacement d'un champ d'une fiche n'est effectué qu'au sein de son tableau. Il est donc possible de remonter ou descendre un champ, mais pas de le changer de colonne

Suite à la création d'un myField de type champ, il sera nécessaire de définir les droits d'accès aux myFields par groupes d'utilisateurs depuis le lien de menu secondaire du même nom (Voir section Configuration des droits d'accès).

Exemple de personnalisation d'un champ

Personnalisons le champ Id. prof. 2 (SIRET) des fiches de tiers.

Le champ a été paramétré en tant qu'invisible avec un masque de saisie de chiffres (999 999 999 99999)

En cliquant sur le lien Show/Hide au-dessus du tableau, le champ sera affiché selon les paramètres enregistrés sur la fiche du myField


Lors de l'édition du champ, le masque sera activé et ne permettra que la saisie prédéfinie et sa complétion vérifiée (rendu obligatoire) pour empêcher l'enregistrement de la page sans qu'il ne soit rempli.

Listes

Il est possible de modifier les champs des listes natives de dolibarr (celle avec une icone de sélection de champs en bout de liste)


Création du myField

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

Nous allons modifier la colonne "Tiers" sur la liste des interventions

Selon les habilitations, le champs sera aussi inaccessible dans le sélecteur de champs.

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 !


Boutons

Il est possible de modifier les boutons présent sur les fiches de dolibarr

Création du myField

Les myfield de boutons permettent de rendre invisible bouton, remplacer le libellé, l'url associé au bouton et de rendre son accès visible selon le résultat d'une requete SQL

Avec le thème natif de Dolibarr, le libellé du bouton est mis en majuscule, il faut donc utiliser le texte d'origine que l'on récupère avec le click droit et le menu inspecter.

Requête SQL d'affichage conditionnel

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

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

On obtient la fiche suivante sur un produit

Tandis que sur la fiche d'un service

Paramétrage des droits d'accès aux myFields, tabs et menus

Configuration des droits d'accès

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

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

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

Depuis l'entrée de menu secondaire Patas-Tools > MyField > 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

le lien Show/Hide ne sera pas actif

Accès en lecture mais bloqué en modification ()

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 ()

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,...)

Autres fonctionnalités

Import des myField

Il est possible d'enregistrer une liste de myfields et leurs paramétrages en important un fichier XML. Depuis la page Outils Patas-M > MyField > Importer un onglet, 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 myfields se résumera à ceux présent dans le ficher que vous importez

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

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
Adhérent membertypecard
Catégories categorycard
Commandes ordercard
Commande fournisseur ordersuppliercard
Contact contactcard
Contrat contractcard
Don doncard
Entrepôt warehousecard
Expédition expeditioncard
Facture client invoicecard
Facture fournisseur suppliercard


Fiche Contexte
Intervention interventioncard
Livraison deliverycard
Note de frais tripandexpensecard
Produit productcard
Projet projectcard
Proposition commerciale propalcard
Règlement client paiementcard
Règlement fournisseur paymentsupplier
Salaire salarycard
Tache projecttaskcard
Tiers thirdpartycard
Utilisateur usercard

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).

Message erreur d'ordonnancement

Certaines pages de certaines versions de Dolibarr présentent un erreur dans leur code empêchant la bonne application de la personnalisation des champs. MyField permet de les identifier pour les corriger.

Le message d'erreur s'affiche en bas de page et est le suivant

En vous aidant de l'URL de la page, ouvrez le fichier du noyau de Dolibarr pour le modifier. Par exemple, si la page qui comporte le message est http://.../htdocs/custom/myField/admin/extrafields.php, ouvrez successivement les dossiers htdocs, custom, myField, admin et ouvrez le fichier extrafields.php.

L'erreur vient de l'inversion des lignes llxFooter(); et $db->close(); en fin de fichier.

Modifiez le code de la page pour obtenir

au lieu de

Multicompany

Avec le module multicompany, il convient d'activer le module sur chaque entité