mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
feat(alert/reports): adding logic to handle downstream reports when tab is deleted from dashboard (#29333)
This commit is contained in:
@@ -170,15 +170,19 @@ def create_report_notification(
|
||||
return report_schedule
|
||||
|
||||
|
||||
def cleanup_report_schedule(report_schedule: ReportSchedule) -> None:
|
||||
db.session.query(ReportExecutionLog).filter(
|
||||
ReportExecutionLog.report_schedule == report_schedule
|
||||
).delete()
|
||||
db.session.query(ReportRecipients).filter(
|
||||
ReportRecipients.report_schedule == report_schedule
|
||||
).delete()
|
||||
|
||||
db.session.delete(report_schedule)
|
||||
def cleanup_report_schedule(report_schedule: Optional[ReportSchedule] = None) -> None:
|
||||
if report_schedule:
|
||||
db.session.query(ReportExecutionLog).filter(
|
||||
ReportExecutionLog.report_schedule == report_schedule
|
||||
).delete()
|
||||
db.session.query(ReportRecipients).filter(
|
||||
ReportRecipients.report_schedule == report_schedule
|
||||
).delete()
|
||||
db.session.delete(report_schedule)
|
||||
else:
|
||||
db.session.query(ReportExecutionLog).delete()
|
||||
db.session.query(ReportRecipients).delete()
|
||||
db.session.query(ReportSchedule).delete()
|
||||
db.session.commit()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user