ФорумФорум  КалендарьКалендарь  ЧаВоЧаВо  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  Вход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск
Последние темы
» Подтверждение о прочтении
автор worker8281 Сб Дек 27, 2014 1:05 pm

» Проблема с сессией
автор Murphy Ср Дек 03, 2014 5:20 pm

» Нужнга настройка SugarCRM
автор iliandr777 Пн Ноя 10, 2014 2:28 pm

» Отображение записей (адресатов) в списках адресатов
автор FatherMother Пн Авг 25, 2014 12:21 pm

» Нужен совет. Модуль с множеством одинаковых субпанелей.
автор Павел Пн Июл 28, 2014 12:55 pm

» Нужна помощь с опенкартом
автор manux86 Вс Фев 02, 2014 10:45 am

» вопрос работы насчет СУГАР на сервере
автор Meiir2 Пт Янв 31, 2014 8:46 am

» Интеграция с Google календарем от компании "Куб Три"
автор Dmitry.bereza Ср Авг 14, 2013 10:29 am

» настройка воронки продаж
автор EkaterinaGolovina Чт Июн 13, 2013 12:14 pm

Декабрь 2018
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31      
КалендарьКалендарь
Баннеры
Яндекс цитирования статистика
Поддержка проекта
41001634550309

Поделиться | 
 

 Установление ограничения на доступ к полям формы, часть III

Перейти вниз 
АвторСообщение
Admin
Admin


Сообщения : 74
Очки : 71
Дата регистрации : 2010-08-23

СообщениеТема: Установление ограничения на доступ к полям формы, часть III   Ср Сен 08, 2010 6:58 pm

Как и во второй части все примеры на основе созданного модуля new_Lt.

1. В файле vardefs.php вставляем следующий код:
Код:


'date_sub' =>
   array (
      'name' => 'date_sub',
      'vname' => 'LBL_DATE_MODIFIED',
      'type' => 'varchar',
      'massupdate'=>false,
      'len' =>'25',
      'function' => array('name'=>'GetHtmlDateModified', 'returns'=>'html', 'include'=>'modules/new_Lt/new_LtRole.php'),
   ),


2. Т.к. в предыдущем файле идет ссылка на функцию файла 'modules/new_Lt/new_LtRole.php', то создаем такой файл со следующим содержимым:

Код:

function GetHtmlDateModified($focus, $field, $value, $view) {
   global $role_to_check;
   if (isset($_REQUEST['date_sub'])) {
      $focus->date_sub = $_REQUEST['date_sub'];
   }

   global $current_user;
   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 (!isset($focus->date_sub))
      $focus->date_sub = date("d.m.Y");
   if($view == 'EditView' || $view == 'MassUpdate') {
      if ($user_in_role) { // показываем стандартное поле
         $html .= '<input autocomplete="off" name="date_sub" id="date_sub" value="'.$focus->date_sub.'" title="" size="11" maxlength="10"  tabindex="1" type="text">
         <img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_sub_trigger" align="absmiddle" border="0">
         <script type="text/javascript" language="javascript">
         Calendar.setup ({
            inputField : "date_sub",
            daFormat : "%d.%m.%Y %H:%M",
            button : "date_sub_trigger",
            singleClick : true,
            dateStr : "",
            step : 1
            }
         );
         </script>';
      }
   else{
      //Здесь Ваш html
      $html = "Доступ закрыт";}
      return $html;
   }
   return $focus->date_sub;
}

3. В файл New_Lt.php добавляем:


Код:
var $date_sub;

На форму поле выносим стандартным образом. Либо через студию, либо в editviewdefs.php добавляем:

Код:

1 =>
   array (
      'name' => 'date_sub',
      'label' => 'LBL_DATE_MODIFIED',
   ),

То же и с формой просмотра.

4. Repair модуля

И так, в базе поле будет полем типа varchar. Если сделать его типом date, то шуга будет сообщение об ограничении прав доступа показывать внутри поля date на форме. Если надо работать в базе именно с датой (а не просто показывать введенную), то есть следующее решение: создать еще одно поле (типа date) и туда присваивать данные из поля date_sub(varchar), но для этого в файле New_Lt.php придется писать процедуру обработки даты из типа шуги в тип mysql.
Вернуться к началу Перейти вниз
Посмотреть профиль http://easy-sugarcrm.forum2x2.ru
 
Установление ограничения на доступ к полям формы, часть III
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: SugarCRM :: Статьи по установке и настройке SugarCRM-
Перейти: