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): """