def enabled_for_request(self, request): return ( None in self.namespaces and hasattr(request, 'user') and toggle_enabled(self.slug, request.user.username, None) ) or ( NAMESPACE_DOMAIN in self.namespaces and hasattr(request, 'domain') and toggle_enabled(self.slug, request.domain, NAMESPACE_DOMAIN) )
def test_toggle_turned_on(self, _): self.assertFalse( toggle_enabled(NEW_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN)) migrate_domain(self.domain) self.assertTrue( toggle_enabled(NEW_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN))
def enabled(self, item, namespace=Ellipsis): if self.relevant_environments and not (settings.SERVER_ENVIRONMENT in self.relevant_environments or settings.DEBUG): # Don't even bother looking it up in the cache return False if item in self.always_enabled: return True elif item in self.always_disabled: return False if namespace == NAMESPACE_USER: namespace = None # because: # __init__() ... self.namespaces = [None if n == NAMESPACE_USER else n for n in namespaces] if namespace is not Ellipsis and namespace not in self.namespaces: # short circuit if we're checking an item that isn't supported by this toggle return False domain_enabled_after = self.enabled_for_new_domains_after if (domain_enabled_after is not None and NAMESPACE_DOMAIN in self.namespaces and was_domain_created_after(item, domain_enabled_after)): return True user_enabled_after = self.enabled_for_new_users_after if (user_enabled_after is not None and was_user_created_after(item, user_enabled_after)): return True namespaces = self.namespaces if namespace is Ellipsis else [namespace] return any( [toggle_enabled(self.slug, item, namespace=n) for n in namespaces])
def enabled(self, item, **kwargs): if item in self.always_enabled: return True return any([ toggle_enabled(self.slug, item, namespace=n, **kwargs) for n in self.namespaces ])
def enabled(self, item, namespace=Ellipsis): if item in self.always_enabled: return True elif item in self.always_disabled: return False if namespace is not Ellipsis and namespace not in self.namespaces: # short circuit if we're checking an item that isn't supported by this toggle return False domain_enabled_after = self.enabled_for_new_domains_after if (domain_enabled_after is not None and NAMESPACE_DOMAIN in self.namespaces and was_domain_created_after(item, domain_enabled_after)): return True user_enabled_after = self.enabled_for_new_users_after if (user_enabled_after is not None and was_user_created_after(item, user_enabled_after)): return True namespaces = self.namespaces if namespace is Ellipsis else [namespace] return any( [toggle_enabled(self.slug, item, namespace=n) for n in namespaces])
def enabled(self, item, **kwargs): return any([toggle_enabled(self.slug, item, namespace=n, **kwargs) for n in self.namespaces])
def enabled(self, item, **kwargs): return any([ toggle_enabled(self.slug, item, namespace=n, **kwargs) for n in self.namespaces ])
def test_toggle_turned_on(self, _): self.assertTrue(toggle_enabled(OLD_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN)) migrate_domain(self.domain) self.assertFalse(toggle_enabled(OLD_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN))