app_name = "cargo_management"
app_title = "Cargo Management"
app_publisher = "Agile Shift"
app_description = "ERPNext Cargo Management for Freight Forwarders"
app_email = "contacto@gruporeal.org"
app_license = "agpl-3.0"

# Apps
# ------------------

# required_apps = [] # TODO: Put gr Tools in here!

# Each item in the list will be shown as an app in the apps page
# add_to_apps_screen = [
# 	{
# 		"name": "hooks_test",
# 		"logo": "/assets/hooks_test/logo.png",
# 		"title": "app title",
# 		"route": "/hooks_test",
# 		"has_permission": "hooks_test.api.permission.has_app_permission"
# 	}
# ]

# Includes in <head>
# ------------------

# include JS, CSS files in header of desk.html
app_include_css = "cargo_management.bundle.css"
app_include_js = "cargo_management.bundle.js"

# include JS, CSS files in header of web template
# web_include_css = "/assets/cargo_management/css/parcel_management.css"
# web_include_js = "/assets/cargo_management/js/parcel_management.js"

# include custom SCSS in every website theme (without file extension ".scss")
# website_theme_scss = "cargo_management/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: override/extend Standard Form Scripts.
doctype_js = {
	# "Quotation": "public/js/doctype/quotation.js"  # TODO: WORKING HERE
	"Sales Invoice": "public/js/doctype/sales_invoice.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 = "cargo_management/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"
# }

# Website user home page (by function)
# get_website_user_home_page = "cargo_management.utils.get_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": "v15.utils.jinja_methods",
#   "filters": "v15.utils.jinja_filters"
# }

# Installation
# ------------

# before_install = "cargo_management.install.before_install"
# after_install = "cargo_management.install.after_install"

# Uninstallation
# ------------

# before_uninstall = "cargo_management.uninstall.before_uninstall"
# after_uninstall = "cargo_management.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 = "cargo_management.utils.before_app_install"
# after_app_install = "cargo_management.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 = "cargo_management.utils.before_app_uninstall"
# after_app_uninstall = "cargo_management.utils.after_app_uninstall"

# Desk Notifications
# ------------------
# See frappe.core.notifications.get_notification_config

# notification_config = "cargo_management.notifications.get_notification_config"

# Permissions
# -----------
# Permissions evaluated in scripted ways

# permission_query_conditions = {
# 	"Parcel": "cargo_management.parcel_management.doctype.parcel.events.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

# standard_queries = {
# 	"Parcel": "cargo_management.parcel_management.doctype.parcel.events.get_parcel_query",
# }

doc_events = {
	"Sales Invoice": {  # TODO: WORKING
		"on_submit": "cargo_management.parcel_selling.utils.sales_invoice_on_submit",
		"on_change": "cargo_management.parcel_selling.utils.sales_invoice_on_update_after_submit"
		# "on_cancel"
	}
}

# Scheduled Tasks
# ---------------

# scheduler_events = {
# 	"all": [
# 		"cargo_management.tasks.all"
# 	],
# 	"daily": [
# 		"cargo_management.tasks.daily"
# 	],
# 	"hourly": [
# 		"cargo_management.tasks.hourly"
# 	],
# 	"weekly": [
# 		"cargo_management.tasks.weekly"
# 	],
# 	"monthly": [
# 		"cargo_management.tasks.monthly"
# 	],
# }

# Testing
# -------

# before_tests = "cargo_management.install.before_tests"

# Overriding Methods
# ------------------------------
#
# override_whitelisted_methods = {
# 	"frappe.desk.doctype.event.event.get_events": "cargo_management.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": "cargo_management.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 = ["v15.utils.before_request"]
# after_request = ["v15.utils.after_request"]

# Job Events
# ----------
# before_job = ["v15.utils.before_job"]
# after_job = ["v15.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 = [
# 	"cargo_management.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
# }

# extend_bootinfo = "cargo_management.utils.extend_bootinfo"

global_search_doctypes = {
	"Default": [
		{"doctype": "Parcel"},
		{"doctype": "Warehouse Receipt"},
		{"doctype": "Cargo Shipment"},
		{"doctype": "Cargo Shipment Receipt"},
	]
}

fixtures = [
	'Issue Type',
	{'dt': 'Workspace', 'filters': {'name': 'Support'}},
	{'dt': 'Custom HTML Block', 'filters': {'name': 'BR'}}  # TODO: Delete on v16?(On the new Dashboard)
]
