Revision e65c21df snf-astakos-app/astakos/im/models.py

b/snf-astakos-app/astakos/im/models.py
83 83
logger = logging.getLogger(__name__)
84 84

  
85 85
DEFAULT_CONTENT_TYPE = None
86
try:
87
    content_type = ContentType.objects.get(app_label='im', model='astakosuser')
88
except:
89
    content_type = DEFAULT_CONTENT_TYPE
86
_content_type = None
87

  
88
def get_content_type():
89
    global _content_type
90
    if _content_type is not None:
91
        return _content_type
92

  
93
    try:
94
        content_type = ContentType.objects.get(app_label='im', model='astakosuser')
95
    except:
96
        content_type = DEFAULT_CONTENT_TYPE
97
    _content_type = content_type
98
    return content_type
90 99

  
91 100
RESOURCE_SEPARATOR = '.'
92 101

  
......
398 407
    def add_permission(self, pname):
399 408
        if self.has_perm(pname):
400 409
            return
401
        p, created = Permission.objects.get_or_create(codename=pname,
402
                                                      name=pname.capitalize(),
403
                                                      content_type=content_type)
410
        p, created = Permission.objects.get_or_create(
411
                                    codename=pname,
412
                                    name=pname.capitalize(),
413
                                    content_type=get_content_type())
404 414
        self.user_permissions.add(p)
405 415

  
406 416
    def remove_permission(self, pname):
407 417
        if self.has_perm(pname):
408 418
            return
409 419
        p = Permission.objects.get(codename=pname,
410
                                   content_type=content_type)
420
                                   content_type=get_content_type())
411 421
        self.user_permissions.remove(p)
412 422

  
413 423
    @property
......
1007 1017
    def __str__(self):
1008 1018
        return self.policy
1009 1019

  
1010
try:
1011
    auto_accept = MemberAcceptPolicy.objects.get(policy='auto_accept')
1012
except:
1013
    auto_accept = None
1020
_auto_accept = False
1021
def get_auto_accept():
1022
    global _auto_accept
1023
    if _auto_accept is not False:
1024
        return _auto_accept
1025
    try:
1026
        auto_accept = MemberAcceptPolicy.objects.get(policy='auto_accept')
1027
    except:
1028
        auto_accept = None
1029
    _auto_accept = auto_accept
1030
    return auto_accept
1014 1031

  
1015 1032
class ProjectDefinition(models.Model):
1016 1033
    name = models.CharField(max_length=80)

Also available in: Unified diff