Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 1 | # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors |
| 2 | # License: GNU General Public License v3. See license.txt |
| 3 | |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 4 | import frappe |
Subin Tom | 7004944 | 2021-08-31 18:33:16 +0530 | [diff] [blame] | 5 | import os |
| 6 | import json |
| 7 | from frappe.permissions import add_permission, update_permission_property |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 8 | from frappe.custom.doctype.custom_field.custom_field import create_custom_fields |
| 9 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 10 | |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 11 | def setup(company=None, patch=True): |
Subin Tom | 7004944 | 2021-08-31 18:33:16 +0530 | [diff] [blame] | 12 | # Company independent fixtures should be called only once at the first company setup |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 13 | if frappe.db.count("Company", {"country": "United States"}) <= 1: |
Subin Tom | 7004944 | 2021-08-31 18:33:16 +0530 | [diff] [blame] | 14 | setup_company_independent_fixtures(patch=patch) |
| 15 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 16 | |
Subin Tom | 7004944 | 2021-08-31 18:33:16 +0530 | [diff] [blame] | 17 | def setup_company_independent_fixtures(company=None, patch=True): |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 18 | make_custom_fields() |
| 19 | add_print_formats() |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 20 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 21 | |
Deepesh Garg | 9df4532 | 2020-06-11 21:33:43 +0530 | [diff] [blame] | 22 | def make_custom_fields(update=True): |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 23 | custom_fields = { |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 24 | "Supplier": [ |
| 25 | dict( |
| 26 | fieldname="irs_1099", |
| 27 | fieldtype="Check", |
| 28 | insert_after="tax_id", |
| 29 | label="Is IRS 1099 reporting required for supplier?", |
| 30 | ) |
vishdha | d3ec1c1 | 2020-03-24 11:31:41 +0530 | [diff] [blame] | 31 | ], |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 32 | "Sales Order": [ |
| 33 | dict( |
| 34 | fieldname="exempt_from_sales_tax", |
| 35 | fieldtype="Check", |
| 36 | insert_after="taxes_and_charges", |
| 37 | label="Is customer exempted from sales tax?", |
| 38 | ) |
vishdha | d3ec1c1 | 2020-03-24 11:31:41 +0530 | [diff] [blame] | 39 | ], |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 40 | "Sales Invoice": [ |
| 41 | dict( |
| 42 | fieldname="exempt_from_sales_tax", |
| 43 | fieldtype="Check", |
| 44 | insert_after="taxes_section", |
| 45 | label="Is customer exempted from sales tax?", |
| 46 | ) |
vishdha | d3ec1c1 | 2020-03-24 11:31:41 +0530 | [diff] [blame] | 47 | ], |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 48 | "Customer": [ |
| 49 | dict( |
| 50 | fieldname="exempt_from_sales_tax", |
| 51 | fieldtype="Check", |
| 52 | insert_after="represents_company", |
| 53 | label="Is customer exempted from sales tax?", |
| 54 | ) |
vishdha | d3ec1c1 | 2020-03-24 11:31:41 +0530 | [diff] [blame] | 55 | ], |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 56 | "Quotation": [ |
| 57 | dict( |
| 58 | fieldname="exempt_from_sales_tax", |
| 59 | fieldtype="Check", |
| 60 | insert_after="taxes_and_charges", |
| 61 | label="Is customer exempted from sales tax?", |
| 62 | ) |
| 63 | ], |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 64 | } |
Deepesh Garg | 9df4532 | 2020-06-11 21:33:43 +0530 | [diff] [blame] | 65 | create_custom_fields(custom_fields, update=update) |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 66 | |
Ankush Menat | 494bd9e | 2022-03-28 18:52:46 +0530 | [diff] [blame] | 67 | |
Tyler Matteson | 53a6492 | 2019-01-17 14:04:01 -0500 | [diff] [blame] | 68 | def add_print_formats(): |
| 69 | frappe.reload_doc("regional", "print_format", "irs_1099_form") |
barredterra | 1521b31 | 2021-03-03 12:33:48 +0100 | [diff] [blame] | 70 | frappe.db.set_value("Print Format", "IRS 1099 Form", "disabled", 0) |