Skip to content

Commit 21d7fad

Browse files
authored
add support for everyone option to is_active_for_user (#491)
1 parent be05c2c commit 21d7fad

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

waffle/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,9 @@ def get_flush_keys(self, flush_keys: list[str] | None = None) -> list[str]:
230230
return flush_keys
231231

232232
def is_active_for_user(self, user: AbstractBaseUser) -> bool | None:
233+
if self.everyone:
234+
return True
235+
233236
if self.authenticated and user.is_authenticated:
234237
return True
235238

waffle/tests/test_models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
get_waffle_sample_model,
66
get_waffle_switch_model,
77
)
8+
from django.contrib.auth.models import User
89

910

1011
class ModelsTests(TestCase):
@@ -30,3 +31,8 @@ def test_natural_keys(self):
3031
def test_flag_is_not_active_for_none_requests(self):
3132
flag = get_waffle_flag_model().objects.create(name='test-flag')
3233
self.assertEqual(flag.is_active(None), False)
34+
35+
def test_is_active_for_user_when_everyone_is_active(self):
36+
flag = get_waffle_flag_model().objects.create(name='test-flag')
37+
flag.everyone = True
38+
self.assertEqual(flag.is_active_for_user(User()), True)

0 commit comments

Comments
 (0)