# Copyright (c) 2020, Wahni Green Technologies and Contributors # License: GNU General Public License v3. See license.txt import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields from frappe.model.utils.rename_field import rename_field def execute(): company = frappe.get_all('Company', filters = {'country': 'Saudi Arabia'}) if not company: return if frappe.db.exists('DocType', 'Sales Invoice'): frappe.reload_doc('accounts', 'doctype', 'sales_invoice', force=True) # rename_field method assumes that the field already exists or the doc is synced if not frappe.db.has_column('Sales Invoice', 'ksa_einv_qr'): create_custom_fields({ 'Sales Invoice': [ dict( fieldname='ksa_einv_qr', label='KSA E-Invoicing QR', fieldtype='Attach Image', read_only=1, no_copy=1, hidden=1 ) ] }) if frappe.db.has_column('Sales Invoice', 'qr_code'): rename_field('Sales Invoice', 'qr_code', 'ksa_einv_qr') frappe.delete_doc_if_exists("Custom Field", "Sales Invoice-qr_code")