コード例 #1
0
ファイル: models.py プロジェクト: suhailvs/django-trusts
    def register_content(klass, fieldlookup=None):
        if fieldlookup is None:
            content_model_fields = [f for f in klass._meta.fields if f.rel is not None and f.name == 'trust']
            if len(content_model_fields) != 1:
                raise AttributeError('Expect "trust" field in model %s.' % short_name)
        short_name = utils.get_short_model_name(klass)
        Content._contents[short_name] = fieldlookup

        if hasattr(klass._meta, 'permission_conditions'):
            for permcond, func in klass._meta.permission_conditions:
                Content.register_permission_condition(klass, permcond, func)
コード例 #2
0
ファイル: models.py プロジェクト: suhailvs/django-trusts
 def get_permission_condition_func(klass, cond_code):
     short_name = utils.get_short_model_name(klass)
     if short_name in Content._conditions:
         if cond_code in Content._conditions[short_name]:
             return Content._conditions[short_name][cond_code]
     return None
コード例 #3
0
ファイル: models.py プロジェクト: suhailvs/django-trusts
 def get_content_fieldlookup(klass):
     short_name = utils.get_short_model_name(klass)
     if short_name in Content._contents.keys():
         return Content._contents[short_name]
     return None
コード例 #4
0
ファイル: models.py プロジェクト: suhailvs/django-trusts
 def is_content_model(klass):
     short_name = utils.get_short_model_name(klass)
     if short_name in Content._contents.keys():
         return True
     return False
コード例 #5
0
ファイル: models.py プロジェクト: suhailvs/django-trusts
 def register_permission_condition(klass, cond_code, func):
     short_name = utils.get_short_model_name(klass)
     if short_name not in Content._conditions:
         Content._conditions[short_name] = {}
     Content._conditions[short_name][cond_code] = func