Bonjour,
est-il possible d'attribuer des droits aux utilisateur sur des champs dans sugar?
Je m'explique: je voudrais pouvoir attribuer le droit de modifier une opportunité sans qu'il est la possibilité de modifier le montant.
Merci
Bonjour,
est-il possible d'attribuer des droits aux utilisateur sur des champs dans sugar?
Je m'explique: je voudrais pouvoir attribuer le droit de modifier une opportunité sans qu'il est la possibilité de modifier le montant.
Merci
Bonjour
En version Pro, vous avez la possibilité de réaliser une restriction par champs via les rôles.
Sinon, vous pouvez réaliser un développement spécifique pour empêcher la modification de ce champs
Cordialement
SYNOLIA
Oldest SugarCRM partner in the world and Gold Partner / Partenaire GOLD SugarCRM
Official French Translator / Responsable de la traduction Française
51 Avenue Jean Jaurès - 69007 LYON - FRANCE - Tel : +33 4 27 70 53 70
www.synolia.com | @synolia sur Twitter
www.crm-france.com | Forum CRM-France
Pour aller un peu plus loin dans la réponse précédente :
- La version CE permet de choisir les droits par paire module/action pour chaque rôle.
- Les versions Pro et Entreprise permettent de fixer une granularité plus fine dans le choix et la sélection des droits en descendant au niveau des champs pour chaque rôle.
Pour contourner ce problème, deux solutions :
- Si votre champ ne doit jamais être modifié alors vous pouvez le bloquer : pour se faire dans le fichier custom/modules/votre_module/metadata/editviewdefs.php, recherchez votre champ, après les propriétés 'name' et 'label', ajoutez :
'displayParams' => array('readOnly' => 'true'),
Le champ sera alors affiché, mais l'utilisateur ne pourra en modifier le contenu. Ne confondez pas avec la propriété HTML 'disabled' qui empécherait le champ de prendre le focus et griserait le fond de votre champ d'entrée, mais qui aurait pour conséquence de ne plus renvoyer le champ lorsque vous postez le formulaire. La valeur de ce champ ne serait alors pas sauvegardé dans la base de donnée.
- Si votre champ doit être modifiable sous condition : Ajoutez du javascript !
Une fois un champ rempli vous appellez une fonction JS qui calcule et active ou non le champ montant ou qui à l'initialisation du formulaire grise le champ "montant" des opportunitées si l'utilisateur n'est pas admin.
Le javascript peut être ajouté à plusieurs endroits : le plus simple est soit via la balise customCode du champ qui va appeller le code JS quand il est changé, ou
si le code JS est appellé au chargement de la page, utilisez l'élément 'javascript' du fichier editviewdefs.php généralement situé juste avant la déclaration du pannel 'default' . Cet élément permet d'ajouter des fichiers JS externes, ou de déclarer de nouvelles fonctions aisémment.
Enfin pour effectuer la vérification si l'utilisateur est admin, il vous faudra utiliser une balise SMARTY que vous aurez initialisé dans le fichier view.edit.php fonction display() (avant l'appel à parent::display() )
Par exemple :
global $current_user;
this->ss->assign("CURRENT_USER_ADMIN", $current_user->is_admin);
Puis dans le fichier editviewdefs dans la partie du javascript vous pouvez faire un test de la valeur de la variable :
<script language="javascript>
{literal}
function testAdmin()
{
{/literal}
{if ($CURRENT_USER_ADMIN == 1)} code si admin {else} code si non admin {/if}
{literal}
}
{/literal}
</script>
En espérant avoir été complet dans les éléments de ma réponse,
Cordialement
Captivea
Partenaire officiel SugarCRM France
Découvrez nos solutions CRM basées sur SugarCRM
-----
695 av. Paul Louis Merlin - "Espace Merlin" - 73800 Montmélian
Tél : 08 11 69 63 30 – Fax : 09 72 13 05 20
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks