Страница 1 из 2
Права на статусы
Добавлено: 31 мар 2024, 22:38
mistervoprosiki
Добрый день, уважаемые!
В системе 2 типа пользователей (помимо админа):
- Руководители (ставят задачи)
- Сотрудники (выполняют задачи)
У задач 4 статуса:
- Новая (по-умолчанию при создании задачи)
- В работе (когда "Сотрудник" увидел задачу и приступил к выполнению)
- Готов (когда "Сотрудник выполнил задачу)
- Принято (когда "Руководитель" проверил и принял работу)
В принципе, это основной кейс использования CRM.
ВОПРОС:
Как сделать, чтобы "Сотрудники" не могли самостоятельно присвоить задаче финальный статус "Принято"?
Иными словами, чтобы статус "Принято" задаче мог присвоить только Создатель задачи, а не тот, кому (кем) она была назначена?
То есть настроить права на элементы списка "Статус" таким образом:
- Новая - (Руководители, Сотрудники)
- В работе - (Руководители, Сотрудники)
- Готов - (Руководители, Сотрудники)
- Принято (только Создатель задачи)
Надеюсь понятно объяснил.
Всем добра!
Re: Права на статусы
Добавлено: 31 мар 2024, 23:35
Fait
Запретить им доступ к полю, а переход по этапам выполнять через кнопки автоматизации
Re: Права на статусы
Добавлено: 31 мар 2024, 23:37
Fait
Ну или ещё, как вариант, через поле Ajax запрос.
Прописать в нём код скрытия нужного статуса из списка в зависимости от необходимых условий, и готово)
Re: Права на статусы
Добавлено: 31 мар 2024, 23:59
mistervoprosiki
Fait писал(а): ↑31 мар 2024, 23:37
Ну или ещё, как вариант, через поле Ajax запрос.
Прописать в нём код скрытия нужного статуса из списка в зависимости от необходимых условий, и готово)
Подскажите пжл, где находится поле Ajax запрос.
Видим в "Настройках" только Пользовательские CSS, HTML и PHP. Это оно?
p.s. используем стандартную OpenSource поставку CRM.
Re: Права на статусы
Добавлено: 01 апр 2024, 00:06
Fait
mistervoprosiki писал(а): ↑31 мар 2024, 23:59
Fait писал(а): ↑31 мар 2024, 23:37
Ну или ещё, как вариант, через поле Ajax запрос.
Прописать в нём код скрытия нужного статуса из списка в зависимости от необходимых условий, и готово)
Подскажите пжл, где находится поле Ajax запрос.
Видим в "Настройках" только Пользовательские CSS, HTML и PHP. Это оно?
p.s. используем стандартную OpenSource поставку CRM.
В конфигураторе полей есть такой тип поля
Ajax запрос
Если вам нужно помочь с кодом, пришлите сюда ID поля Статус и скрин со значениями статусов (чтобы ID были видны)
Re: Права на статусы
Добавлено: 01 апр 2024, 00:40
mistervoprosiki
Будем очень благодарны.
Конфигурация полей:
id/Вкладка формы/Имя
169 Информация Статус
Статус: Опции
id/Статус
46 Новый
48 В работе
49 Готов
50 Принят
Группы пользователей
id/Группы пользователей
12 Руководители
4 Сотрудник
Re: Права на статусы
Добавлено: 01 апр 2024, 08:28
Fait
Статус меняется только в форме ввода или ещё как-то?
Re: Права на статусы
Добавлено: 01 апр 2024, 12:39
mistervoprosiki
Статусы у существующей задачи меняются при:
- редактировании задачи (выпадающее поле)
- добавлении комментария к задаче (выпадающее поле).
Re: Права на статусы
Добавлено: 02 апр 2024, 01:01
Fait
mistervoprosiki писал(а): ↑01 апр 2024, 12:39
Статусы у существующей задачи меняются при:
- редактировании задачи (выпадающее поле)
- добавлении комментария к задаче (выпадающее поле).
Чтобы запретить сменять статус, вам придётся отказаться от смены статуса в комментариях, оставив только вариант при редактировании задачи.
Итак, чтобы возможность поставить статус
Принят была только у создателя записи, создайте поле с типом
Ajax запрос, дайте доступ
Да всем группам и вставьте туда этот код:
Код: Выделить всё
echo '<script>$(".form-group-'.$_GET['field_id']").hide()</script>'; // Скрываем текущее поле на форме
$check_user = db_query('select created_by from app_entity_'.$_POST['entity_id'].' where id='.$_GET['item_id']);
foreach ($check_user as $key => $value) { $author = $value['created_by']; }
if ($app_user['id'] != $author) { echo '<script>$("#fields_169 option[value=50]").hide();</script>'; // Скрываем элемент списка }
Поле скрывается само по себе, настраивать его скрытие где-либо не требуется.
Re: Права на статусы
Добавлено: 02 апр 2024, 11:58
support
Но корректно будет для каждого статуса делать автоматизацию и правила, кто может выполнять эту автоматизацию.