diff --git a/apps/accounts/admin_site.py b/apps/accounts/admin_site.py
index bdb3132e..201a22f0 100644
--- a/apps/accounts/admin_site.py
+++ b/apps/accounts/admin_site.py
@@ -12,8 +12,7 @@
from django.shortcuts import render
from django.urls import path, reverse
from django.views.generic.edit import FormView
-from waffle import flag_is_active
-from waffle.mixins import WaffleFlagMixin
+
from apps.greencheck.views import GreenUrlsView
@@ -89,11 +88,10 @@ def clean(self):
)
-class CarbonTxtCheckView(LoginRequiredMixin, WaffleFlagMixin, FormView):
+class CarbonTxtCheckView(LoginRequiredMixin, FormView):
template_name = "carbon_txt_preview.html"
form_class = CarbonTxtForm
success_url = "/admin/carbon-txt-preview"
- waffle_flag = "carbon_txt_preview"
def form_valid(self, form):
"""Show the valid"""
@@ -240,21 +238,21 @@ def get_app_list(self, request, app_label=None):
if app_label:
return app_list
- if flag_is_active(request, "provider_request"):
- verification_request_item = {
- "name": "New provider portal",
- "app_label": "greencheck",
- "app_url": reverse("provider_portal_home"),
- "models": [
- {
- "name": "Move to a new version of provider portal",
- "object_name": "greencheck_url",
- "admin_url": reverse("provider_portal_home"),
- "view_only": True,
- }
- ],
- }
- app_list.insert(0, verification_request_item)
+
+ verification_request_item = {
+ "name": "New provider portal",
+ "app_label": "greencheck",
+ "app_url": reverse("provider_portal_home"),
+ "models": [
+ {
+ "name": "Move to a new version of provider portal",
+ "object_name": "greencheck_url",
+ "admin_url": reverse("provider_portal_home"),
+ "view_only": True,
+ }
+ ],
+ }
+ app_list.insert(0, verification_request_item)
app_list += [
{
diff --git a/apps/accounts/templates/provider_portal/before_starting.html b/apps/accounts/templates/provider_portal/before_starting.html
index 9df32800..8e314d02 100644
--- a/apps/accounts/templates/provider_portal/before_starting.html
+++ b/apps/accounts/templates/provider_portal/before_starting.html
@@ -1,6 +1,6 @@
{% extends 'base.html' %}
-{% load i18n static humanize widget_tweaks tailwind_filters waffle_tags %}
+{% load i18n static humanize widget_tweaks tailwind_filters %}
{% block content %}
@@ -38,4 +38,4 @@
Ready?
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/apps/accounts/tests/test_provider_portal.py b/apps/accounts/tests/test_provider_portal.py
index cc7cc5a7..26ffc4c7 100644
--- a/apps/accounts/tests/test_provider_portal.py
+++ b/apps/accounts/tests/test_provider_portal.py
@@ -3,13 +3,12 @@
from ..factories import ProviderRequestFactory, ProviderRequestLocationFactory
from django.test import RequestFactory
from django.urls import reverse
-from waffle.testutils import override_flag
+
import pytest
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_portal_home_view_displays_only_authored_requests(client):
# given: 3 provider requests exist, created by different users
pr1 = ProviderRequestFactory.create()
@@ -30,7 +29,6 @@ def test_provider_portal_home_view_displays_only_authored_requests(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_portal_home_view_returns_only_unapproved_requests(client):
# given: 1 pending verification request
pr1 = ProviderRequestFactory.create(status=ProviderRequestStatus.PENDING_REVIEW)
@@ -56,7 +54,6 @@ def test_provider_portal_home_view_returns_only_unapproved_requests(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_portal_home_view_filters_out_removed_requests(client):
# given: 1 removed verification request
removed_request = ProviderRequestFactory.create(
@@ -84,7 +81,6 @@ def test_provider_portal_home_view_filters_out_removed_requests(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_portal_home_view_items_sorted_by_name(client):
# given: 3 pending verification requests
pr1 = ProviderRequestFactory.create(status=ProviderRequestStatus.PENDING_REVIEW)
diff --git a/apps/accounts/tests/test_provider_request.py b/apps/accounts/tests/test_provider_request.py
index 68a5b527..b2543e0d 100644
--- a/apps/accounts/tests/test_provider_request.py
+++ b/apps/accounts/tests/test_provider_request.py
@@ -254,7 +254,6 @@ def test_staff_can_access_admin(greenweb_staff_user, client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_detail_view_accessible_by_creator(client):
# given: provider request exists
pr = ProviderRequestFactory.create()
@@ -269,7 +268,6 @@ def test_detail_view_accessible_by_creator(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_detail_view_accessible_by_admin(client, greenweb_staff_user):
# given: provider request exists
pr = ProviderRequestFactory.create()
@@ -284,7 +282,6 @@ def test_detail_view_accessible_by_admin(client, greenweb_staff_user):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_detail_view_forbidden_for_others(client, user):
# given: provider request exists
pr = ProviderRequestFactory.create()
@@ -298,7 +295,6 @@ def test_detail_view_forbidden_for_others(client, user):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_wizard_view_happy_path(
user,
client,
@@ -364,7 +360,6 @@ def _create_provider_request(client, form_data) -> HttpResponse:
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_wizard_sends_email_on_submission(
user,
client,
@@ -940,7 +935,6 @@ def test_approve_skips_duplicate_evidence_when_existing_evidence_updated(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_wizard_view_with_just_network_explanation(
user,
client,
@@ -983,7 +977,6 @@ def test_wizard_view_with_just_network_explanation(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_wizard_records_if_location_import_needed(
user,
client,
@@ -1025,7 +1018,6 @@ def test_wizard_records_if_location_import_needed(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_new_submission_doesnt_modify_available_services(
user,
client,
@@ -1065,7 +1057,6 @@ def test_new_submission_doesnt_modify_available_services(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_edit_view_accessible_by_creator(client):
# given: an open provider request
pr = ProviderRequestFactory.create()
@@ -1079,7 +1070,6 @@ def test_edit_view_accessible_by_creator(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_edit_view_accessible_by_admin(client, greenweb_staff_user):
# given: an open provider request
pr = ProviderRequestFactory.create()
@@ -1093,7 +1083,6 @@ def test_edit_view_accessible_by_admin(client, greenweb_staff_user):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_edit_view_inaccessible_by_other_users(client, user):
# given: an open provider request
pr = ProviderRequestFactory.create()
@@ -1107,7 +1096,6 @@ def test_edit_view_inaccessible_by_other_users(client, user):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
@pytest.mark.parametrize(
"request_status,status_code",
[
@@ -1130,7 +1118,6 @@ def test_edit_view_accessible_for_given_status(client, request_status, status_co
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_edit_view_displays_form_with_prepopulated_data(client):
# given: an open provider request
pr = ProviderRequestFactory.create()
@@ -1154,7 +1141,6 @@ def test_edit_view_displays_form_with_prepopulated_data(client):
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_editing_pr_updates_original_submission(
client,
wizard_form_org_details_data,
@@ -1339,7 +1325,6 @@ def test_editing_pr_updates_original_submission(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_edit_view_accessible_by_user_with_required_perms(
client, hosting_provider_with_sample_user, sample_hoster_user
):
@@ -1355,7 +1340,6 @@ def test_provider_edit_view_accessible_by_user_with_required_perms(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_edit_view_accessible_by_admins(
client, hosting_provider_with_sample_user, greenweb_staff_user
):
@@ -1371,7 +1355,6 @@ def test_provider_edit_view_accessible_by_admins(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_provider_edit_view_inaccessible_by_unauthorized_users(
client, hosting_provider_with_sample_user
):
@@ -1390,7 +1373,6 @@ def test_provider_edit_view_inaccessible_by_unauthorized_users(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_edit_view_inaccessible_for_nonexistent_provider(client, greenweb_staff_user):
client.force_login(greenweb_staff_user)
response = client.get(urls.reverse("provider_edit", args=[str(123456)]))
@@ -1400,7 +1382,6 @@ def test_edit_view_inaccessible_for_nonexistent_provider(client, greenweb_staff_
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_editing_hp_creates_new_verification_request(
client,
hosting_provider_with_sample_user,
@@ -1578,7 +1559,6 @@ def test_editing_hp_creates_new_verification_request(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_saving_changes_to_verification_request_from_hp_via_wizard(
client,
hosting_provider_with_sample_user,
@@ -1795,7 +1775,6 @@ def test_saving_changes_to_verification_request_from_hp_via_wizard(
@pytest.mark.django_db
-@override_flag("provider_request", active=True)
def test_saving_changes_to_hp_with_new_verification_request(
client,
hosting_provider_with_sample_user,
@@ -2090,7 +2069,6 @@ def test_request_from_host_provider_finishes_in_sensible_time():
),
),
)
-@override_flag("provider_request", active=True)
def test_email_sent_on_approval(
hosting_provider_with_sample_user,
greenweb_staff_user,
@@ -2175,7 +2153,6 @@ def test_email_sent_on_approval(
),
),
)
-@override_flag("provider_request", active=True)
def test_email_request_email_confirmation_is_sent(
hosting_provider_with_sample_user,
greenweb_staff_user,
@@ -2252,7 +2229,6 @@ def test_email_request_email_confirmation_is_sent(
("open", "Changes Requested"),
),
)
-@override_flag("provider_request", active=True)
def test_staff_review_is_logged(
hosting_provider_with_sample_user,
greenweb_staff_user,
diff --git a/apps/accounts/views.py b/apps/accounts/views.py
index b9efe484..986bd534 100644
--- a/apps/accounts/views.py
+++ b/apps/accounts/views.py
@@ -1,7 +1,6 @@
import logging
from enum import Enum
-import waffle
from dal import autocomplete
from django.conf import settings
from django.contrib import messages
@@ -31,7 +30,6 @@
RegistrationFormUniqueEmail,
)
from formtools.wizard.views import SessionWizardView
-from waffle.mixins import WaffleFlagMixin
from .forms import (
ConsentForm,
@@ -63,13 +61,6 @@
class DashboardView(TemplateView):
template_name = "dashboard.html"
- def get(self, request, *args, **kwargs):
- if waffle.flag_is_active(request, "dashboard"):
- return super().get(request, args, kwargs)
- else:
- return HttpResponseRedirect(reverse("provider_portal_home"))
-
-
class ProviderAutocompleteView(autocomplete.Select2QuerySetView):
def get_queryset(self):
# if a user is not authenticated don't show anything
@@ -176,7 +167,7 @@ def get(self, request, *args, **kwargs):
return super().get(request, args, kwargs)
-class ProviderPortalHomeView(LoginRequiredMixin, WaffleFlagMixin, ListView):
+class ProviderPortalHomeView(LoginRequiredMixin, ListView):
"""
Home page of the Provider Portal:
- used by external (non-staff) users to access a list of requests they submitted,
@@ -185,7 +176,6 @@ class ProviderPortalHomeView(LoginRequiredMixin, WaffleFlagMixin, ListView):
"""
template_name = "provider_portal/home.html"
- waffle_flag = "provider_request"
model = ProviderRequest
def get_queryset(self) -> "dict[str, QuerySet[ProviderRequest]]":
@@ -211,7 +201,7 @@ def get_queryset(self) -> "dict[str, QuerySet[ProviderRequest]]":
}
-class ProviderRequestDetailView(LoginRequiredMixin, WaffleFlagMixin, DetailView):
+class ProviderRequestDetailView(LoginRequiredMixin, DetailView):
"""
Detail view for ProviderRequests:
- used by external (non-staff) users to view a summary of a single request they submitted,
@@ -220,7 +210,6 @@ class ProviderRequestDetailView(LoginRequiredMixin, WaffleFlagMixin, DetailView)
""" # noqa
template_name = "provider_portal/request_detail.html"
- waffle_flag = "provider_request"
model = ProviderRequest
def get_queryset(self) -> "QuerySet[ProviderRequest]":
@@ -233,7 +222,7 @@ def get_queryset(self) -> "QuerySet[ProviderRequest]":
return ProviderRequest.objects.filter(created_by=self.request.user)
-class ProviderRequestWizardView(LoginRequiredMixin, WaffleFlagMixin, SessionWizardView):
+class ProviderRequestWizardView(LoginRequiredMixin, SessionWizardView):
"""
Multi-step registration for providers.
- uses `django-formtools` SessionWizardView to display
@@ -241,8 +230,6 @@ class ProviderRequestWizardView(LoginRequiredMixin, WaffleFlagMixin, SessionWiza
- requires the flag `provider_request` enabled to access the view,
"""
-
- waffle_flag = "provider_request"
file_storage = DefaultStorage()
class Steps(Enum):
diff --git a/apps/greencheck/tests/models/test_greencheck_stats.py b/apps/greencheck/tests/models/test_greencheck_stats.py
index ad82fc5c..5b8a7504 100644
--- a/apps/greencheck/tests/models/test_greencheck_stats.py
+++ b/apps/greencheck/tests/models/test_greencheck_stats.py
@@ -13,7 +13,6 @@
from django.core import management
from django.utils import timezone
from dramatiq.brokers import stub
-from waffle.testutils import override_flag
from ....accounts import models as ac_models
from ... import choices as gc_choices
diff --git a/apps/greencheck/tests/test_directory.py b/apps/greencheck/tests/test_directory.py
index 99b960d1..b0c5c3d4 100644
--- a/apps/greencheck/tests/test_directory.py
+++ b/apps/greencheck/tests/test_directory.py
@@ -5,7 +5,6 @@
@pytest.mark.django_db
-@override_flag("directory_listing", active=True)
def test_directory(client):
"""
Confirm that the directory view is accessible when our flag is active
@@ -18,7 +17,6 @@ def test_directory(client):
@pytest.mark.django_db
-@override_flag("directory_listing", active=True)
def test_ordering_of_providers_in_directory(client, hosting_provider_factory):
"""
Check that providers are listed in order of the name of their
@@ -39,7 +37,6 @@ def test_ordering_of_providers_in_directory(client, hosting_provider_factory):
@pytest.mark.django_db
-@override_flag("directory_listing", active=True)
def test_templates_in_filter_view(client, hosting_provider_factory):
"""
Check that we include the no_directoru results in our template
@@ -61,7 +58,6 @@ def test_templates_in_filter_view(client, hosting_provider_factory):
@pytest.mark.django_db
-@override_flag("directory_listing", active=True)
def test_fallback_when_no_filter_view_has_no_results(client, hosting_provider_factory):
"""
Check that we include the no_directoru results in our template
diff --git a/apps/greencheck/views.py b/apps/greencheck/views.py
index ca4bb0ce..b88d6e71 100644
--- a/apps/greencheck/views.py
+++ b/apps/greencheck/views.py
@@ -2,7 +2,6 @@
import typing
from datetime import date, timedelta
-import waffle
from dateutil.relativedelta import relativedelta
from django.db.models import Sum
from django.http import HttpResponseRedirect
@@ -14,6 +13,7 @@
from django.views.generic.base import TemplateView
import django_filters
+
from waffle.mixins import WaffleFlagMixin
from apps.accounts.models.hosting import Hostingprovider
@@ -235,13 +235,12 @@ class Meta:
fields = ["services", "country"]
-class DirectoryView(WaffleFlagMixin, TemplateView):
+class DirectoryView(TemplateView):
"""
A view for filtering our list of providers by various criteria
"""
template_name = "greencheck/directory_index.html"
- waffle_flag = "directory_listing"
def get_context_data(self, *args, **kwargs):
"""