Example #1
0
 def db_for_read(self, model, **hints):
     request = get_current_request()
     if request is not None:
         host = request.get_host()
         database = lib.get_database_by_host(host)
         if database is not None:
             return database
         elif host in settings.DATABASES:
             return host
Example #2
0
 def get_all_permissions(self, user, obj=None):
     if user.is_anonymous():
         return set()
     if not hasattr(user, C.GROUP_ACL_CACHE):
         site = AmpCmsSite.objects.get_by_request(get_current_request())
         acl = Page.objects.filter(module__site=site).filter(group__user=user).values_list('module__name', 'name').order_by()
         acl_cache = set(["%s.%s" % (ct, name) for ct, name in acl])
         acl_cache.update(self.get_group_permissions(user))
         setattr(user, C.GROUP_ACL_CACHE, acl_cache)
     return getattr(user, C.GROUP_ACL_CACHE)
Example #3
0
 def get_group_permissions(self, user, obj=None):
     if not hasattr(user, C.GROUP_ACL_CACHE):
         site = AmpCmsSite.objects.get_by_request(get_current_request())
         acl = Page.objects.filter(module__site=site).filter(user=user).values_list('module__name', 'name').order_by()
         setattr(user, C.GROUP_ACL_CACHE, set(["%s.%s" % (ct, name) for ct, name in acl]))
     return getattr(user, C.GROUP_ACL_CACHE)