diff --git a/frappe/__init__.py b/frappe/__init__.py index 853dbc1204..d0f9e4143f 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -24,7 +24,7 @@ if sys.version[0] == '2': reload(sys) sys.setdefaultencoding("utf-8") -__version__ = '11.1.11' +__version__ = '11.1.12' __title__ = "Frappe Framework" local = Local() diff --git a/frappe/chat/doctype/chat_message/chat_message.py b/frappe/chat/doctype/chat_message/chat_message.py index 657009b2c1..677b850e8e 100644 --- a/frappe/chat/doctype/chat_message/chat_message.py +++ b/frappe/chat/doctype/chat_message/chat_message.py @@ -141,13 +141,16 @@ def send(user, room, content, type = "Content"): def seen(message, user = None): authenticate(user) - mess = frappe.get_doc('Chat Message', message) - mess.add_seen(user) + has_message = frappe.db.exists('Chat Message', message) - room = mess.room - resp = dict(message = message, data = dict(seen = json.loads(mess._seen))) + if has_message: + mess = frappe.get_doc('Chat Message', message) + mess.add_seen(user) - frappe.publish_realtime('frappe.chat.message:update', resp, room = room, after_commit = True) + room = mess.room + resp = dict(message = message, data = dict(seen = json.loads(mess._seen))) + + frappe.publish_realtime('frappe.chat.message:update', resp, room = room, after_commit = True) def history(room, fields = None, limit = 10, start = None, end = None): room = frappe.get_doc('Chat Room', room) @@ -194,18 +197,21 @@ def mark_messages_as_seen(message_names, user): def get(name, rooms = None, fields = None): rooms, fields = safe_json_loads(rooms, fields) - dmess = frappe.get_doc('Chat Message', name) - data = dict( - name = dmess.name, - user = dmess.user, - room = dmess.room, - room_type = dmess.room_type, - content = json.loads(dmess.content) if dmess.type in ["File"] else dmess.content, - type = dmess.type, - urls = dmess.urls, - mentions = dmess.mentions, - creation = dmess.creation, - seen = get_if_empty(dmess._seen, [ ]) - ) + has_message = frappe.db.exists('Chat Message', name) - return data \ No newline at end of file + if has_message: + dmess = frappe.get_doc('Chat Message', name) + data = dict( + name = dmess.name, + user = dmess.user, + room = dmess.room, + room_type = dmess.room_type, + content = json.loads(dmess.content) if dmess.type in ["File"] else dmess.content, + type = dmess.type, + urls = dmess.urls, + mentions = dmess.mentions, + creation = dmess.creation, + seen = get_if_empty(dmess._seen, [ ]) + ) + + return data \ No newline at end of file diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index e746914399..1dfa0ff114 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -328,6 +328,12 @@ class User(Document): and reference_doctype='User' and (reference_name=%s or owner=%s)""", (self.name, self.name)) + # unlink contact + frappe.db.sql("""update `tabContact` + set user=null + where user=%s""", (self.name)) + + def before_rename(self, old_name, new_name, merge=False): self.check_demo() frappe.clear_cache(user=old_name) diff --git a/frappe/workflow/doctype/workflow_action/workflow_action.py b/frappe/workflow/doctype/workflow_action/workflow_action.py index 33992b1a6c..45a4db247e 100644 --- a/frappe/workflow/doctype/workflow_action/workflow_action.py +++ b/frappe/workflow/doctype/workflow_action/workflow_action.py @@ -174,9 +174,6 @@ def create_workflow_actions_for_users(users, doc): 'user': user }).insert(ignore_permissions=True) - frappe.db.commit() - - def send_workflow_action_email(users_data, doc): common_args = get_common_email_args(doc) message = common_args.pop('message', None)