Merge pull request #8476 from deepeshgarg007/disable

fix: Validation for disabled link fields
This commit is contained in:
mergify[bot] 2019-09-23 04:59:28 +00:00 committed by GitHub
commit e1f3982a88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 8 deletions

View file

@ -10,20 +10,16 @@ test_records = frappe.get_test_records('Role')
class TestUser(unittest.TestCase):
def test_disable_role(self):
frappe.get_doc("User", "test@example.com").add_roles("_Test Role 3")
role = frappe.get_doc("Role", "_Test Role 3")
role.disabled = 1
role.save()
self.assertTrue("_Test Role 3" not in frappe.get_roles("test@example.com"))
frappe.get_doc("User", "test@example.com").add_roles("_Test Role 3")
self.assertTrue("_Test Role 3" not in frappe.get_roles("test@example.com"))
role = frappe.get_doc("Role", "_Test Role 3")
role.disabled = 0
role.save()
frappe.get_doc("User", "test@example.com").add_roles("_Test Role 3")
self.assertTrue("_Test Role 3" in frappe.get_roles("test@example.com"))

View file

@ -454,6 +454,12 @@ class BaseDocument(object):
doctype = df.options
if not doctype:
frappe.throw(_("Options not set for link field {0}").format(df.fieldname))
meta = frappe.get_meta(doctype)
if meta.has_field('disabled'):
disabled = frappe.get_value(doctype, self.get(df.fieldname), 'disabled')
if disabled:
frappe.throw(_("{0} is disabled").format(frappe.bold(self.get(df.fieldname))))
else:
doctype = self.get(df.options)
if not doctype: