Проверка возраста в Discourse

:information_source: Краткое описание Выполняет проверку возраста на форме регистрации
:hammer_and_wrench: Репозиторий GitHub - communiteq/discourse-tc-age-check · GitHub
:question: Руководство по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Начинающий гид по использованию тем Discourse

Установить этот компонент темы

Выполняет проверку возраста на форме регистрации на основе дня рождения пользователя

Конфигурация

  • Установите компонент темы
  • Создайте поле пользователя «День рождения» с типом «Дата» и отметьте опции «показывать на форме регистрации» и «обязательно при регистрации»
  • Настройте параметры:
    • age check field name — имя поля пользователя, созданного на предыдущем шаге
    • age check minimum age — минимальный возраст (установите 0, если минимальный возраст не требуется)
    • age check maximum age — максимальный возраст (оставьте 120, если максимальный возраст не требуется)

Отказ от ответственности

Это проверка возраста, а не подтверждение возраста.
Пользователь может обойти эту проверку, указав другую дату рождения.

15 лайков

5 сообщений были перенесены в новую тему: Хранение даты рождения в контексте GDPR

Возможно ли сделать так, чтобы пользовательское поле даты рождения (DOB) было доступно только администраторам, а не модераторам, или открывалось только по клику на кнопку (как это реализовано для email и IP в ядре)? Или для этого потребуется плагин, а не компонент темы?

1 лайк

Это выходит за рамки данного компонента темы (и действительно потребовало бы плагина).

Единственное, что он делает, — это добавляет валидацию к уже существующему пользовательскому полю и, как следствие, предотвращает создание учётных записей / сохранение связанных данных для несовершеннолетних. Он не изменяет само пользовательское поле каким-либо образом.

1 лайк

Ричард, хочу сказать, что это действительно полезно! Я уже давно хотел такую функцию для своего форума! Несмотря на то, что пользователи могут обойти это, как вы думаете, если пользователь укажет дату рождения, которая не позволяет ему пользоваться форумом, а затем изменит её, будут ли администраторы уведомлены о том, что сначала была указана одна дата, а потом другая? Это помогло бы персоналу быть в курсе таких случаев.

Если я правильно помню, отправка уведомлений происходит на уровне плагинов.

Вы имеете в виду, что это происходит ещё на этапе поля регистрации? Пользователь не может зарегистрироваться, если указывает слишком раннюю дату рождения.

Он сказал:

Я подумаю над этим, интересная идея.

3 лайка

Хотя обсуждение интересное, пожалуйста, ограничьте эту тему самим компонентом проверки возраста.

Этот компонент просто добавляет проверку существующего поля пользователя. Он не создаёт потенциальных проблем с конфиденциальностью — напротив: он может предотвратить регистрацию несовершеннолетних.

Я переместил все сообщения, касающиеся GDPR, в отдельную тему здесь: Storing date of birth in relation to GDPR

6 лайков

Согласен, Нейт, но, мне кажется, это возможно и без этого?

Например, пользователь мог попытаться зарегистрироваться с недостаточным возрастом, а затем зарегистрироваться снова, изменив возраст.

1 лайк

Разве эту проблему нельзя решить, просто сняв галочку с пункта «Редактируемо после регистрации» и установив поле в значение «при регистрации»? У пользователей не должно быть причин изменять поле с датой рождения после прохождения проверки возраста.

Он имеет в виду, что кто-то меняет данные в процессе регистрации.

То есть, например, пользователю 16 лет, и он указывает дату рождения 1 февраля 2010 года. Компонент темы показывает сообщение «для регистрации вам должно быть 18 лет», после чего пользователь меняет дату на 1 февраля 2008 года и успешно регистрируется. Идея заключается в том, чтобы помечать первую неудачную попытку как подозрительную, чтобы администраторы могли, например, запросить подтверждение личности.

5 лайков

Ох, я понял, что неправильно понял.

1 лайк

Теперь нам остается только ждать. Удачи всем!

1 лайк

А что насчет:

1 лайк

Привет, я просто не могу заставить этот компонент темы работать.

Я создал пользовательское поле:

Установил тему и настроил её:

Но проверка так и не выполняется?:

Любые советы будут очень кстати, спасибо заранее.

2 лайка

Что-нибудь есть в консоли? И просто для уверенности, вы пробовали нажать «Зарегистрироваться», верно? Я не знаю, появляется ли ошибка также при потере фокуса, поэтому и спрашиваю.

Мне не удалось воспроизвести эту проблему — у меня всё работает корректно на актуальной версии (по состоянию на сегодня).

Вы добавили компонент темы к правильному родительскому шаблону?

1 лайк

Убедитесь, что ваш Discourse обновлён.

Я могу ошибаться, но на скриншоте страницы регистрации, похоже, используется тема Mint, в то время как на странице настроек вашей темы указано, что это Sam’s simple theme. Как уже сказал RGJ, убедитесь, что вы добавляете её в тему по умолчанию, которую увидят пользователи при регистрации.

Это будет тема на странице /admin/config/customize/themes, где указано «тема по умолчанию».

3 лайка

Спасибо всем,

Не уверен, что именно стало причиной, так как я только что попробовал снова, и всё работает… Должно быть, это была ошибка с моей стороны!!

Я ценю ваши быстрые ответы, возможно, я мог бы ещё немного посоветоваться с вами. Меня интересует стилизация всплывающего календаря, чтобы он лучше соответствовал моей теме. Есть ли у кого-нибудь идеи, как этого добиться?

Ещё раз спасибо!

2 лайка

Пожалуйста, создайте новую тему в Development для этого.

3 лайка