From 4f2d3bee9f1d43188e3b6aebf46df102701ab1f8 Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Tue, 20 Jun 2023 12:20:32 +0200 Subject: [PATCH] add is_restricted column to alert_group table (#2289) # What this PR does Plus mark `alert_receive_channel.restricted_at` column as deprecated. This column will be removed in a future release. ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated (N/A) - [ ] Documentation added (or `pr:no public docs` PR label added if not required) (N/A) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) (N/A) --- .../0017_alertgroup_is_restricted.py | 18 ++++++++++++++++++ engine/apps/alerts/models/alert_group.py | 7 +------ .../alerts/models/alert_receive_channel.py | 1 + .../user_management/models/organization.py | 1 + 4 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 engine/apps/alerts/migrations/0017_alertgroup_is_restricted.py diff --git a/engine/apps/alerts/migrations/0017_alertgroup_is_restricted.py b/engine/apps/alerts/migrations/0017_alertgroup_is_restricted.py new file mode 100644 index 00000000..f3958ba8 --- /dev/null +++ b/engine/apps/alerts/migrations/0017_alertgroup_is_restricted.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.19 on 2023-06-19 12:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('alerts', '0016_auto_20230523_1355'), + ] + + operations = [ + migrations.AddField( + model_name='alertgroup', + name='is_restricted', + field=models.BooleanField(default=False, null=True), + ), + ] diff --git a/engine/apps/alerts/models/alert_group.py b/engine/apps/alerts/models/alert_group.py index 50aa01aa..3e732c28 100644 --- a/engine/apps/alerts/models/alert_group.py +++ b/engine/apps/alerts/models/alert_group.py @@ -365,12 +365,7 @@ class AlertGroup(AlertGroupSlackRenderingMixin, EscalationSnapshotMixin, models. # https://code.djangoproject.com/ticket/28545 is_open_for_grouping = models.BooleanField(default=None, null=True, blank=True) - @property - def is_restricted(self): - integration_restricted_at = self.channel.restricted_at - if integration_restricted_at is None: - return False - return self.started_at >= integration_restricted_at + is_restricted = models.BooleanField(default=False, null=True) @staticmethod def get_silenced_state_filter(): diff --git a/engine/apps/alerts/models/alert_receive_channel.py b/engine/apps/alerts/models/alert_receive_channel.py index 0d2602eb..4f3222c4 100644 --- a/engine/apps/alerts/models/alert_receive_channel.py +++ b/engine/apps/alerts/models/alert_receive_channel.py @@ -192,6 +192,7 @@ class AlertReceiveChannel(IntegrationOptionsMixin, MaintainableObject): rate_limited_in_slack_at = models.DateTimeField(null=True, default=None) rate_limit_message_task_id = models.CharField(max_length=100, null=True, default=None) + # TODO: remove this field after AlertGroup.is_restricted change has been released restricted_at = models.DateTimeField(null=True, default=None) class Meta: diff --git a/engine/apps/user_management/models/organization.py b/engine/apps/user_management/models/organization.py index 7ca3ba70..151bfb34 100644 --- a/engine/apps/user_management/models/organization.py +++ b/engine/apps/user_management/models/organization.py @@ -64,6 +64,7 @@ class OrganizationManager(models.Manager): class Organization(MaintainableObject): + objects = OrganizationManager() objects_with_deleted = models.Manager()