diff --git a/frappe/core/doctype/user_group/user_group.py b/frappe/core/doctype/user_group/user_group.py index 6fc6db4620..64bffa06d0 100644 --- a/frappe/core/doctype/user_group/user_group.py +++ b/frappe/core/doctype/user_group/user_group.py @@ -5,6 +5,11 @@ from __future__ import unicode_literals # import frappe from frappe.model.document import Document +import frappe class UserGroup(Document): - pass + def after_insert(self): + frappe.publish_realtime('user_group_added', self.name) + + def on_trash(self): + frappe.publish_realtime('user_group_deleted', self.name) diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js index 250d308b7e..6ceac48a8c 100644 --- a/frappe/public/js/frappe/desk.js +++ b/frappe/public/js/frappe/desk.js @@ -113,7 +113,7 @@ frappe.Application = Class.extend({ dialog.get_close_btn().toggle(false); }); - this.setup_social_listeners(); + this.setup_user_group_listeners(); // listen to build errors this.setup_build_error_listener(); @@ -592,11 +592,12 @@ frappe.Application = Class.extend({ } }, - setup_social_listeners() { - frappe.realtime.on('mention', (message) => { - if (frappe.get_route()[0] !== 'social') { - frappe.show_alert(message); - } + setup_user_group_listeners() { + frappe.realtime.on('user_group_added', (user_group) => { + frappe.boot.user_groups && frappe.boot.user_groups.push(user_group); + }); + frappe.realtime.on('user_group_deleted', (user_group) => { + frappe.boot.user_groups = (frappe.boot.user_groups || []).filter(el => el !== user_group); }); },