blob: 6af135b960a229b932c254a581d05665bb14d4e2 [file] [log] [blame]
Frappe1dfb5eb2021-07-14 12:33:45 +05301# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
2# License: GNU General Public License v3. See license.txt
3
Frappe1dfb5eb2021-07-14 12:33:45 +05304
Anuja Pawar08ae49c2021-08-09 17:58:52 +05305import frappe
Anuja5dcd5e42021-07-29 00:54:48 +05306from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
Frappe1dfb5eb2021-07-14 12:33:45 +05307from frappe.permissions import add_permission, update_permission_property
8
Anuja Pawarabc63cf2021-07-26 18:11:38 +05309def setup(company=None, patch=True):
Anuja Pawar08ae49c2021-08-09 17:58:52 +053010 make_custom_fields()
Frappe1dfb5eb2021-07-14 12:33:45 +053011 add_permissions()
12
Anuja5dcd5e42021-07-29 00:54:48 +053013def make_custom_fields(update=True):
14 is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated',
15 fieldtype='Check', fetch_from='item_code.is_zero_rated',
16 insert_after='description', print_hide=1)
17 custom_fields = {
18 'Item': [
19 dict(fieldname='is_zero_rated', label='Is Zero Rated',
20 fieldtype='Check', insert_after='item_group',
21 print_hide=1)
22 ],
23 'Sales Invoice Item': is_zero_rated,
24 'Purchase Invoice Item': is_zero_rated
25 }
Ankush Menat4551d7d2021-08-19 13:41:10 +053026
Anuja5dcd5e42021-07-29 00:54:48 +053027 create_custom_fields(custom_fields, update=update)
28
Frappe1dfb5eb2021-07-14 12:33:45 +053029def add_permissions():
Anuja Pawar08ae49c2021-08-09 17:58:52 +053030 """Add Permissions for South Africa VAT Settings and South Africa VAT Account
31 and VAT Audit Report"""
Frappe1dfb5eb2021-07-14 12:33:45 +053032 for doctype in ('South Africa VAT Settings', 'South Africa VAT Account'):
33 add_permission(doctype, 'All', 0)
34 for role in ('Accounts Manager', 'Accounts User', 'System Manager'):
35 add_permission(doctype, role, 0)
36 update_permission_property(doctype, role, 0, 'write', 1)
Anuja Pawar08ae49c2021-08-09 17:58:52 +053037 update_permission_property(doctype, role, 0, 'create', 1)
Ankush Menat4551d7d2021-08-19 13:41:10 +053038
Anuja Pawar08ae49c2021-08-09 17:58:52 +053039
40 if not frappe.db.get_value('Custom Role', dict(report="VAT Audit Report")):
41 frappe.get_doc(dict(
42 doctype='Custom Role',
43 report="VAT Audit Report",
44 roles= [
45 dict(role='Accounts User'),
46 dict(role='Accounts Manager'),
47 dict(role='Auditor')
48 ]
Ankush Menat4551d7d2021-08-19 13:41:10 +053049 )).insert()