Создание компонента для ограничения количества пользователей по статусу

@Lilly Если вам это интересно, вы можете попробовать этот компонент: GitHub - Arkshine/discourse-restrict-user-status: A theme component to restrict user status access to groups. · GitHub

РЕДАКТИРОВАНИЕ: как только он полностью заработает, я создам тему в #theme-component.

Отличная работа, @Arkshine :smiley:

Спасибо. Я пробовал несколько раз, но этот компонент всё равно не ограничивает доступ. Например, я ограничил его для администраторов (меня), но мой тестовый пользователь мог получить доступ к функциям статуса пользователя.

Обновление: С тех пор я также пробовал и не добился успеха с группами «Сотрудники» и «Модераторы». Создаётся впечатление, что компонент не включён, хотя он точно включён. :thinking:

Убедитесь, что у вас установлена последняя версия, если это еще не сделано.

Кроме того, судя по тому, что я вижу на вашем форуме, enable_user_status отключен. :thinking:

Да, я отключил это, так как не смог заставить это работать. Я займусь этим позже, когда вернусь к своему рабочему столу. Мне действительно не хочется, чтобы пользователи получили к этому доступ, ха-ха.

Отлично :smile:

У меня всё точно работает. Единственная проблема, о которой я могу подумать, — возможно, вы оставили группу «everyone» в настройках (так как это значение по умолчанию, мне, наверное, стоит его убрать :thinking: )

Я уже несколько раз пробовал, но безрезультатно. В настройке разрешённых групп указана только группа «admin». Мне приходится постоянно включать и выключать настройку статуса пользователя для тестирования, возможно, именно поэтому. Сейчас она выключена.

Другими словами, я могу отключить статус пользователя глобально в настройках администратора, но компонент, похоже, не оказывает никакого эффекта, независимо от выбранной группы в разрешённой области. Компонент включён для соответствующих тем.

Обновление: всё же он позволяет всем пользователям получить доступ к настройке через меню пользователя и заполнять время и т. д., но он не отображается в аватаре или карточке пользователя. На странице профиля всё ещё видно.

В любом случае, не критично. Мне нравится эта функция для сотрудников, но я вернусь к ней позже, когда у меня будет больше времени.

Полагаю, у меня на вашем форуме это сработало (не уверен на 100%).
Я видел, что компонент загрузился (я также заметил предупреждение, но оно уже исправлено), и проверил настройки сайта (через консоль браузера), включено ли это, прежде чем смотреть профиль :thinking:

Кроме того, чтобы вы могли убедиться, у меня это работает:

демо

Давайте посмотрю, смогу ли я понять, что происходит.
Спасибо за тестирование. :smile:

Что ж, после нескольких попыток сегодня утром я всё ещё не могу заставить это работать должным образом. Моя тестовая учётная запись видит опцию «Настройки доступа пользователя», может открыть диалог «Настройки статуса пользователя» и ввести данные через меню пользователя, но не может получить доступ к странице настроек. Кроме того, статус, похоже, не отображается в аватаре или профиле, даже если его установить через меню пользователя. В общем, похоже, что функция работает частично, но не блокирует первоначальный доступ к настройкам. Я также использую два устройства: одно вошло в систему как администратор, другое — как тестовый пользователь. Однако я выхожу из системы и обновляю тестовую учётную запись каждый раз при изменении настроек.

Настройки администратора:


Тестовый пользователь:



Пока я снова отключу настройку статуса пользователя.

Это хорошая новость. Если работает частично, я могу это исправить. :smile:
Я только что заметил, что вы используете старое меню, и могу подтвердить, что оно не обрабатывается.
Давайте посмотрим, смогу ли я воспроизвести все ваши настройки и не упустил ли я какие-то области!
Спасибо за тестирование и за ваше терпение.

Ха-ха. Я забыл об этом. Думаю, я включу новый вариант. Разница невелика. Больше всего я беспокоюсь о боковом меню-гамбургере, потому что знаю, что мои пользователи будут протестовать против этого изменения сильнее, хотя мне нравится боковая панель, и она намного лучше, к тому же она решит некоторые их проблемы с навигацией. Я всё равно включу боковую панель в ближайшее время.

Если мне удастся заставить этот компонент работать с обновлённым меню пользователя, я буду доволен.

Редактирование: нет

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

Извините за спам не в том разделе. @JammyDodger :melting_face:

@Lilly Нет, не переживай, я всё улажу. Я уже отправил исправление для старого меню, но сейчас тестирую пограничные случаи. Дай мне немного времени, и я вернусь к тебе!

без спешки! спасибо. и да, извините за беспорядочные сообщения по всему этому. :woman_facepalming:

просто к сведению: я обновил компонент до вашей последней версии, и проблема осталась.

Ничего страшного, для этого и существуют мои волшебные кнопки. :slight_smile: Я вынес это в отдельную тему, чтобы у вас было больше места для исследования идеи и решения всех вопросов. :crossed_fingers:

Вы планируете использовать его только для администраторов/модераторов (а не для конкретной пользовательской группы)? Если так, я, думаю, создам для вас специальную версию.

Да, именно. Я бы хотел, чтобы функция статуса пользователя была доступна только сотрудникам (администраторам и модераторам), если они захотят её использовать. Наши модераторы иногда бывают неактивны в течение непостоянных периодов, особенно в сезон высокой нагрузки (скоро), когда поступает гораздо больше жалоб, и им приходится подменять друг друга. Поскольку я единственный администратор, я хочу, чтобы мои сотрудники и пользователи знали, когда я онлайн или буду неактивен какое-то время. Однако я не хочу запускать большой проект по созданию работы для моего частного случая. Было бы здорово иметь функцию только для группы или хотя бы только для сотрудников, когда статус пользователя перестанет быть экспериментальным.

Мне это нравится! Но разве это не усложнит задачу, если пользователи всё равно смогут сделать это через «Исследовать элемент», если они действительно захотят?

Небольшое предупреждение @Arkshine: мы, возможно, начнем рассматривать возможность добавления в ядро настройки «включено для групп». :+1:

Это отличные новости. Спасибо за обновление.

И теперь она создала плагин :confetti_ball: Discourse Group User Status