Created
June 22, 2016 07:39
-
-
Save slomo/01dbb40f9727911ba19daa7a17bbc548 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# process/__init__.py | |
class BasePhasePermissions(): | |
can_edit = False | |
can_delete = False | |
# idea_collection/phases.py | |
from . import process | |
class PhasePermissions(process.BasePhasePermissions): | |
can_edit = True | |
# idea_collection/rules.py | |
""" | |
Bearbeiten | |
(User muss Idee erstellt haben UND die Phase muss das Bearbeiten erlauben) ODER User ist Admin | |
""" | |
import rules | |
from user_management.rules import is_admin | |
@rules.predicate | |
def is_idea_creator(user, idea): | |
return idea.creator == user | |
@rules.predicate | |
def phase_can_edit(user, idea): | |
return idea.collection.module.current_phase.phase_perms.can_edit | |
@rules.predicate | |
def phase_can_delete(user, idea): | |
return idea.collection.module.current_phase.phase_perms.can_delete | |
@rules.predicate | |
def jury_can_edit(): | |
return True | |
rules.add_perm( | |
'idea_collection.can_edit_idea', | |
(is_idea_creator & phase_can_edit) | is_admin | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment