diff --git a/frappe/__init__.py b/frappe/__init__.py index 962c748ac3..e25fc47557 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -212,6 +212,7 @@ def set_user(username): from frappe.utils.user import User local.session.user = username local.session.sid = username + local.cache = {} local.session.data = {} local.user = User(username) local.restrictions = None diff --git a/frappe/core/page/messages/messages.py b/frappe/core/page/messages/messages.py index 8669d63460..620e3a0344 100644 --- a/frappe/core/page/messages/messages.py +++ b/frappe/core/page/messages/messages.py @@ -66,12 +66,12 @@ def post(arg=None): import json arg = json.loads(arg) - d = frappe.new_doc('Comment') + d = frappe.new_doc('Comment') d.parenttype = arg.get("parenttype") d.comment = arg['txt'] d.comment_docname = arg['contact'] d.comment_doctype = 'Message' - d.save() + d.insert(ignore_permissions=True) delete_notification_count_for("Messages") diff --git a/frappe/model/controller.py b/frappe/model/controller.py index 8cb6dde473..93d8ef72d0 100644 --- a/frappe/model/controller.py +++ b/frappe/model/controller.py @@ -11,6 +11,11 @@ from frappe.model.document import Document class EmptyTableError(frappe.ValidationError): pass class DocListController(Document): + def __init__(self, arg1, arg2=None): + super(DocListController, self).__init__(arg1, arg2) + if hasattr(self, "setup"): + self.setup() + def validate_value(self, fieldname, condition, val2, doc=None, raise_exception=None): """check that value of fieldname should be 'condition' val2 else throw exception""" diff --git a/frappe/permissions.py b/frappe/permissions.py index 55497f7e5c..e6ea32fa8f 100644 --- a/frappe/permissions.py +++ b/frappe/permissions.py @@ -105,7 +105,7 @@ def has_unrestricted_access(doc, verbose=True): def has_controller_permissions(doc): if doc.get("__islocal"): - doc = frappe.get_doc([doc]) + doc = frappe.get_doc(doc) else: doc = frappe.get_doc(doc.doctype, doc.name) diff --git a/frappe/test_runner.py b/frappe/test_runner.py index 47677d6ee1..e3f3ca80c9 100644 --- a/frappe/test_runner.py +++ b/frappe/test_runner.py @@ -141,7 +141,7 @@ def make_test_objects(doctype, test_records, verbose=None): records = [] for doc in test_records: - if not hasattr(doc, "doctype"): + if not doc.get("doctype"): doc["doctype"] = doctype d = frappe.copy_doc(doc)