Il est parfois nécessaire de rajouter des champs sur le module User mais qui doivent être uniquement éditables par les administrateurs. Certains champs standards sont déjà comme cela et Sugar a tout prévu dans la classe SugarACLUsers pour permettent d’étendre cela à des champs custom.
Pour avoir ce même comportement sur les champs custom, il suffit d’effectuer les 3 opérations ci-dessous :
1 – Créer un ACL custom dans le répertoire custom/data/acl qui étend la class SugarACLUsers.
<?php if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); require_once('data/acl/SugarACLUsers.php'); class SugarACLCustomUsers extends SugarACLUsers { /** * Fields non admin cannot edit */ public $no_edit_fields = array( 'custom_field_c' => true, ); }
2 – Créer dans custom/Extensions/modules/Users/vardefs un vardef qui ajoute le custom ACLs dans vardefs
<?php $dictionary['User']['acls']['SugarACLCustomUsers'] = array();
3 – Effectuer une reconstruction et réparation rapide.