def save(self, *args, **kwargs): from alerts.tasks import cache_agents_alert_template from automation.tasks import generate_agent_checks_task if not self.pk and CoreSettings.objects.exists(): raise ValidationError( "There can only be one CoreSettings instance") # for install script if not self.pk: try: self.mesh_site = settings.MESH_SITE self.mesh_username = settings.MESH_USERNAME self.mesh_token = settings.MESH_TOKEN_KEY except: pass old_settings = type(self).objects.get(pk=self.pk) if self.pk else None super(BaseAuditModel, self).save(*args, **kwargs) # check if server polcies have changed and initiate task to reapply policies if so if (old_settings and old_settings.server_policy != self.server_policy ) or (old_settings and old_settings.workstation_policy != self.workstation_policy): generate_agent_checks_task.delay(all=True, create_tasks=True) if old_settings and old_settings.alert_template != self.alert_template: cache_agents_alert_template.delay()
def save(self, *args, **kw): from alerts.tasks import cache_agents_alert_template from automation.tasks import generate_agent_checks_by_location_task # get old client if exists old_client = type(self).objects.get(pk=self.pk) if self.pk else None super(BaseAuditModel, self).save(*args, **kw) # check if server polcies have changed and initiate task to reapply policies if so if old_client and old_client.server_policy != self.server_policy: generate_agent_checks_by_location_task.delay( location={"site__client_id": self.pk}, mon_type="server", create_tasks=True, ) # check if workstation polcies have changed and initiate task to reapply policies if so if old_client and old_client.workstation_policy != self.workstation_policy: generate_agent_checks_by_location_task.delay( location={"site__client_id": self.pk}, mon_type="workstation", create_tasks=True, ) if old_client and old_client.alert_template != self.alert_template: cache_agents_alert_template.delay()
def save(self, *args, **kw): from alerts.tasks import cache_agents_alert_template from automation.tasks import generate_agent_checks_task # get old client if exists old_client = type(self).objects.get(pk=self.pk) if self.pk else None super(BaseAuditModel, self).save(*args, **kw) # check if polcies have changed and initiate task to reapply policies if so if old_client: if ( (old_client.server_policy != self.server_policy) or (old_client.workstation_policy != self.workstation_policy) or ( old_client.block_policy_inheritance != self.block_policy_inheritance ) ): generate_agent_checks_task.delay( client=self.pk, create_tasks=True, ) if old_client.alert_template != self.alert_template: cache_agents_alert_template.delay()
def save(self, *args, **kwargs): from automation.tasks import generate_agent_checks_from_policies_task from alerts.tasks import cache_agents_alert_template # get old policy if exists old_policy = type(self).objects.get(pk=self.pk) if self.pk else None super(BaseAuditModel, self).save(*args, **kwargs) # generate agent checks only if active and enforced were changed if old_policy: if old_policy.active != self.active or old_policy.enforced != self.enforced: generate_agent_checks_from_policies_task.delay( policypk=self.pk, create_tasks=True, ) if old_policy.alert_template != self.alert_template: cache_agents_alert_template.delay()