Добрый всем день! Столкнулся с задачей - есть несколько групп пользователей - больше 10 со сходными правами, было бы интересно настроить права одной группы, а потом скопировать такие права остальным, местами подкорректировав. Не хочется сидеть и заниматься рутиной?
Для реализации необходимой Вам функциональности требуется внести изменения в конфигурацию Terrasoft CRM.
Как Вы знаете, все группы и пользователи хранятся в таблице tbl_AdminUnit. В свою очередь все права, например для группы таблиц, хранятся в таблице tbl_TableGroup.
Чтобы реализовать копирование прав, Вы можете добавить в раздел "Администрирование" новую кнопку, по нажатию которой будет открываться окно с несколькими полями. В одном поле Вы можете выбрать существующую группу, которой необходимо раздать права доступа, а в другом - родительскую группу, от которой наследовать права.
Затем в обработчике события нажатия на кнопку необходимо прописать это копирование прав: проверку родительской и дочерней групп (используя таблицу tbl_AdminUnit), проверку прав доступа для родительской группы в таблице tbl_TableGroup, а затем копирование этих прав в эту же таблицу, но для другой группы (дочерней).
Смотрю я на на таблицы tbl_AdminUnit и tbl_TableGroup, если с таблицей tbl_AdminUnit, все более менее понятно, то tbl_TableGroup - загадка?
"support" написал: В свою очередь все права, например для группы таблиц, хранятся в таблице tbl_TableGroup.
А в каком поле содержится ссылка на ID группы из таблицы tbl_AdminUnit? Наблюдая за этой таблицей я понял, что там содержатся группы таблиц, варианты прав доступа, но ссылку на группу я не нашел, объясните пожалуйста...
Вам необходимо использовать не таблицу tbl_TableGroup, а tbl_UserInGroup, где идет связка по полям ID таблицы tbl_AdminUnit и GroupID таблицы tbl_UserInGroup.
Опять мы друг друга не поняли....
1. Задача в копировании прав на группы таблиц из Одной группы пользователей на другую
2. В таблице tbl_UserInGroup связь между пользователем и группой, т.к. пользователь может входить в несколько групп это логично. НО мне нужна таблица, где описаны связи между Группой пользователей и ПРавами на
- Группы таблиц
- Поля
- По умолчанию.
С таблицей tbl_AdminUnit понятно - список групп и пользователей в системе
Таблица tbl_TableGroup - виды прав доступа по группам таблиц
А где связь между Группой пользователей и видом прав, которая отображена на закладке "Права на Группы таблиц"???
А вообще хотя бы в администраторе давать описание таблиц и полей, очень пользительная штука...
На самом деле в конфигурации приложения Terrasoft CRM не существует такой таблицы, в которой отображались бы все права доступа пользователей и групп пользователей на разделы. Права доступа пользвателям и группам пользователей определяются их ролями. Вы можете и сами в этом убедиться, если запустите MS Profiler и проследите, что происходит в момент установки прав доступа в разделе "Администрирование" на закладке "Права доступа на группы таблиц", например для раздела библиотеки. В результате Вы получите примерно следующее:
В стандартной конфигурации приложения есть функции для раздачи соответствующих ролей для групп таблиц и полей, которыми Вы можете воспользоваться для реализации необходимой Вам функциональности.
Руслан, мы также хотим обратить Ваше внимание на то, что при создании групп пользователей в разделе "Администрирование", в случае если одна из групп является дочерней другой группы, то права доступа наследуются. В случае если группы создаются на одном уровне (то есть нет родительских и дочерних групп), то права доступа не наследуются.