from __future__ import unicode_literals import frappe from erpnext.setup.install import create_compact_item_print_custom_field from frappe.utils import cint def execute(): frappe.reload_doctype('Stock Settings') stock_settings = frappe.get_doc('Stock Settings', 'Stock Settings') stock_settings.show_barcode_field = cint(frappe.db.get_value("Features Setup", None, "fs_item_barcode")) if not frappe.db.exists("UOM", stock_settings.stock_uom): stock_settings.stock_uom = None stock_settings.save() create_compact_item_print_custom_field() compact_item_print = frappe.db.get_value("Features Setup", None, "compact_item_print") frappe.db.set_value("Print Settings", None, "compact_item_print", compact_item_print) # remove defaults frappe.db.sql("""delete from tabDefaultValue where defkey in ('fs_item_serial_nos', 'fs_item_batch_nos', 'fs_brands', 'fs_item_barcode', 'fs_item_advanced', 'fs_packing_details', 'fs_item_group_in_details', 'fs_exports', 'fs_imports', 'fs_discounts', 'fs_purchase_discounts', 'fs_after_sales_installations', 'fs_projects', 'fs_sales_extras', 'fs_recurring_invoice', 'fs_pos', 'fs_manufacturing', 'fs_quality', 'fs_page_break', 'fs_more_info', 'fs_pos_view', 'compact_item_print')""") frappe.delete_doc('DocType', 'Features Setup')