def preserve_naming_series_options_in_property_setter(self): """preserve naming_series as property setter if it does not exist""" naming_series = self.get("fields", {"fieldname": "naming_series"}) if not naming_series: return # check if atleast 1 record exists if not (frappe.db.table_exists("tab" + self.name) and frappe.db.sql( "select name from `tab{}` limit 1".format(self.name))): return existing_property_setter = frappe.db.get_value( "Property Setter", { "doc_type": self.name, "property": "options", "field_name": "naming_series" }) if not existing_property_setter: make_property_setter(self.name, "naming_series", "options", naming_series[0].options, "Text", validate_fields_for_doctype=False) if naming_series[0].default: make_property_setter(self.name, "naming_series", "default", naming_series[0].default, "Text", validate_fields_for_doctype=False)
def toggle_rounded_total(self): self.disable_rounded_total = cint(self.disable_rounded_total) # Make property setters to hide rounded total fields for doctype in ("Quotation", "Sales Order", "Sales Invoice", "Delivery Note"): make_property_setter(doctype, "rounded_total", "hidden", self.disable_rounded_total, "Check") make_property_setter(doctype, "rounded_total", "print_hide", 1, "Check") make_property_setter(doctype, "rounded_total_export", "hidden", self.disable_rounded_total, "Check") make_property_setter(doctype, "rounded_total_export", "print_hide", self.disable_rounded_total, "Check")
def preserve_naming_series_options_in_property_setter(self): """preserve naming_series as property setter if it does not exist""" naming_series = self.get("fields", {"fieldname": "naming_series"}) if not naming_series: return # check if atleast 1 record exists if not (frappe.db.table_exists("tab" + self.name) and frappe.db.sql("select name from `tab{}` limit 1".format(self.name))): return existing_property_setter = frappe.db.get_value("Property Setter", {"doc_type": self.name, "property": "options", "field_name": "naming_series"}) if not existing_property_setter: make_property_setter(self.name, "naming_series", "options", naming_series[0].options, "Text", validate_fields_for_doctype=False) if naming_series[0].default: make_property_setter(self.name, "naming_series", "default", naming_series[0].default, "Text", validate_fields_for_doctype=False)
def set_series(doctype, options, default): make_property_setter(doctype, "naming_series", "options", options, "Text") make_property_setter(doctype, "naming_series", "default", default, "Text")
def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True): from frappe.core.doctype.property_setter.property_setter import make_property_setter if naming_series: make_property_setter(doctype, "naming_series", "hidden", 0, "Check") make_property_setter(doctype, "naming_series", "reqd", 1, "Check") # set values for mandatory frappe.db.sql( """update `tab{doctype}` set naming_series={s} where ifnull(naming_series, '')=''""".format(doctype=doctype, s="%s"), get_default_naming_series(doctype)) if hide_name_field: make_property_setter(doctype, fieldname, "reqd", 0, "Check") make_property_setter(doctype, fieldname, "hidden", 1, "Check") else: make_property_setter(doctype, "naming_series", "reqd", 0, "Check") make_property_setter(doctype, "naming_series", "hidden", 1, "Check") if hide_name_field: make_property_setter(doctype, fieldname, "hidden", 0, "Check") make_property_setter(doctype, fieldname, "reqd", 1, "Check") # set values for mandatory frappe.db.sql( """update `tab{doctype}` set `{fieldname}`=`name` where ifnull({fieldname}, '')=''""".format(doctype=doctype, fieldname=fieldname))
def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True): from frappe.core.doctype.property_setter.property_setter import make_property_setter if naming_series: make_property_setter(doctype, "naming_series", "hidden", 0, "Check") make_property_setter(doctype, "naming_series", "reqd", 1, "Check") # set values for mandatory frappe.db.sql("""update `tab{doctype}` set naming_series={s} where ifnull(naming_series, '')=''""".format(doctype=doctype, s="%s"), get_default_naming_series(doctype)) if hide_name_field: make_property_setter(doctype, fieldname, "reqd", 0, "Check") make_property_setter(doctype, fieldname, "hidden", 1, "Check") else: make_property_setter(doctype, "naming_series", "reqd", 0, "Check") make_property_setter(doctype, "naming_series", "hidden", 1, "Check") if hide_name_field: make_property_setter(doctype, fieldname, "hidden", 0, "Check") make_property_setter(doctype, fieldname, "reqd", 1, "Check") # set values for mandatory frappe.db.sql("""update `tab{doctype}` set `{fieldname}`=`name` where ifnull({fieldname}, '')=''""".format(doctype=doctype, fieldname=fieldname))