taxes_az/taxes_az/hooks.py

309 lines
7.8 KiB
Python

app_name = "taxes_az"
app_title = "Taxes Az"
app_publisher = "Jey Soft"
app_description = "Azərbaycan Taxes"
app_email = "info@jeysoft.az"
app_license = "unlicense"
fixtures = [
{
"doctype": "Client Script",
"filters": [
["module", "=", "Taxes Az"]
]
},
{
"doctype": "Business Classification",
"filters": []
}
]
after_migrate = [
"taxes_az.master_data.sync.sync_main_type_of_activity",
"taxes_az.master_data.sync.sync_item_groups",
"taxes_az.setup_accounts.check_and_create_accounts"
]
doctype_js = {
"XML Mapping Tool": [
"public/js/xml_mapping/xml_parser.js",
"public/js/xml_mapping/field_generator.js",
"public/js/xml_mapping/doctype_field_selector.js",
"public/js/xml_mapping/mapping_storage.js",
"public/js/xml_mapping/xml_generator.js"
],
"Company": "client/company.js",
"Item Group": "public/js/item_group.js"
}
# Vahid "Dövr" period seçici — bütün bəyannamələr (ФНО) üçün.
# ay/il/rüb gizlədilir, dəyər `dövr` sahəsindən doldurulur (bax: dovr_period.js).
_DOVR_DECLARATIONS = [
"Building construction and simplified tax declaration",
"Declaration of mining tax",
"Declaration of simplified tax",
"Declaration of simplified tax on cash withdrawals",
"Declaration of value added tax",
"Declaration of withholding tax on winnings",
"Excise declaration",
"Export declaration",
"Housing construction simplified tax declaration",
"Income tax return",
"Income tax return of a private notary",
"Land tax declaration",
"Profit tax with special tax regime",
"Property tax return",
"Quarterly report on unemployment insurance",
"Real estate simplified tax declaration",
"REFERENCE on controlled transactions",
"Report on collection of state duty",
"Road tax 2",
"Single declaration related to salaried and non-salaried work",
"Tax return withheld at source of payment",
"VAT calculated on the amount paid to a non-resident",
"Withholding tax return of foreign subcontractors",
]
for _dt in _DOVR_DECLARATIONS:
doctype_js[_dt] = "public/js/dovr_period.js"
doc_events = {
"Item Group": {
"on_trash": "taxes_az.item_group.validate_item_group_deletion"
},
"Company": {
"on_update": "taxes_az.setup_accounts.on_company_update"
},
"Payment Entry": {
"on_submit": "taxes_az.cash_method.on_payment_entry_submit",
"on_cancel": "taxes_az.cash_method.on_payment_entry_cancel"
},
"Journal Entry": {
"on_submit": "taxes_az.cash_method.on_journal_entry_submit"
}
}
# Includes in <head>
# ------------------
# include js, css files in header of desk.html
# app_include_css = "/assets/taxes_az/css/taxes_az.css"
# app_include_js = "/assets/taxes_az/js/taxes_az.js"
# include js, css files in header of web template
# web_include_css = "/assets/taxes_az/css/taxes_az.css"
# web_include_js = "/assets/taxes_az/js/taxes_az.js"
# include custom scss in every website theme (without file extension ".scss")
# website_theme_scss = "taxes_az/public/scss/website"
# include js, css files in header of web form
# webform_include_js = {"doctype": "public/js/doctype.js"}
# webform_include_css = {"doctype": "public/css/doctype.css"}
# include js in page
# page_js = {"page" : "public/js/file.js"}
# include js in doctype views
# doctype_js = {"doctype" : "public/js/doctype.js"}
# doctype_list_js = {"doctype" : "public/js/doctype_list.js"}
# doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"}
# doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"}
# Svg Icons
# ------------------
# include app icons in desk
# app_include_icons = "taxes_az/public/icons.svg"
# Home Pages
# ----------
# application home page (will override Website Settings)
# home_page = "login"
# website user home page (by Role)
# role_home_page = {
# "Role": "home_page"
# }
# Generators
# ----------
# automatically create page for each record of this doctype
# website_generators = ["Web Page"]
# Jinja
# ----------
# add methods and filters to jinja environment
# jinja = {
# "methods": "taxes_az.utils.jinja_methods",
# "filters": "taxes_az.utils.jinja_filters"
# }
# Installation
# ------------
# before_install = "taxes_az.install.before_install"
# after_install = "taxes_az.install.after_install"
# Uninstallation
# ------------
# before_uninstall = "taxes_az.uninstall.before_uninstall"
# after_uninstall = "taxes_az.uninstall.after_uninstall"
# Integration Setup
# ------------------
# To set up dependencies/integrations with other apps
# Name of the app being installed is passed as an argument
# before_app_install = "taxes_az.utils.before_app_install"
# after_app_install = "taxes_az.utils.after_app_install"
# Integration Cleanup
# -------------------
# To clean up dependencies/integrations with other apps
# Name of the app being uninstalled is passed as an argument
# before_app_uninstall = "taxes_az.utils.before_app_uninstall"
# after_app_uninstall = "taxes_az.utils.after_app_uninstall"
# Desk Notifications
# ------------------
# See frappe.core.notifications.get_notification_config
# notification_config = "taxes_az.notifications.get_notification_config"
# Permissions
# -----------
# Permissions evaluated in scripted ways
# permission_query_conditions = {
# "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
# }
#
# has_permission = {
# "Event": "frappe.desk.doctype.event.event.has_permission",
# }
# DocType Class
# ---------------
# Override standard doctype classes
# override_doctype_class = {
# "ToDo": "custom_app.overrides.CustomToDo"
# }
# Document Events
# ---------------
# Hook on document methods and events
# doc_events = {
# "*": {
# "on_update": "method",
# "on_cancel": "method",
# "on_trash": "method"
# }
# }
# Scheduled Tasks
# ---------------
# scheduler_events = {
# "all": [
# "taxes_az.tasks.all"
# ],
# "daily": [
# "taxes_az.tasks.daily"
# ],
# "hourly": [
# "taxes_az.tasks.hourly"
# ],
# "weekly": [
# "taxes_az.tasks.weekly"
# ],
# "monthly": [
# "taxes_az.tasks.monthly"
# ],
# }
# Testing
# -------
# before_tests = "taxes_az.install.before_tests"
# Overriding Methods
# ------------------------------
#
# override_whitelisted_methods = {
# "frappe.desk.doctype.event.event.get_events": "taxes_az.event.get_events"
# }
#
# each overriding function accepts a `data` argument;
# generated from the base implementation of the doctype dashboard,
# along with any modifications made in other Frappe apps
# override_doctype_dashboards = {
# "Task": "taxes_az.task.get_dashboard_data"
# }
# exempt linked doctypes from being automatically cancelled
#
# auto_cancel_exempted_doctypes = ["Auto Repeat"]
# Ignore links to specified DocTypes when deleting documents
# -----------------------------------------------------------
# ignore_links_on_delete = ["Communication", "ToDo"]
# Request Events
# ----------------
# before_request = ["taxes_az.utils.before_request"]
# after_request = ["taxes_az.utils.after_request"]
# Job Events
# ----------
# before_job = ["taxes_az.utils.before_job"]
# after_job = ["taxes_az.utils.after_job"]
# User Data Protection
# --------------------
# user_data_fields = [
# {
# "doctype": "{doctype_1}",
# "filter_by": "{filter_by}",
# "redact_fields": ["{field_1}", "{field_2}"],
# "partial": 1,
# },
# {
# "doctype": "{doctype_2}",
# "filter_by": "{filter_by}",
# "partial": 1,
# },
# {
# "doctype": "{doctype_3}",
# "strict": False,
# },
# {
# "doctype": "{doctype_4}"
# }
# ]
# Authentication and authorization
# --------------------------------
# auth_hooks = [
# "taxes_az.auth.validate"
# ]
# Automatically update python controller files with type annotations for this app.
# export_python_type_annotations = True
# default_log_clearing_doctypes = {
# "Logging DocType Name": 30 # days to retain logs
# }