Ejemplo n.º 1
0
 def test_has_perm_change_with_obj_without_any(self):
     permission_logic = StaffPermissionLogic(any_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm2, self.article))
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm2, self.article))
Ejemplo n.º 2
0
 def test_has_perm_delete_with_obj(self):
     permission_logic = StaffPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm3, self.article))
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm3, self.article))
Ejemplo n.º 3
0
 def test_has_perm_delete_with_obj(self):
     permission_logic = StaffPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm3, self.article))
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm3, self.article))
Ejemplo n.º 4
0
 def test_has_perm_change_with_obj_without_any(self):
     permission_logic = StaffPermissionLogic(any_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user1, self.perm2, self.article))
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm2, self.article))
Ejemplo n.º 5
0
    def test_constructor(self):
        permission_logic = StaffPermissionLogic()
        add_permission_logic(self.article.__class__, permission_logic)

        self.assertTrue(isinstance(permission_logic, StaffPermissionLogic))
        self.assertEqual(permission_logic.any_permission, True)
        self.assertEqual(permission_logic.add_permission, True)
        self.assertEqual(permission_logic.change_permission, True)
        self.assertEqual(permission_logic.delete_permission, True)
Ejemplo n.º 6
0
from permission.logics import AuthorPermissionLogic, StaffPermissionLogic

PERMISSION_LOGICS = (('forums.Post',
                      AuthorPermissionLogic(
                          field_name='author',
                          any_permission=False,
                          change_permission=True,
                          delete_permission=True,
                      )), ('forums.Post',
                           StaffPermissionLogic(
                               any_permission=False,
                               change_permission=True,
                               delete_permission=True,
                           )))
Ejemplo n.º 7
0
 def test_constructor_with_specifing_delete_permission(self):
     permission_logic = StaffPermissionLogic(delete_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, StaffPermissionLogic))
     self.assertEqual(permission_logic.delete_permission, False)
Ejemplo n.º 8
0
 def test_has_perm_delete_with_obj_with_anonymous(self):
     permission_logic = StaffPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.anonymous, self.perm3, self.article))
Ejemplo n.º 9
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(),
        ), )