Как удалить пользователей не записанных ни на один курс?

Re: Как удалить пользователей не записанных ни на один курс?

от Evgeniy Schuetz -
Количество ответов: 6

Вариантов несколько. Если есть критерий, по которому этих пользователей можно определить, то штатными функциями через Управление пользователями.

Можно взять блок Configurable Report и скрипт для определения подобных пользователей по роли в курсах или отсутствию такой роли, а потом групповой загрузкой csv файла в нужном формате всех удалить.

Если эти способы не подходят, то можно попробовать штатными средствами Мудл такую последовательность (если никаких критериев выделения нужных для удаления пользователей нет):

  1. Создаем глобальную группу, например: Слушатели
  2. Идем в Пользователи-Действия над несколькими пользователями и выбираем тех, кто учится по нужной роли в учебных курсах, либо по сочетанию ролей, чтобы преподавателей и персонал не зацепить: Роль в курсе: роль «"Студент"» в курсе «любой курс» из категории «любая категория». Добавляем всех правильных пользователей в группу Слушатели. (С выбранными пользователями - Добавить в группу)
  3. Таким образом получили критерий, по которому можно отличить правильных пользователей от остальных. А дальше - уже просто - Пользователи - Действия над несколькими пользователями - выбрать тех, кто не входит в группу Слушатели и удалить их всех.
PS На всякий случай, бэкап таблицы Users сделайте до того как ;)

В ответ на Evgeniy Schuetz

Re: Как удалить пользователей не записанных ни на один курс?

от Dmitry Menshikov -

"А дальше - уже просто - Пользователи - Действия над несколькими пользователями - выбрать тех, кто не входит в группу Слушатели и удалить их всех."


Подскажите пожалуйста, как выполнить последний третий пункт? Я не нашёл такой возможности.

В ответ на Dmitry Menshikov

Re: Как удалить пользователей не записанных ни на один курс?

от doirk. ru -

Привет, я сделал тупо:

1. группы создал две - "слушатели" и "персонал", можно еще что-либо придумать, если у вас есть такие. Например "персонал" можно поделить на "преподаватели" и "техподдержка", но это не принципиально, у меня техподдержка курс ведет)

2. Заполнил поля "идентификатор глобальной группы". Обычно его игнорируют. 

Итак, у нас есть массив пользователей, которые либо входят в какую-либо группу, либо нет. Последние нас и интересуют

3. Далее - "действия над несколькими пользователями" - фильтр "Идентификатор глобальной группы: не заполнено". Таким образом, у нас выберутся как раз те, кто не входит ни в одну глобальную группу. Вуаля)

В ответ на doirk. ru

Re: Как удалить пользователей не записанных ни на один курс?

от Dmitry Menshikov -

А как вы заполнили "Идентификатор глобальной группыне заполнено"?

У меня нет такой возможности. У меня 5 вариантов состояния этого поля:

* содержит

* не содержит

* совпадает с

* начинается с

* заканчивается на.


Релиз Moodle: 2.4.5 (Build: 20130708) 

Приложение Идентификатор глобальной группы.jpg
В ответ на Dmitry Menshikov

Re: Как удалить пользователей не записанных ни на один курс?

от doirk. ru -

блин, неожиданно. У меня 3.2.2+ (Build: 20170421). Варианты с пробелом в этом поле не пройдут, пробовал.


Тогда configurable reports, как и советовали в начале. 

https://moodle.org/plugins/pluginversions.php?plugin=block_configurable_reports

В ответ на Dmitry Menshikov

Re: Как удалить пользователей не записанных ни на один курс?

от Vadim Tabunshchik -
Изображение пользователя Developers

Ну нет «Не заполнено» и в чем проблема?

Заполните идентификатор у записанных в любой курс пользователей, вписав, например, слово enrol.

В фильтре выберите не содержит enrol, система покажет тех, кто не записан ни в один курс.

В ответ на Vadim Tabunshchik

Re: Как удалить пользователей не записанных ни на один курс?

от doirk. ru -

Вадим, если это можно сделать в автоматическом режиме, то да, это решение. 

Если нет - то это тот еще геморрой, проще обновить версию и воспользоваться штатным инструментом. 

Кроме того, в вашем случае еще надо как-то отфильтровать персонал

Ну или прибегнуть к решению, которое уже предлагал Evgeniy Schuetz - блок Configurable Report