Browse Source

fix: delete property setter

version-14
Pruthvi Patel 3 years ago
parent
commit
000625038c
2 changed files with 6 additions and 4 deletions
  1. +1
    -1
      frappe/custom/doctype/customize_form/customize_form.py
  2. +5
    -3
      frappe/custom/doctype/property_setter/property_setter.py

+ 1
- 1
frappe/custom/doctype/customize_form/customize_form.py View File

@@ -377,7 +377,7 @@ class CustomizeForm(Document):

def make_property_setter(self, prop, value, property_type, fieldname=None,
apply_on=None, row_name = None):
delete_property_setter(self.doc_type, prop, fieldname)
delete_property_setter(self.doc_type, prop, fieldname, row_name)

property_value = self.get_existing_property_value(prop, fieldname)



+ 5
- 3
frappe/custom/doctype/property_setter/property_setter.py View File

@@ -19,7 +19,7 @@ class PropertySetter(Document):
def validate(self):
self.validate_fieldtype_change()
if self.is_new():
delete_property_setter(self.doc_type, self.property, self.field_name)
delete_property_setter(self.doc_type, self.property, self.field_name, self.row_name)

# clear cache
frappe.clear_cache(doctype = self.doc_type)
@@ -91,11 +91,13 @@ def make_property_setter(doctype, fieldname, property, value, property_type, for
property_setter.insert()
return property_setter

def delete_property_setter(doc_type, property, field_name=None):
def delete_property_setter(doc_type, property, field_name=None, row_name=None):
"""delete other property setters on this, if this is new"""
filters = dict(doc_type = doc_type, property=property)
filters = dict(doc_type=doc_type, property=property)
if field_name:
filters['field_name'] = field_name
if row_name:
filters["row_name"] = row_name

frappe.db.delete('Property Setter', filters)


Loading…
Cancel
Save