Перенес тему из общего форума:
Мое первое сообщение:
Добрый день. Прошу помощь в решении вопроса. Пытаюсь реализовать определенный функционал в мудл, при этом ранее с ним не работал по части разработки. Начал делать свой плагин, изучаю, читаю мануалы, но везде какие то стандартные примеры с блоками, активностями и т.д. Понял, что не представляю в какую сторону нужно вообще смотреть.
Хочу реализовать следующий функционал: У меня большая база пользователей (более 100к), настроено автоматическое добавление и обновление данных о пользователях и их принадлежности к глобальным группам. Группы распределены по разным категориям. Настроена синхронизация по глобальным группам. Создана роль с определенными правами и туда добавлен конкретный список пользователей, которые сами принадлежат определенной группе. Нужно, чтобы эти пользователи могли бы заходит на курс и зачислять нужных пользователей. Да, здесь я вроде говорю о стандартном функционале, но у меня есть определенные особенности. Во первых, у меня много пользователей и я не могу их посмотреть при зачислении даже в виде списка, а мне нужна таблица с отображение username(обязательно), ФИО. Во вторых, поиск происходит только по Имя/Фамилия, а мне нужно по username, т.к. ФИО может совпадать. Но этот вопрос я вроде нашел как решить на форуме. В третьих (наверное самое основное), мне не нужно отображать всех пользователей, а только тех, которые принадлежат к группе в которой состоит пользователь, а так же пользователей групп, относящихся к родительской категории.
Возможно я изобретаю велосипед и есть плагины с подобной функциональностью, тогда я буду очень признателен, если кто-то что-то подскажет.
Если все же для этого нужно писать плагин, то мне непонятно к какой категории его нужно отнести - это локальный плагин или плагин для зачисления. Тут вроде также нужно добавить страницу в настройке курса...
Ответ от Alexandre Scherbyna:
Куда именно добавлен список пользователей? В каком контексте им дана эта роль: система, категория, курс?
Из ваших объяснений я так и не понял, что вы хотите сделать. Чтобы люди с этой ролью зачисляли пользователей на курсы? А почему бы не поручить преподавателю зачислять студентов на свой курс? Тем более, если речь идет о глобальных группах.
Мое второе сообщение:
Роль дается в контексте категории курсов. Есть глобальные группы, относящиеся к категории. Вопрос в том, чтобы преподаватель видел только пользователей тех групп, которые находятся в этой категории и видел их в удобном виде - таблица, к примеру. Проблем в том, что пользователей очень много и искать их из общего списка очень проблемно.
Ответ от Alexandre Scherbyna:
Сначала замечу, что вы разместили сообщение в неудачном месте. Лучше было бы писать в Технические вопросы, а то у меня и у вас тут отображается такое сообщение: Вы достигли разрешенного порога сообщений. Вы отвечали 1 раз за последние 1 день, лимит же составляет 2 сообщений.
Тому, кто имеет соответствующую роль в контексте категории, глобальные группы этой категории видны. Только просматривать их нужно по очереди: заходите в конкретную ГГ и видите, кто туда записан. Если хотите в одном списке видеть записанных во все ГГ категории, то можете написать запрос к базе данных, используя плагины Configurable Reports или Ad-hoc database queries.
Мой ответ:
Я попробую немного прояснить ситуацию. В моем случае - есть много учреждений - филиалов, относящихся к одной головной организации. Группы пользователей сформированы по признаку принадлежности к учреждению, категория объединяет по принадлежности к головной организации. Вопрос в том, что это далеко не 10, а более 100 категорий( в сумме более 1800 учреждений). Вручную для каждой категории делать запросы не очень рационально. Даже если делать запрос из тех плагинов, что вы предложили, то они дают возможность просто увидеть перечень пользователей, а их еще нужно зачислить на курс