Beispiel #1
0
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)
Beispiel #2
0
 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
Beispiel #3
0
                                          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)
Beispiel #4
0
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))
Beispiel #5
0
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))
Beispiel #6
0
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)