You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
400 B
Python
19 lines
400 B
Python
from django.contrib.auth import get_permission_codename
|
|
import rules.contrib.admin
|
|
import rules
|
|
|
|
def memberize_user(func):
|
|
def inner(user, other):
|
|
if not hasattr(user, 'member'):
|
|
return False
|
|
return func(user.member, other)
|
|
return inner
|
|
|
|
|
|
def has_global_perm(name):
|
|
@rules.predicate
|
|
def pred(user, obj):
|
|
return user.has_perm(name)
|
|
|
|
return pred
|