Est-il possible d’empêcher la modification du code client par un groupe d’utilisateur une fois que celui-ci a été créé ? Toutes les autres modifications sur la fiche client doivent rester possibles.
Ce code servant de clé d’identification unique sur plusieurs logiciels tiers, il est pour nous impératif qu’il ne puisse pas être modifié.
Bonjour,
Sauf erreur on ne peut pas sauf à développer quelque chose.
A noter que la clé d’identification unique dans Dolibarr est l’id du tiers qui elle ne change jamais.
@+
C’est bien ce qu’il me semblait, merci pour la confirmation.
Je ne peux hélas pas utiliser l’id du tiers, les tiers étant déjà existants avec leur propre code sur nos autres applications.
Je vais donc développer une solution spécifique.
Le problème de l’attribut supplémentaire c’est qu’il ne va pas apparaître sur les factures et commandes etc, cela nécessite de créer et/ou mettre à jour les templates.
Cela se configure dans le modele de numérotation du codeclient mod_codeclient_leopard.php par exemple.
Mais je travaille sur une solution avec un module qui me permet de ne pas modifier le code de base de dolibarr. La solution devant survivre aux mises à jour de dolibarr.
Comme solution j’ai opté pour l’utilisation du hook « thirdpartycard/doActions » dans un module.
Si on est en action « edit » c’est à dire modification, je remplace la valeur du champ code client transmis par le formulaire par le code client déjà existant. De cette manière une tentative de modification du code client sera vaine.
Bonjour,
En fait, c’est au niveau du modèle de numérotation que se situe la gestion de code_modifiable.
Regardez par exemple htdocs/core/modules/societe/mod_codeclient_elephant.php.
Vous pouvez donc crééer votre propre modèle de numérotation (à mettre de préférence dans votremodule/core/modules/societe/) et renvoyer 0 au lieu de 1 dans code_modifiable.
Ou plus simplement modifier le modèle du core mais à refaire à chaque changement de version.
Sinon, votre solution a le mérite de marcher même si l’utilisateur ne va pas comprendre pourquoi sa modif n’est pas prise en compte (ajouter un message d’erreur et faire un return -1; ?)
@altatof c’est exact, j’ai vu cette solution il y a quelques jours car je suis en train de mettre au point un modèle de numérotation spécifique que ne permet pas le modèle elephant (il me faut plusieurs préfixes différents selon l’application d’origine du client).
Comme je l’ai indiqué ma méthode n’est pas très orthodoxe mais c’est la solution la plus rapide que j’ai trouvée sur le moment.