code: def get_acl(self, request):
          
          if RootFactory._acl is None:
              acl = []
              session = DBSession()
              groups = Group.all(session)
              for g in groups:
                  acl.extend([(Allow, g.name, p.name) for p in g.permissions])
              RootFactory._acl = acl
  
          return RootFactory._acl
docs: Get ACL.
          Initialize the __acl__ from the sql database once,
          then use the cached version.
  
          :param request: pyramid request
          :type login: :class:`pyramid.request.Request`
  
          :return: ACLs in pyramid format. (Allow, group name, permission name)
          :rtype: list of tupple