Только для готовых решений! Пожалуйста, не используйте для вопросов и обсуждений!
Модератор: ykolesnikov
-
Andraptor
- OTRS Новобранец
- Сообщения: 74
- Зарегистрирован: 05 фев 2015, 16:29
Сообщение
Andraptor » 11 июн 2015, 14:07
Данный запрос добавляет всем агентам уведомления для очередей, в которых они имеют полные права ("Мои очереди").
Полезно при первоначальной настройке агентов.
ВНИМАНИЕ! При этом удаляются все, добавленные ранее, очереди для уведомления.
Код: Выделить всё
truncate table personal_queues
insert into personal_queues (user_id, queue_id)
select ru.user_id,
q.id as queue_id
from group_role as gr
inner join roles as r on gr.role_id = r.id
inner join queue as q on gr.group_id = q.group_id
inner join role_user as ru on gr.role_id = ru.role_id
inner join users as u on ru.user_id = u.id
where gr.permission_key = 'rw' and
gr.permission_value = 1 and
r.valid_id = 1 and
q.valid_id = 1 and
u.valid_id = 1
Затем чистим кэш!
OTRS::ITSM 4.0.14,
PostgreSQL 9.3.6
-
Andraptor
- OTRS Новобранец
- Сообщения: 74
- Зарегистрирован: 05 фев 2015, 16:29
Сообщение
Andraptor » 11 июн 2015, 14:51
Вот тот же запрос, только не удаляет, ранее установленные очереди (связи), а добавляет те, которых не хватает
Код: Выделить всё
insert into personal_queues(user_id, queue_id)
select res.user_id,
res.queue_id
FROM (
select ru.user_id,
q.id as queue_id
from group_role as gr
inner join roles as r on gr.role_id = r.id
inner join queue as q on gr.group_id = q.group_id
inner join role_user as ru on gr.role_id = ru.role_id
inner join users as u on ru.user_id = u.id
where gr.permission_key = 'rw' and
gr.permission_value = 1 and
r.valid_id = 1 and
q.valid_id = 1 and
u.valid_id = 1
) as res
left join personal_queues as pq on res.user_id = pq.user_id and
res.queue_id = pq.queue_id
where pq.user_id is null and
pq.queue_id is null
И, конечно же, чистим кэш.
OTRS::ITSM 4.0.14,
PostgreSQL 9.3.6