# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt import frappe from frappe.permissions import add_permission, update_permission_property from erpnext.regional.united_arab_emirates.setup import make_custom_fields as uae_custom_fields from erpnext.regional.saudi_arabia.wizard.operations.setup_ksa_vat_setting import create_ksa_vat_setting from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def setup(company=None, patch=True): uae_custom_fields() add_print_formats() add_permissions() make_custom_fields() def add_print_formats(): frappe.reload_doc("regional", "print_format", "detailed_tax_invoice", force=True) frappe.reload_doc("regional", "print_format", "simplified_tax_invoice", force=True) frappe.reload_doc("regional", "print_format", "tax_invoice", force=True) frappe.reload_doc("regional", "print_format", "ksa_vat_invoice", force=True) frappe.reload_doc("regional", "print_format", "ksa_pos_invoice", force=True) frappe.db.sql("""UPDATE`tabPrint Format` SET disabled = 0 WHERE name IN ('Simplified Tax Invoice', 'Detailed Tax Invoice', 'Tax Invoice', 'KSA VAT Invoice', 'KSA POS Invoice') """) def add_permissions(): """Add Permissions for KSA VAT Setting.""" add_permission('KSA VAT Setting', 'All', 0) for role in ('Accounts Manager', 'Accounts User', 'System Manager'): add_permission('KSA VAT Setting', role, 0) update_permission_property('KSA VAT Setting', role, 0, 'write', 1) update_permission_property('KSA VAT Setting', role, 0, 'create', 1) """Enable KSA VAT Report""" frappe.db.set_value('Report', 'KSA VAT', 'disabled', 0) def make_custom_fields(): """Create Custom fields - QR code Image file - Company Name in Arabic - Address in Arabic """ 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 ) ], 'POS Invoice': [ dict( fieldname='ksa_einv_qr', label='KSA E-Invoicing QR', fieldtype='Attach Image', read_only=1, no_copy=1, hidden=1 ) ], 'Address': [ dict( fieldname='address_in_arabic', label='Address in Arabic', fieldtype='Data', insert_after='address_line2' ) ], 'Company': [ dict( fieldname='company_name_in_arabic', label='Company Name In Arabic', fieldtype='Data', insert_after='company_name' ) ] } create_custom_fields(custom_fields, update=True) def update_regional_tax_settings(country, company): create_ksa_vat_setting(company)