diff --git a/frappe/__init__.py b/frappe/__init__.py index 48e1d1585d..865c648b1a 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = '8.0.66' +__version__ = '8.0.67' __title__ = "Frappe Framework" local = Local() diff --git a/frappe/core/doctype/deleted_document/deleted_document.js b/frappe/core/doctype/deleted_document/deleted_document.js index c158e4d39f..3125cb2f1c 100644 --- a/frappe/core/doctype/deleted_document/deleted_document.js +++ b/frappe/core/doctype/deleted_document/deleted_document.js @@ -13,7 +13,7 @@ frappe.ui.form.on('Deleted Document', { method: 'frappe.core.doctype.deleted_document.deleted_document.restore', args: {name: frm.doc.name}, callback: function(r) { - // + frm.reload_doc(); } }); }); diff --git a/frappe/core/doctype/deleted_document/deleted_document.py b/frappe/core/doctype/deleted_document/deleted_document.py index 75e293dd61..e01e9b08bf 100644 --- a/frappe/core/doctype/deleted_document/deleted_document.py +++ b/frappe/core/doctype/deleted_document/deleted_document.py @@ -23,6 +23,6 @@ def restore(name): deleted.new_name = doc.name deleted.restored = 1 - deleted.save() + deleted.db_update() frappe.msgprint(_('Document Restored')) \ No newline at end of file diff --git a/frappe/desk/tags.py b/frappe/desk/tags.py index e6af49f90d..b02e814280 100644 --- a/frappe/desk/tags.py +++ b/frappe/desk/tags.py @@ -84,7 +84,6 @@ class DocTags: def remove(self, dn, tag): """remove a user tag""" tl = self.get_tags(dn).split(',') - print(tag, filter(lambda x:x!=tag, tl)) self.update(dn, filter(lambda x:x.lower()!=tag.lower(), tl)) def remove_all(self, dn): diff --git a/frappe/email/doctype/email_alert/email_alert.js b/frappe/email/doctype/email_alert/email_alert.js index f7fa09dea0..ac5b2e6e4e 100755 --- a/frappe/email/doctype/email_alert/email_alert.js +++ b/frappe/email/doctype/email_alert/email_alert.js @@ -34,6 +34,7 @@ frappe.email_alert = { // set first option as blank to allow email alert not to be defaulted to the owner frm.doc.name).options = [""].concat(["owner"].concat(email_fields)); + frm.fields_dict.recipients.grid.refresh(); }); } } diff --git a/frappe/email/queue.py b/frappe/email/queue.py index 23a549d6e2..2fe1e34486 100755 --- a/frappe/email/queue.py +++ b/frappe/email/queue.py @@ -429,11 +429,13 @@ where name=%s""", (unicode(e), email.name), auto_commit=auto_commit) def prepare_message(email, recipient, recipients_list): message = email.message + if not message: + return "" + if email.add_unsubscribe_link and email.reference_doctype: # is missing the check for unsubscribe message but will not add as there will be no unsubscribe url unsubscribe_url = get_unsubcribed_url(email.reference_doctype, email.reference_name, recipient, email.unsubscribe_method, email.unsubscribe_params) - if message: - message = message.replace("", quopri.encodestring(unsubscribe_url)) + message = message.replace("", quopri.encodestring(unsubscribe_url)) if email.expose_recipients == "header": pass