From c9c607b71dcb5212eec775d8fb0e25eba8784e7d Mon Sep 17 00:00:00 2001 From: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com> Date: Tue, 26 Feb 2019 23:55:32 +0530 Subject: [PATCH 1/5] fix: Chat message not found on refresh issue fix (#6990) If chat message is deleted then chat message not found error message is shown on refresh. ![chat message](https://user-images.githubusercontent.com/42651287/53424137-a55d1100-3a08-11e9-909f-1c585ddb416a.png) --- .../chat/doctype/chat_message/chat_message.py | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) 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 From 6082145e55469aba8d8dd264af2f35da714a491f Mon Sep 17 00:00:00 2001 From: Anurag Mishra Date: Wed, 27 Feb 2019 14:51:34 +0530 Subject: [PATCH 2/5] fix: unlink contact on deleting user --- frappe/core/doctype/user/user.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index e746914399..00ac4f3dd7 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 name=%s""", (self.full_name)) + + def before_rename(self, old_name, new_name, merge=False): self.check_demo() frappe.clear_cache(user=old_name) From 4c3f1b8b825f8e1149b8926c91009e90fb1dfddb Mon Sep 17 00:00:00 2001 From: Anurag Mishra Date: Wed, 27 Feb 2019 15:12:30 +0530 Subject: [PATCH 3/5] fix: found user --- frappe/core/doctype/user/user.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 00ac4f3dd7..1dfa0ff114 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -330,8 +330,8 @@ class User(Document): # unlink contact frappe.db.sql("""update `tabContact` - set user=null - where name=%s""", (self.full_name)) + set user=null + where user=%s""", (self.name)) def before_rename(self, old_name, new_name, merge=False): From 0ede34aeb3b4ea953e64c44cb44ecac6ab875d1a Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 27 Feb 2019 17:10:41 +0530 Subject: [PATCH 4/5] fix: explicit commit submitting the document even if exception is raised --- frappe/workflow/doctype/workflow_action/workflow_action.py | 3 --- 1 file changed, 3 deletions(-) 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) From c72c83c400949ce9bff06a3395fe9d943437784c Mon Sep 17 00:00:00 2001 From: Frappe Bot Date: Thu, 28 Feb 2019 10:05:31 +0000 Subject: [PATCH 5/5] bumped to version 11.1.12 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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()