diff --git a/config/settings.py b/config/settings.py index 43ece0a6..515ff799 100755 --- a/config/settings.py +++ b/config/settings.py @@ -67,6 +67,7 @@ INSTALLED_APPS = [ # Third-party apps INSTALLED_APPS += [ + "waffle", "anymail", "rest_framework", "corsheaders", @@ -145,8 +146,13 @@ MIDDLEWARE = [ "allauth.account.middleware.AccountMiddleware", "oauth2_provider.middleware.OAuth2TokenMiddleware", "wagtail.contrib.redirects.middleware.RedirectMiddleware", + "waffle.middleware.WaffleMiddleware", ] +# django-waffle settings +WAFFLE_CREATE_MISSING_FLAGS = True +WAFFLE_FLAG_DEFAULT = False + if DEBUG: # These are necessary to turn on Whitenoise which will serve our static # files while doing local development diff --git a/requirements.in b/requirements.in index 33ac0e83..45b278c1 100644 --- a/requirements.in +++ b/requirements.in @@ -14,6 +14,7 @@ django-import-export django-oauth-toolkit django-redis django-upgrade +django-waffle django-widget-tweaks djangorestframework environs[django] diff --git a/requirements.txt b/requirements.txt index ce9d6961..5125448b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -145,6 +145,7 @@ django==6.0.2 # django-taggit # django-tasks # django-treebeard + # django-waffle # django-widget-tweaks # djangorestframework # laces @@ -213,6 +214,8 @@ django-treebeard==4.8.0 # via wagtail django-upgrade==1.29.1 # via -r ./requirements.in +django-waffle==5.0.0 + # via -r ./requirements.in django-widget-tweaks==1.5.1 # via -r ./requirements.in djangorestframework==3.16.1 diff --git a/templates/base.html b/templates/base.html index 2995a2df..a55dbfea 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,5 +1,6 @@ {% load static %} {% load i18n %} +{% load waffle_tags %} {% get_current_language as LANGUAGE_CODE %} @@ -347,6 +348,9 @@ }" class="h-screen bg-gray-200 dark:bg-black{% if DEBUG %} DEBUG{% endif %}" {% block body_id %}{% endblock %}> + {% flag "v3" %} +
v3 flag enabled
+ {% endflag %} {% block main_content_wrapper %}
{% endblock %} {% block content_header %} {% include "includes/_header.html" %} diff --git a/users/migrations/0021_add_v3_testers_group.py b/users/migrations/0021_add_v3_testers_group.py new file mode 100644 index 00000000..634947df --- /dev/null +++ b/users/migrations/0021_add_v3_testers_group.py @@ -0,0 +1,24 @@ +# Generated by Django 6.0.2 on 2026-02-17 15:12 + +from django.db import migrations + + +def create_v3_testers_group(apps, schema_editor): + Group = apps.get_model("auth", "Group") + Group.objects.get_or_create(name="v3_testers") + + +def delete_v3_testers_group(apps, schema_editor): + Group = apps.get_model("auth", "Group") + Group.objects.filter(name="v3_testers").delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0020_rename_image_user_profile_image"), + ] + + operations = [ + migrations.RunPython(create_v3_testers_group, delete_v3_testers_group), + ]