Ответить Новая тема Новый опрос 
 Ограничить права доступа
Огонек
Новичок
Сообщений: 24
Регистрация: 20-04-2017


29-05-2017 23:08
Здравствуйте!
Стандартные настройки Престы позволяют ограничить права на редактирование / удаление товара "целиком", а мне нужно, чтобы определенные профили сотрудников могли изменять товары, но не могли "трогать" определенные поля, например:
Артикул
Штрих-код
Ширина
Высота
Длина
Вес
Как сделать всегда readonly конкретное поле - это понятно, в tpl в input добавить readonly.
А вот по условию, не все "догоняю", примерно представляю так :
1. В tpl вместо readonly ставлю что-то типа
Код:
{$field->isreadonly}

2. В Контроллере определяю для текущего сотрудника id_profile
3. Если employee.id_profile=4 (например), то что?

По всем трем шагам вопросы:
1. Что поместить в {}?
2. Вызовом какой функции получить id текущего сотрудника?
3. Собственно вопрос там уже стоит.

Версия 1.6.1.12
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


30-05-2017 00:19
Цитата:( Огонек @ 30-05-2017 00:08 Смотреть сообщение )
Стандартные настройки Престы позволяют ограничить права на редактирование / удаление товара "целиком", а мне нужно, чтобы определенные профили сотрудников могли изменять товары, но не могли "трогать" определенные поля, например:
Артикул
...


Код:
{if $employee->id == 4}readonly{/if}


Пример для поля артикул:
Откройте файл /адм.дир./themes/default/template/controllers/products/informations.tpl
и замените:
Код:
<input type="text" id="reference" name="reference" value="{$product->reference|htmlentitiesUTF8}" />

на:
Код:
<input type="text" id="reference" name="reference" value="{$product->reference|htmlentitiesUTF8}" {if $employee->id == 1}readonly{/if} />



Также можно создать отдельную группу и обрабатывать используя подобный код (пример созданного профиля с ID#5):
Код:
{if $employee->id_profile == 5}readonly{/if}


Ограничение в шаблоне через "readonly" легко снять в любом браузере!
По хорошему необходимо расширять и проверять входные данные в стандартных классах Product и ObjectModel.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Огонек
Новичок
Сообщений: 24
Регистрация: 20-04-2017


30-05-2017 00:47
Спасибо, попробую.
Цитата:
Ограничение в шаблоне через "readonly" легко снять в любом браузере!
По хорошему необходимо расширять и проверять входные данные в стандартных классах Product и ObjectModel.

Это нужно в основном от случайностей и дурака (лучше дуры)
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Огонек
Новичок
Сообщений: 24
Регистрация: 20-04-2017


30-05-2017 00:52
Проверил все ок.
Еще раз спасибо
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос