rohitwaghchaure | 4e17fae | 2017-12-12 14:40:52 +0530 | [diff] [blame] | 1 | # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors |
| 2 | # License: GNU General Public License v3. See license.txt |
| 3 | |
Ahmad | cb0c2d1 | 2021-08-26 07:35:59 +0500 | [diff] [blame] | 4 | import frappe |
| 5 | from frappe.permissions import add_permission, update_permission_property |
Dany Robert | bb3119c | 2021-12-07 11:05:41 +0000 | [diff] [blame] | 6 | from erpnext.regional.united_arab_emirates.setup import make_custom_fields as uae_custom_fields |
Ahmad | cb0c2d1 | 2021-08-26 07:35:59 +0500 | [diff] [blame] | 7 | from erpnext.regional.saudi_arabia.wizard.operations.setup_ksa_vat_setting import create_ksa_vat_setting |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 8 | from frappe.custom.doctype.custom_field.custom_field import create_custom_fields |
rohitwaghchaure | 4e17fae | 2017-12-12 14:40:52 +0530 | [diff] [blame] | 9 | |
| 10 | def setup(company=None, patch=True): |
Ahmad | 87380d0 | 2021-09-06 23:36:55 +0500 | [diff] [blame] | 11 | uae_custom_fields() |
rohitwaghchaure | 4e17fae | 2017-12-12 14:40:52 +0530 | [diff] [blame] | 12 | add_print_formats() |
Ahmad | cb0c2d1 | 2021-08-26 07:35:59 +0500 | [diff] [blame] | 13 | add_permissions() |
ahmadpak | 2a5beec | 2021-10-30 17:18:45 +0300 | [diff] [blame] | 14 | make_custom_fields() |
Ahmad | cb0c2d1 | 2021-08-26 07:35:59 +0500 | [diff] [blame] | 15 | |
Dany Robert | bb3119c | 2021-12-07 11:05:41 +0000 | [diff] [blame] | 16 | def add_print_formats(): |
Dany Robert | a0aeace | 2021-12-07 12:39:39 +0000 | [diff] [blame] | 17 | frappe.reload_doc("regional", "print_format", "detailed_tax_invoice", force=True) |
| 18 | frappe.reload_doc("regional", "print_format", "simplified_tax_invoice", force=True) |
| 19 | frappe.reload_doc("regional", "print_format", "tax_invoice", force=True) |
| 20 | frappe.reload_doc("regional", "print_format", "ksa_vat_invoice", force=True) |
| 21 | frappe.reload_doc("regional", "print_format", "ksa_pos_invoice", force=True) |
Dany Robert | bb3119c | 2021-12-07 11:05:41 +0000 | [diff] [blame] | 22 | |
Dany Robert | ca85094 | 2021-12-08 07:52:06 +0530 | [diff] [blame] | 23 | for d in ('Simplified Tax Invoice', 'Detailed Tax Invoice', 'Tax Invoice', 'KSA VAT Invoice', 'KSA POS Invoice'): |
| 24 | frappe.db.set_value("Print Format", d, "disabled", 0) |
Dany Robert | bb3119c | 2021-12-07 11:05:41 +0000 | [diff] [blame] | 25 | |
Ahmad | cb0c2d1 | 2021-08-26 07:35:59 +0500 | [diff] [blame] | 26 | def add_permissions(): |
| 27 | """Add Permissions for KSA VAT Setting.""" |
| 28 | add_permission('KSA VAT Setting', 'All', 0) |
| 29 | for role in ('Accounts Manager', 'Accounts User', 'System Manager'): |
| 30 | add_permission('KSA VAT Setting', role, 0) |
| 31 | update_permission_property('KSA VAT Setting', role, 0, 'write', 1) |
| 32 | update_permission_property('KSA VAT Setting', role, 0, 'create', 1) |
| 33 | |
| 34 | """Enable KSA VAT Report""" |
| 35 | frappe.db.set_value('Report', 'KSA VAT', 'disabled', 0) |
Ahmad | 87380d0 | 2021-09-06 23:36:55 +0500 | [diff] [blame] | 36 | |
ahmadpak | 2a5beec | 2021-10-30 17:18:45 +0300 | [diff] [blame] | 37 | def make_custom_fields(): |
| 38 | """Create Custom fields |
| 39 | - QR code Image file |
| 40 | - Company Name in Arabic |
| 41 | - Address in Arabic |
| 42 | """ |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 43 | custom_fields = { |
| 44 | 'Sales Invoice': [ |
| 45 | dict( |
Dany Robert | 6a6d6f7 | 2021-12-07 12:17:45 +0530 | [diff] [blame] | 46 | fieldname='ksa_einv_qr', |
| 47 | label='KSA E-Invoicing QR', |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 48 | fieldtype='Attach Image', |
| 49 | read_only=1, no_copy=1, hidden=1 |
| 50 | ) |
| 51 | ], |
Dany Robert | d06c4b5 | 2021-12-07 12:29:59 +0530 | [diff] [blame] | 52 | 'POS Invoice': [ |
| 53 | dict( |
| 54 | fieldname='ksa_einv_qr', |
| 55 | label='KSA E-Invoicing QR', |
| 56 | fieldtype='Attach Image', |
| 57 | read_only=1, no_copy=1, hidden=1 |
| 58 | ) |
| 59 | ], |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 60 | 'Address': [ |
| 61 | dict( |
| 62 | fieldname='address_in_arabic', |
| 63 | label='Address in Arabic', |
| 64 | fieldtype='Data', |
| 65 | insert_after='address_line2' |
| 66 | ) |
| 67 | ], |
| 68 | 'Company': [ |
| 69 | dict( |
| 70 | fieldname='company_name_in_arabic', |
| 71 | label='Company Name In Arabic', |
| 72 | fieldtype='Data', |
| 73 | insert_after='company_name' |
| 74 | ) |
| 75 | ] |
| 76 | } |
Ahmad | 9dae36b | 2021-09-17 01:51:32 +0500 | [diff] [blame] | 77 | |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 78 | create_custom_fields(custom_fields, update=True) |
ahmadpak | 2a5beec | 2021-10-30 17:18:45 +0300 | [diff] [blame] | 79 | |
Deepesh Garg | c81d473 | 2021-11-08 17:14:03 +0530 | [diff] [blame] | 80 | def update_regional_tax_settings(country, company): |
| 81 | create_ksa_vat_setting(company) |