Страница 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
Но корректно будет для каждого статуса делать автоматизацию и правила, кто может выполнять эту автоматизацию.