def test_constructor_with_specifing_delete_permission(self):
     permission_logic = CollaboratorsPermissionLogic(
         delete_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
         isinstance(permission_logic, CollaboratorsPermissionLogic))
     self.assertEqual(permission_logic.delete_permission, False)
Example #2
0
 def test_constructor(self):
     permission_logic = CollaboratorsPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
     self.assertEqual(permission_logic.field_name, 'authors')
     self.assertEqual(permission_logic.any_permission, True)
     self.assertEqual(permission_logic.change_permission, True)
     self.assertEqual(permission_logic.delete_permission, True)
Example #3
0
    """
    created = kwargs.get('created')
    instance = kwargs.get('instance')
    if instance.pub_state != 'draft' and not instance.administrator in instance.members.all():
        instance.join(instance.administrator)

from permission import add_permission_logic
from kawaz.core.personas.perms import KawazAuthorPermissionLogic
from permission.logics import CollaboratorsPermissionLogic
from kawaz.core.publishments.perms import PublishmentPermissionLogic
from .perms import ProjectPermissionLogic

add_permission_logic(Project, KawazAuthorPermissionLogic(
    field_name='administrator',
    change_permission=True,
    delete_permission=True
))
add_permission_logic(Project, CollaboratorsPermissionLogic(
    field_name='members',
    change_permission=True,
    delete_permission=False
))
add_permission_logic(Project, ProjectPermissionLogic())
add_permission_logic(Project, PublishmentPermissionLogic(
    author_field_name='administrator'
))

from .activity import ProjectActivityMediator
from activities.registry import registry
registry.register(Project, ProjectActivityMediator())
Example #4
0
from permission.logics import AuthorPermissionLogic
from permission.logics import CollaboratorsPermissionLogic

PERMISSION_LOGICS = (
    ('projetisamm.Etudiant', AuthorPermissionLogic()),
    ('projetisamm.Etudiant', CollaboratorsPermissionLogic()),
)
Example #5
0
from permission.logics import AuthorPermissionLogic
from permission.logics import CollaboratorsPermissionLogic

PERMISSION_LOGICS = (
    ('buzzer.Article', AuthorPermissionLogic()),
    ('buzzer.Article', CollaboratorsPermissionLogic()),
)
 def test_has_perm_delete_with_obj(self):
     permission_logic = CollaboratorsPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user1, self.perm3, self.article))
 def test_has_perm_change_without_obj(self):
     permission_logic = CollaboratorsPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
 def test_constructor_with_specifing_field_name(self):
     permission_logic = CollaboratorsPermissionLogic(field_name='specified')
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
         isinstance(permission_logic, CollaboratorsPermissionLogic))
     self.assertEqual(permission_logic.field_name, 'specified')
 def test_has_perm_delete_with_obj_non_any_no_delete(self):
     permission_logic = CollaboratorsPermissionLogic(
         any_permission=False, delete_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user2, self.perm3, self.article))
 def test_has_perm_add_with_obj_collaborators_non_any_no_change(self):
     permission_logic = CollaboratorsPermissionLogic(
         any_permission=False, change_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user2, self.perm1, self.article))
 def test_has_perm_delete_with_obj_collaborators_diff_field_name(self):
     permission_logic = CollaboratorsPermissionLogic(field_name='editors')
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user2, self.perm3, self.article))
 def test_has_perm_add_with_obj_collaborators(self):
     permission_logic = CollaboratorsPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
         permission_logic.has_perm(self.user2, self.perm1, self.article))
 def test_has_perm_change_with_obj_with_anonymous(self):
     permission_logic = CollaboratorsPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.anonymous, self.perm2,
                                   self.article))
Example #14
0
from django.conf import settings
from django.db.models import get_models, get_app
'''
EXAMPLE
PERMISSION_LOGICS = (
    ('example.Person', AuthorPermissionLogic(field_name='owner',)),
    ('example.Person', CollaboratorsPermissionLogic()),
)
'''

# Loop the registered apps from settings
for app_name in settings.REST_EASY_APPS:

    # Get the models, then loop
    PERMISSION_LOGICS = ()
    app_models = get_app(app_name)
    for app_model in get_models(app_models):
        PERMISSION_LOGICS = PERMISSION_LOGICS + ((
            app_name + '.' + app_model.__name__,
            AuthorPermissionLogic(field_name='owner'),
        ), )
        PERMISSION_LOGICS = PERMISSION_LOGICS + ((
            app_name + '.' + app_model.__name__,
            CollaboratorsPermissionLogic(),
        ), )
        #PERMISSION_LOGICS = PERMISSION_LOGICS + (( app_name+'.'+app_model.__name__,GroupInPermissionLogic(),),)
        PERMISSION_LOGICS = PERMISSION_LOGICS + ((
            app_name + '.' + app_model.__name__,
            StaffPermissionLogic(),
        ), )