| # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. 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.permissions import add_permission, update_permission_property |
| |
| |
| def setup(company=None, patch=True): |
| make_custom_fields() |
| add_permissions() |
| |
| |
| def make_custom_fields(update=True): |
| is_zero_rated = dict( |
| fieldname="is_zero_rated", |
| label="Is Zero Rated", |
| fieldtype="Check", |
| fetch_from="item_code.is_zero_rated", |
| insert_after="description", |
| print_hide=1, |
| ) |
| custom_fields = { |
| "Item": [ |
| dict( |
| fieldname="is_zero_rated", |
| label="Is Zero Rated", |
| fieldtype="Check", |
| insert_after="item_group", |
| print_hide=1, |
| ) |
| ], |
| "Sales Invoice Item": is_zero_rated, |
| "Purchase Invoice Item": is_zero_rated, |
| } |
| |
| create_custom_fields(custom_fields, update=update) |
| |
| |
| def add_permissions(): |
| """Add Permissions for South Africa VAT Settings and South Africa VAT Account |
| and VAT Audit Report""" |
| for doctype in ("South Africa VAT Settings", "South Africa VAT Account"): |
| add_permission(doctype, "All", 0) |
| for role in ("Accounts Manager", "Accounts User", "System Manager"): |
| add_permission(doctype, role, 0) |
| update_permission_property(doctype, role, 0, "write", 1) |
| update_permission_property(doctype, role, 0, "create", 1) |
| |
| if not frappe.db.get_value("Custom Role", dict(report="VAT Audit Report")): |
| frappe.get_doc( |
| dict( |
| doctype="Custom Role", |
| report="VAT Audit Report", |
| roles=[dict(role="Accounts User"), dict(role="Accounts Manager"), dict(role="Auditor")], |
| ) |
| ).insert() |