From 1877511acf56042e556cddc0fb53f9db8d1ac8cb Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 14 Aug 2018 10:16:38 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E6=9B=B4=E6=94=B9=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=90=8C=E4=BA=8B=E6=9B=B4=E6=94=B9=E8=8A=82=E7=82=B9=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/orgs/hands.py | 4 ++++ apps/orgs/signals_handler.py | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 apps/orgs/hands.py diff --git a/apps/orgs/hands.py b/apps/orgs/hands.py new file mode 100644 index 000000000..f3dbd3211 --- /dev/null +++ b/apps/orgs/hands.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# +from assets.models import Node +from orgs.utils import set_current_org, current_org diff --git a/apps/orgs/signals_handler.py b/apps/orgs/signals_handler.py index cd60777e8..9427649b2 100644 --- a/apps/orgs/signals_handler.py +++ b/apps/orgs/signals_handler.py @@ -5,9 +5,19 @@ from django.db.models.signals import post_save from django.dispatch import receiver from .models import Organization +from .hands import set_current_org, current_org, Node @receiver(post_save, sender=Organization) -def on_org_update(sender, instance=None, created=False, **kwargs): +def on_org_create_or_update(sender, instance=None, created=False, **kwargs): + if instance: + old_org = current_org + set_current_org(instance) + node_root = Node.root() + if node_root.value != instance.name: + node_root.value = instance.name + node_root.save() + set_current_org(old_org) + if instance and not created: instance.expire_cache()