Admin Admin
Сообщения : 74 Очки : 71 Дата регистрации : 2010-08-23
| Тема: Установление ограничения на доступ к полям формы, часть I (Версия 5.0.0e (Сборка 3276)) Ср Сен 08, 2010 6:50 pm | |
| 1. В каталоге /modules/meetings/ создаем файл MeetingRole.php, со следующим содержимым: - Код:
-
function MeetingRole($focus, $field, $value, $view) { if (isset($_REQUEST['location'])) { $focus->location = $_REQUEST['location']; } $role_to_check = "top"; // Здесь роль, на которую будет проводится проверка global $current_user; // получаем $current_user object require_once("modules/ACLRoles/ACLRole.php"); $acl_role_obj = new ACLRole(); $user_roles = $acl_role_obj->getUserRoles($current_user->id); // получем список текущих ролей пользователя $user_in_role = FALSE; foreach ($user_roles as $role) { if ($role == $role_to_check) { $user_in_role = TRUE; break; } } if($view == 'EditView' || $view == 'MassUpdate') { if ($user_in_role) { $html = "<input type='text' name='location' id='location' size='30' maxlength='50' value= title= tabindex='1' >"; } // показываем стандартное поле else{ //Здесь Ваш html $html = "У Вас нет прав для просмотра этой страницы"; } return $html; } Часть кода, с определением роли была взята от сюда: http://www.sugarcrm.com/forums/showthread.php?t=9829 2. В фале /modules/meetings/vardefs.php находим 'location' => (~56 строка) и добавляем к массиву следующий код: - Код:
-
'function' => array('name'=>'MeetingRole', 'returns'=>'html', 'include'=>'modules/Meetings/MeetingRole.php'), 3. Заходим в админку и производим repair модуля. | |
|