Beispiel #1
0
 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)
     )
Beispiel #2
0
 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))
Beispiel #3
0
 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)
     )
Beispiel #4
0
    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])
Beispiel #5
0
 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
     ])
Beispiel #6
0
    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])
Beispiel #7
0
 def enabled(self, item, **kwargs):
     return any([toggle_enabled(self.slug, item, namespace=n, **kwargs) for n in self.namespaces])
Beispiel #8
0
 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))