diff --git a/frappe/__version__.py b/frappe/__version__.py index bdbd220ef0..0e51c01789 100644 --- a/frappe/__version__.py +++ b/frappe/__version__.py @@ -1,2 +1,2 @@ from __future__ import unicode_literals -__version__ = "6.26.2" +__version__ = "6.26.3" diff --git a/frappe/email/email_body.py b/frappe/email/email_body.py index 55f3baf757..e85c70a5ab 100644 --- a/frappe/email/email_body.py +++ b/frappe/email/email_body.py @@ -211,8 +211,6 @@ class EMail: return self.msg_root.as_string() def get_formatted_html(subject, message, footer=None, print_html=None, email_account=None): - message = scrub_urls(message) - if not email_account: email_account = get_outgoing_email_account(False) @@ -225,7 +223,7 @@ def get_formatted_html(subject, message, footer=None, print_html=None, email_acc "subject": subject }) - return rendered_email + return scrub_urls(rendered_email) def get_signature(email_account): if email_account and email_account.add_signature and email_account.signature: diff --git a/frappe/hooks.py b/frappe/hooks.py index 451f17ac6f..15bb662ae4 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -5,7 +5,7 @@ app_publisher = "Frappe Technologies" app_description = "Full stack web framework with Python, Javascript, MariaDB, Redis, Node" app_icon = "octicon octicon-circuit-board" -app_version = "6.26.2" +app_version = "6.26.3" app_color = "orange" source_link = "https://github.com/frappe/frappe" app_license = "MIT" diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 3c944d8c31..bb36a76bfd 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -185,11 +185,13 @@ class BaseDocument(object): df = self.meta.get_field(fieldname) if df: - if df.fieldtype in ("Check", "Int") and not isinstance(d[fieldname], int): + if df.fieldtype=="Check" and (not isinstance(d[fieldname], int) or d[fieldname] > 1): + d[fieldname] = 1 if cint(d[fieldname]) else 0 + + elif df.fieldtype=="Int" and not isinstance(d[fieldname], int): d[fieldname] = cint(d[fieldname]) elif df.fieldtype in ("Currency", "Float", "Percent") and not isinstance(d[fieldname], float): - d[fieldname] = flt(d[fieldname]) elif df.fieldtype in ("Datetime", "Date") and d[fieldname]=="": diff --git a/frappe/model/document.py b/frappe/model/document.py index 9af9f097e7..e1f0509125 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -380,7 +380,7 @@ class Document(BaseDocument): if not hasattr(self, "_has_access_to"): user_roles = frappe.get_roles() self._has_access_to = [] - for perm in self.meta.permissions: + for perm in self.get_permissions(): if perm.role in user_roles and perm.permlevel > 0 and perm.write: if perm.permlevel not in self._has_access_to: self._has_access_to.append(perm.permlevel) @@ -393,6 +393,15 @@ class Document(BaseDocument): return df.permlevel in self.get_permlevel_access() + def get_permissions(self): + if self.meta.istable: + # use parent permissions + permissions = frappe.get_meta(self.parenttype).permissions + else: + permissions = self.meta.permissions + + return permissions + def _set_defaults(self): if frappe.flags.in_import: return diff --git a/setup.py b/setup.py index f7a26ec3a3..174dffddd0 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages from pip.req import parse_requirements -version = "6.26.2" +version = "6.26.3" requirements = parse_requirements("requirements.txt", session="") setup(