Exemplo n.º 1
0
 def test_constructor(self):
     permission_logic = AuthorPermissionLogic()
     self.assertTrue(isinstance(permission_logic, AuthorPermissionLogic))
     self.assertEqual(permission_logic.field_name, 'author')
     self.assertEqual(permission_logic.any_permission, True)
     self.assertEqual(permission_logic.change_permission, True)
     self.assertEqual(permission_logic.delete_permission, True)
Exemplo n.º 2
0
 def test_has_perm_add_with_obj_author_non_any(self):
     permission_logic = AuthorPermissionLogic(any_permission=False)
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm1, self.article))
Exemplo n.º 3
0
from permission.logics import AuthorPermissionLogic
from permission.logics import CollaboratorsPermissionLogic

PERMISSION_LOGICS = (
    ('projetisamm.Etudiant', AuthorPermissionLogic()),
    ('projetisamm.Etudiant', CollaboratorsPermissionLogic()),
)
Exemplo n.º 4
0
from permission.logics import AuthorPermissionLogic
from permission.logics import CollaboratorsPermissionLogic

PERMISSION_LOGICS = (
    ('buzzer.Article', AuthorPermissionLogic()),
    ('buzzer.Article', CollaboratorsPermissionLogic()),
)
 def test_has_perm_delete_without_obj_with_anonymous(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm3))
 def test_has_perm_delete_with_obj_non_any_no_delete(self):
     permission_logic = AuthorPermissionLogic(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_delete_with_obj_author_diff_field_name(self):
     permission_logic = AuthorPermissionLogic(field_name='editor')
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm3, self.article))
Exemplo n.º 8
0
 def test_has_perm_change_with_obj(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user1, self.perm2, self.article))
Exemplo n.º 9
0
 def test_has_perm_delete_with_obj_author(self):
     permission_logic = AuthorPermissionLogic()
     self.assertTrue(
             permission_logic.has_perm(self.user2, self.perm3, self.article))
Exemplo n.º 10
0
 def test_has_perm_delete_with_obj(self):
     permission_logic = AuthorPermissionLogic()
     self.assertFalse(
             permission_logic.has_perm(self.user1, self.perm3, self.article))
Exemplo n.º 11
0
 def test_has_perm_change_without_obj(self):
     permission_logic = AuthorPermissionLogic()
     self.assertFalse(permission_logic.has_perm(self.user1, self.perm2))
Exemplo n.º 12
0
 def test_constructor_with_specifing_change_permission(self):
     permission_logic = AuthorPermissionLogic(change_permission=False)
     self.assertTrue(isinstance(permission_logic, AuthorPermissionLogic))
     self.assertEqual(permission_logic.change_permission, False)
Exemplo n.º 13
0
 def test_has_perm_change_with_obj_author_non_any_no_delete(self):
     permission_logic = AuthorPermissionLogic(any_permission=False,
                                              delete_permission=False)
     self.assertTrue(
             permission_logic.has_perm(self.user2, self.perm2, self.article))
Exemplo n.º 14
0
 def test_has_perm_delete_with_obj_non_any(self):
     permission_logic = AuthorPermissionLogic(any_permission=False)
     self.assertTrue(
             permission_logic.has_perm(self.user2, self.perm3, self.article))
Exemplo n.º 15
0
 def test_has_perm_delete_without_obj(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
Exemplo n.º 16
0
 def test_has_perm_add_with_obj_author_diff_field_name(self):
     permission_logic = AuthorPermissionLogic(field_name='editor')
     self.assertFalse(
             permission_logic.has_perm(self.user2, self.perm1, self.article))
Exemplo n.º 17
0
 def test_has_perm_delete_without_obj_with_anonymous(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm3))
Exemplo n.º 18
0
 def test_has_perm_add_with_obj_author(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
         permission_logic.has_perm(self.user2, self.perm1, self.article))
Exemplo n.º 19
0
 def test_has_perm_add_with_obj_author(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(
             permission_logic.has_perm(self.user2, self.perm1, self.article))
Exemplo n.º 20
0
 def test_has_perm_delete_with_obj_author_diff_field_name(self):
     permission_logic = AuthorPermissionLogic(field_name='editor')
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
         permission_logic.has_perm(self.user2, self.perm3, self.article))
Exemplo n.º 21
0
 def test_has_perm_add_with_obj_author_non_any_no_change(self):
     permission_logic = AuthorPermissionLogic(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))
Exemplo n.º 22
0
 def test_has_perm_add_with_obj_author_non_any_no_change(self):
     permission_logic = AuthorPermissionLogic(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))
Exemplo n.º 23
0
 def test_has_perm_delete_without_obj(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
Exemplo n.º 24
0
 def test_has_perm_delete_with_obj_non_any_no_delete(self):
     permission_logic = AuthorPermissionLogic(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))
Exemplo n.º 25
0
 def test_has_perm_change_with_obj(self):
     permission_logic = AuthorPermissionLogic()
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertFalse(
             permission_logic.has_perm(self.user1, self.perm2, self.article))
Exemplo n.º 26
0
 def test_constructor_with_specifing_field_name(self):
     permission_logic = AuthorPermissionLogic(field_name='specified')
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, AuthorPermissionLogic))
     self.assertEqual(permission_logic.field_name, 'specified')
Exemplo n.º 27
0
        self.name = self.name.lower()

    def __str__(self):
        return self.name


#### PERMISSIONS

# apply AuthorPermissionLogic and CollaboratorsPermissionLogic
from permission import add_permission_logic
from permission.logics import PermissionLogic, AuthorPermissionLogic
# from permission.logics import CollaboratorsPermissionLogic

# Authors have full permission (edit, delete etc.) to their own skills and training bits
gcl_authorpermissionlogic = AuthorPermissionLogic(field_name='author',
                                                  change_permission=True,
                                                  delete_permission=True)
add_permission_logic(Skill, gcl_authorpermissionlogic)
add_permission_logic(TrainingBit, gcl_authorpermissionlogic)
add_permission_logic(Project, gcl_authorpermissionlogic)
add_permission_logic(Comment, gcl_authorpermissionlogic)

# See: https://github.com/lambdalisue/django-permission/blob/bdd0ebefbb6638b38886a0d35d9d379cfb067bfd/src/permission/logics/author.py


class AdminPermissionLogic(PermissionLogic):
    def has_perm(self, user, permission_str, obj):
        if user.is_authenticated() and user.is_admin:
            return True
        else:
            return False
Exemplo n.º 28
0
 def test_constructor_with_specifing_delete_permission(self):
     permission_logic = AuthorPermissionLogic(delete_permission=False)
     add_permission_logic(self.article.__class__, permission_logic)
     self.assertTrue(isinstance(permission_logic, AuthorPermissionLogic))
     self.assertEqual(permission_logic.delete_permission, False)
Exemplo n.º 29
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,
                           )))
Exemplo n.º 30
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(),
        ), )