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.master_data.sync.sync_items",
	"taxes_az.setup_accounts.check_and_create_accounts"
]

# On image-based deployments migrate runs only at build time, before the setup
# wizard has created the Item Group root and standard UOMs. Re-sync once the
# wizard completes so the groups nest under the real (localized) root and the
# items resolve their UOMs. See sync.after_setup_wizard.
setup_wizard_complete = "taxes_az.master_data.sync.after_setup_wizard"

# Bəyannamə düsturlarının runtime-ı. Generasiya olunmuş Client Script-lər yalnız
# CONFIG daşıyır və bu runtime-ı çağırır — formula_editor tətbiqinə heç bir
# runtime asılılığı qalmır, ona görə onu iş maşınlarından silmək olar.
app_include_js = [
    "/assets/taxes_az/js/formula_runtime.js",
    # Frappe-nin öz baqı: Tab Break fieldname-ləri Azərbaycan hərfləri ilə olduğuna
    # görə URL hash percent-encode olunur və jQuery selector kimi partlayır.
    "/assets/taxes_az/js/frappe_hash_fix.js",
]

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
# }

