def test_phase_allows_add_active(user_factory, question_factory, project_factory, organisation): user = user_factory() admin = user_factory(is_superuser=True) project = project_factory(access=Access.PUBLIC) question = question_factory(module__project=project) with active_phase(question.module, AskPhase): assert not predicates.phase_allows_add(Question)(user, False) assert predicates.phase_allows_add(Question)(user, question.module) assert predicates.phase_allows_add(Question)(admin, question.module)
def _add_item(user, module): if module: return (is_project_admin(user, module) | ( is_context_member(user, module) & is_live_context(user, module) & phase_predicates.phase_allows_add(item_class)(user, module))) return False
phase_allows_rate) from .models import Idea rules.add_perm('euth_ideas.rate_idea', is_superuser | is_context_moderator | is_context_initiator | (is_context_member & phase_allows_rate)) rules.add_perm('euth_ideas.comment_idea', is_superuser | is_context_moderator | is_context_initiator | (is_context_member & phase_allows_comment)) rules.add_perm('euth_ideas.modify_idea', is_superuser | is_context_moderator | is_context_initiator | (is_context_member & is_owner & phase_allows_change)) rules.add_perm('euth_ideas.propose_idea', is_superuser | is_context_moderator | is_context_initiator | (is_context_member & phase_allows_add(Idea))) rules.add_perm('euth_ideas.view_idea', is_superuser | is_context_moderator | is_context_initiator | is_context_member | is_public_context) rules.add_perm('euth_ideas.export_ideas', is_superuser | is_context_moderator | is_context_initiator)
import rules from rules.predicates import is_superuser from adhocracy4.modules.predicates import is_context_initiator from adhocracy4.modules.predicates import is_context_moderator from adhocracy4.phases.predicates import phase_allows_add from .models import LiveQuestion from .predicates import phase_allows_like from .predicates import phase_allows_like_model rules.add_perm('a4_candy_interactive_events.change_livequestion', is_superuser | is_context_moderator | is_context_initiator) rules.add_perm('a4_candy_interactive_events.add_livequestion', phase_allows_add(LiveQuestion)) rules.add_perm('a4_candy_interactive_events.view_livequestion', rules.always_allow) rules.add_perm('a4_candy_interactive_events.moderate_livequestions', is_superuser | is_context_moderator | is_context_initiator) rules.add_perm('a4_candy_interactive_events.add_like', phase_allows_like) rules.add_perm('a4_candy_interactive_events.add_like_model', phase_allows_like_model(LiveQuestion))
import rules from adhocracy4.modules import predicates as module_predicates from adhocracy4.organisations.predicates import is_initiator from adhocracy4.phases import predicates as phase_predicates from . import models rules.add_perm('meinberlin_bplan.add_bplan', is_initiator) rules.add_perm('meinberlin_bplan.change_bplan', is_initiator) rules.add_perm( 'meinberlin_bplan.add_statement', module_predicates.is_live_context & phase_predicates.phase_allows_add(models.Statement))
import rules from rules.predicates import is_superuser from adhocracy4.modules.predicates import (is_context_initiator, is_context_moderator) from adhocracy4.phases.predicates import phase_allows_add from .models import Question rules.add_perm('a4_candy_questions.change_question', is_superuser | is_context_moderator | is_context_initiator) rules.add_perm('a4_candy_questions.propose_question', phase_allows_add(Question)) rules.add_perm('a4_candy_questions.view_question', rules.always_allow) rules.add_perm('a4_candy_questions.moderate_questions', is_superuser | is_context_moderator | is_context_initiator)