mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 16:31:33 +00:00
* perf: 重构 ticket * perf: 优化 tickets * perf: 暂存 * perf: 建立 ticket model * perf: 暂存一下 * perf: 修改 tickets * perf: 修改 import * perf: 修改model * perf: 暂存一波 * perf: 修改... * del process_map field * 工单重构 * 资产 应用对接前端 * perf: 修改 ticket * fix: bug * 修改迁移文件 * 添加其他api * 去掉process_map * perf: 优化去掉 signal * perf: 修改这里 * 修改一点 * perf: 修改工单 * perf: 修改状态 * perf: 修改工单流转 * step 状态切换 * perf: 修改 ticket open * perf: 修改流程 * perf: stash it * 改又改 * stash it * perf: stash * stash * migrate * perf migrate * 调整一下 * 修复bug * 修改一点 * 修改一点 * 优化一波 * perf: ticket migrations Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: feng626 <1304903146@qq.com>
29 lines
834 B
Python
29 lines
834 B
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
from django.dispatch import receiver
|
|
from django.db.models.signals import post_save, m2m_changed
|
|
|
|
from common.decorator import on_transaction_commit
|
|
from common.utils import get_logger
|
|
from tickets.models import Ticket
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
@on_transaction_commit
|
|
def after_save_set_rel_snapshot(sender, instance, update_fields=None, **kwargs):
|
|
if update_fields and list(update_fields)[0] == 'rel_snapshot':
|
|
return
|
|
instance.set_rel_snapshot()
|
|
|
|
|
|
@on_transaction_commit
|
|
def on_m2m_change(sender, action, instance, reverse=False, **kwargs):
|
|
if action.startswith('post'):
|
|
instance.set_rel_snapshot()
|
|
|
|
|
|
for ticket_cls in Ticket.__subclasses__():
|
|
post_save.connect(after_save_set_rel_snapshot, sender=ticket_cls)
|
|
m2m_changed.connect(on_m2m_change, sender=ticket_cls)
|