diff --git a/openwisp_controller/config/base/multitenancy.py b/openwisp_controller/config/base/multitenancy.py index 9cdf15736..c3e6267d7 100644 --- a/openwisp_controller/config/base/multitenancy.py +++ b/openwisp_controller/config/base/multitenancy.py @@ -65,6 +65,11 @@ def save( bulk_invalidate_config_get_cached_checksum.delay( {"device__organization_id": str(self.organization_id)} ) + Device = swapper.load_model("config", "Device") + for device in Device.objects.filter(organization=self.organization): + if hasattr(device, "config") and device.config.status == "applied": + device.config.set_status_modified() + device.config.save() class AbstractOrganizationLimits(models.Model): diff --git a/openwisp_controller/config/tests/test_config.py b/openwisp_controller/config/tests/test_config.py index 9b4478707..9aa46855b 100644 --- a/openwisp_controller/config/tests/test_config.py +++ b/openwisp_controller/config/tests/test_config.py @@ -20,6 +20,7 @@ Template = load_model("config", "Template") Vpn = load_model("config", "Vpn") Ca = load_model("django_x509", "Ca") +OrganizationConfigSettings = load_model("config", "OrganizationConfigSettings") class TestConfig(