Есть интернет-сообщество клубного типа. Кроме собственно клубников на сайте присутствуют и обычные юзеры. Решения по тратам из клубного фонда принимаются голосованием (модуль poll) участников клубного движения.
Как дать доступ к голосованию в некоторых опросных нодах только пользователям с ролью "член клуба"?
Крайне желательно при этом, чтобы другие пользователи могли просматривать результаты голосования, читать обсуждения в опросе, оставлять комментарии, но проголосовать при этом не могли бы.
Какие варианты есть для такой, как я понимаю, не тривиальной задачи?
Комментарии
Задача как раз тривиальная, решается стандартными средствами ограничения прав доступа модуля poll. Тут /admin/user/permissions
Вы, видимо, невнимательно прочитали тему. Не вижу смысла переписывать весь стартовый пост целиком.
Ключевое слово: некоторых.
а, только некоторых, ну так бы сразу и сказали. Узкоспециализированная задача должна решаться наверняка с помощью сниппета. А их(сниппеты) как вариант лучше поискать на drupal.org или писать самим
Сходу - может, запретить доступ к некоторым нодам некотрым ролям
Content access, либо аналоги, которые закрывают не весь тип контента, а по таксономии или по-нодово
Так эти модули закроют доступ к ноде а не к
неголосованию и писанию коментов
Очень не хотелось бы запрещать доступ не-клубников к этим нодам полностью. Оптимален был бы единственный запрет для них: голосование в клубных опросах.
Если же опрос клубным не является, то никаких ограничений быть не должно.
давно открыт вопрос который решал бы следующие задачи по опросам.
что бы была возможность создавать опросы только для гостей
что бы была возможность создавать опросы для гостей и юзеров зарег.
что бы была возможность создавать опросы для гостей только для юзеров зарег.
такого что то пока не встречал что бы конкретный опрос настраивался на возможность голосовать тем или иным ролям...
сейчас общие правила для опросов...
Желаемый эффект достигается снятием галки в разрешениях для роли (модуль poll, "участвовать в опросах").
То есть, если бы можно было по какому-то признаку для данной ноды (например, термин "клубное голосование") не-клубникам эту галку снимать (или её не замечать), то так и выглядел бы идеальный вариант.
Возможно ли реализовать подобное на готовых модулях?
Может быть я хочу такого, чего я хотеть не должен?
попробуйте через дополнительную роль
Так не получится. Ведь ролям можно выставить только галку на участие в голосованиях, а не в конкретных голосовательных нодах. А тут получается, что для обычных нод она должна быть, а для клубных нет. И всё это у одной роли.
Если делать дополнительную роль без доступа к модулю poll, то надо на лету менять пользователю роль. В общем, не вижу очевидного решения стандартными средствами.
Все перепробованные пока модули ограничения доступа дают весьма ограниченное управление доступа к ноде: просмотр (для голосовалки соответственно и участие в голосовании), редактирование и удаление. Отдельно запретить именно голосование (а просмотр текстов и комментарии оставить) невозможно.
Тут, как я понимаю, проблема именно в том, что все эти модули рассчитаны на работу с любой нодой, независимо от типа, в то время как ноды голосовалки довольно специфичны по своим функциям.
Порою ещё, но, похоже, что придётся просто скрывать клубные голосовалки от других ролей. Не лучшее решение в моей ситуации.
На самом деле странно почему модуль голосовалки не расчитан на
настройки каждой голосовалки под конкретную роль или группу юзеров.
смысл делать голосование толкьо для зарег. юзеров или только для всех.