blob: 347da6b563d895cc4274c37429c442a1d888ff69 [file] [log] [blame]
Anand Doshid57e7932015-02-24 12:24:53 +05301from __future__ import unicode_literals
Rushabh Mehta156ce602015-09-11 18:49:59 +05302from frappe import _
3
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +05304app_name = "erpnext"
5app_title = "ERPNext"
Rushabh Mehtaba02ce62015-07-22 15:07:25 +05306app_publisher = "Frappe Technologies Pvt. Ltd."
Rushabh Mehtaedc8ab02015-11-18 16:48:19 +05307app_description = """ERP made simple"""
Rushabh Mehta2167ff52016-12-07 11:08:48 +05308app_icon = "fa fa-th"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +05309app_color = "#e74c3c"
Nabin Hait7ba4d022015-11-05 16:55:10 +053010app_email = "info@erpnext.com"
11app_license = "GNU General Public License (v3)"
Rushabh Mehta7d23e422015-11-02 10:45:18 +053012source_link = "https://github.com/frappe/erpnext"
Shivam Mishra8261df22020-10-19 13:52:35 +053013app_logo_url = "/assets/erpnext/images/erpnext-logo.svg"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +053014
scmmishra734d3e02018-11-03 18:03:35 +053015
Sahil Khanad4eb642020-06-30 17:54:41 +053016develop_version = '13.x.x-develop'
Rushabh Mehtadb206f22017-03-10 09:38:58 +053017
Rushabh Mehta780b6b42020-11-11 11:44:12 +053018app_include_js = "/assets/js/erpnext.min.js"
19app_include_css = "/assets/css/erpnext.css"
20web_include_js = "/assets/js/erpnext-web.min.js"
21web_include_css = "/assets/css/erpnext-web.css"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +053022
mbauskarf54b1042017-03-13 16:32:46 +053023doctype_js = {
Abhishek Balam346ca562020-10-14 18:11:04 +053024 "Address": "public/js/address.js",
mbauskarf54b1042017-03-13 16:32:46 +053025 "Communication": "public/js/communication.js",
Faris Ansari5f8b3582019-03-19 11:48:32 +053026 "Event": "public/js/event.js",
Faris Ansari1e55c2e2019-04-30 10:18:09 +053027 "Newsletter": "public/js/newsletter.js"
mbauskarf54b1042017-03-13 16:32:46 +053028}
29
Abhishek Balam6e9e7b42020-10-14 19:31:37 +053030override_doctype_class = {
Faris Ansari22bcad92020-10-16 15:28:12 +053031 'Address': 'erpnext.accounts.custom.address.ERPNextAddress'
Abhishek Balam6e9e7b42020-10-14 19:31:37 +053032}
33
Neil Trini Lasrado771fbb82018-08-24 15:15:56 +053034welcome_email = "erpnext.setup.utils.welcome_email"
35
Rushabh Mehta37b4d752015-11-09 16:53:11 +053036# setup wizard
37setup_wizard_requires = "assets/erpnext/js/setup_wizard.js"
Prateeksha Singh8b0b56d2017-12-21 11:55:58 +053038setup_wizard_stages = "erpnext.setup.setup_wizard.setup_wizard.get_setup_stages"
Prateeksha Singh95d8fd32017-09-04 11:14:04 +053039setup_wizard_test = "erpnext.setup.setup_wizard.test_setup_wizard.run_setup_wizard_test"
Rushabh Mehta37b4d752015-11-09 16:53:11 +053040
Rushabh Mehtad55bdcf2015-12-31 11:12:48 +053041before_install = "erpnext.setup.install.check_setup_wizard_not_completed"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +053042after_install = "erpnext.setup.install.after_install"
43
44boot_session = "erpnext.startup.boot.boot_session"
45notification_config = "erpnext.startup.notifications.get_notification_config"
Rushabh Mehta05ce7ec2017-02-22 16:15:43 +053046get_help_messages = "erpnext.utilities.activation.get_help_messages"
prssanna3f1444e2019-09-24 13:04:53 +053047leaderboards = "erpnext.startup.leaderboard.get_leaderboards"
Prssanna Desai82ddef52020-06-18 18:18:41 +053048filters_config = "erpnext.startup.filters.get_filters_config"
prssannab57b3c92020-10-22 15:37:47 +053049additional_print_settings = "erpnext.controllers.print_settings.get_print_settings"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +053050
Faris Ansari38ac7f72019-10-09 11:41:33 +053051on_session_creation = [
52 "erpnext.portal.utils.create_customer_or_supplier",
53 "erpnext.shopping_cart.utils.set_cart_count"
54]
Rushabh Mehta3daa49a2014-10-21 16:16:30 +053055on_logout = "erpnext.shopping_cart.utils.clear_cart_count"
Anand Doshif9fc04c2015-02-23 22:14:12 +053056
Mangesh-Khairnar07aae762019-06-26 11:03:57 +053057treeviews = ['Account', 'Cost Center', 'Warehouse', 'Item Group', 'Customer Group', 'Sales Person', 'Territory', 'Assessment Group', 'Department']
Rushabh Mehta764aa922016-05-02 13:28:46 +053058
Anand Doshif9fc04c2015-02-23 22:14:12 +053059# website
Shivam Mishra51b6fe22019-05-14 10:22:15 +053060update_website_context = ["erpnext.shopping_cart.utils.update_website_context", "erpnext.education.doctype.education_settings.education_settings.update_website_context"]
Anand Doshif9fc04c2015-02-23 22:14:12 +053061my_account_context = "erpnext.shopping_cart.utils.update_my_account_context"
Rushabh Mehta621d6ea2015-07-08 12:39:27 +053062
Zarrar13ddc7e2018-03-20 12:38:43 +053063calendars = ["Task", "Work Order", "Leave Application", "Sales Order", "Holiday List", "Course Schedule"]
Rushabh Mehta621d6ea2015-07-08 12:39:27 +053064
Rushabh Mehtabc4e2cd2017-10-17 12:30:34 +053065domains = {
Ameya Shenoy5c623682017-12-06 18:36:27 +053066 'Agriculture': 'erpnext.domains.agriculture',
Rushabh Mehtabc4e2cd2017-10-17 12:30:34 +053067 'Distribution': 'erpnext.domains.distribution',
68 'Education': 'erpnext.domains.education',
69 'Healthcare': 'erpnext.domains.healthcare',
70 'Hospitality': 'erpnext.domains.hospitality',
71 'Manufacturing': 'erpnext.domains.manufacturing',
Zarrarde8f6122017-12-13 18:36:08 +053072 'Non Profit': 'erpnext.domains.non_profit',
Rushabh Mehtabc4e2cd2017-10-17 12:30:34 +053073 'Retail': 'erpnext.domains.retail',
74 'Services': 'erpnext.domains.services',
75}
76
Rushabh Mehtadbb51542017-08-10 21:06:09 +053077website_generators = ["Item Group", "Item", "BOM", "Sales Partner",
78 "Job Opening", "Student Admission"]
Rushabh Mehta621d6ea2015-07-08 12:39:27 +053079
Rushabh Mehta2e7c36e2015-04-16 12:41:42 +053080website_context = {
Suraj Shetty6fa44fe2021-02-10 15:48:32 +053081 "favicon": "/assets/erpnext/images/erpnext-favicon.svg",
Shivam Mishra8261df22020-10-19 13:52:35 +053082 "splash_image": "/assets/erpnext/images/erpnext-logo.svg"
Rushabh Mehta2e7c36e2015-04-16 12:41:42 +053083}
84
Anand Doshif9fc04c2015-02-23 22:14:12 +053085website_route_rules = [
86 {"from_route": "/orders", "to_route": "Sales Order"},
Rushabh Mehta156ce602015-09-11 18:49:59 +053087 {"from_route": "/orders/<path:name>", "to_route": "order",
88 "defaults": {
89 "doctype": "Sales Order",
Britlog4c7709e2017-07-28 15:24:22 +020090 "parents": [{"label": _("Orders"), "route": "orders"}]
Rushabh Mehta156ce602015-09-11 18:49:59 +053091 }
92 },
Anand Doshif9fc04c2015-02-23 22:14:12 +053093 {"from_route": "/invoices", "to_route": "Sales Invoice"},
Rushabh Mehta156ce602015-09-11 18:49:59 +053094 {"from_route": "/invoices/<path:name>", "to_route": "order",
95 "defaults": {
96 "doctype": "Sales Invoice",
Britlog4c7709e2017-07-28 15:24:22 +020097 "parents": [{"label": _("Invoices"), "route": "invoices"}]
Rushabh Mehta156ce602015-09-11 18:49:59 +053098 }
99 },
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530100 {"from_route": "/supplier-quotations", "to_route": "Supplier Quotation"},
101 {"from_route": "/supplier-quotations/<path:name>", "to_route": "order",
Rohit Waghchaure21499e82016-09-21 16:49:58 +0530102 "defaults": {
103 "doctype": "Supplier Quotation",
Brown-Harry Bomad3fa1912017-09-27 08:23:38 +0100104 "parents": [{"label": _("Supplier Quotation"), "route": "supplier-quotations"}]
Rohit Waghchaure21499e82016-09-21 16:49:58 +0530105 }
106 },
Faris Ansari38ac7f72019-10-09 11:41:33 +0530107 {"from_route": "/purchase-orders", "to_route": "Purchase Order"},
108 {"from_route": "/purchase-orders/<path:name>", "to_route": "order",
109 "defaults": {
110 "doctype": "Purchase Order",
111 "parents": [{"label": _("Purchase Order"), "route": "purchase-orders"}]
112 }
113 },
114 {"from_route": "/purchase-invoices", "to_route": "Purchase Invoice"},
115 {"from_route": "/purchase-invoices/<path:name>", "to_route": "order",
116 "defaults": {
117 "doctype": "Purchase Invoice",
118 "parents": [{"label": _("Purchase Invoice"), "route": "purchase-invoices"}]
119 }
120 },
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530121 {"from_route": "/quotations", "to_route": "Quotation"},
122 {"from_route": "/quotations/<path:name>", "to_route": "order",
123 "defaults": {
124 "doctype": "Quotation",
Rushabh Mehtadbb51542017-08-10 21:06:09 +0530125 "parents": [{"label": _("Quotations"), "route": "quotations"}]
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530126 }
127 },
Anand Doshif9fc04c2015-02-23 22:14:12 +0530128 {"from_route": "/shipments", "to_route": "Delivery Note"},
Rushabh Mehta156ce602015-09-11 18:49:59 +0530129 {"from_route": "/shipments/<path:name>", "to_route": "order",
130 "defaults": {
Anand Doshi4b127402015-11-26 18:22:03 +0530131 "doctype": "Delivery Note",
Britlog4c7709e2017-07-28 15:24:22 +0200132 "parents": [{"label": _("Shipments"), "route": "shipments"}]
Rushabh Mehta156ce602015-09-11 18:49:59 +0530133 }
Kanchan Chauhan2e8cc892016-02-19 17:27:23 +0530134 },
rohitwaghchaurea1064a62016-03-03 14:00:35 +0530135 {"from_route": "/rfq", "to_route": "Request for Quotation"},
136 {"from_route": "/rfq/<path:name>", "to_route": "rfq",
137 "defaults": {
138 "doctype": "Request for Quotation",
Britlog4c7709e2017-07-28 15:24:22 +0200139 "parents": [{"label": _("Request for Quotation"), "route": "rfq"}]
rohitwaghchaurea1064a62016-03-03 14:00:35 +0530140 }
141 },
Kanchan Chauhan1605ff02016-07-04 14:28:09 +0530142 {"from_route": "/addresses", "to_route": "Address"},
143 {"from_route": "/addresses/<path:name>", "to_route": "addresses",
144 "defaults": {
145 "doctype": "Address",
Britlog4c7709e2017-07-28 15:24:22 +0200146 "parents": [{"label": _("Addresses"), "route": "addresses"}]
Kanchan Chauhan1605ff02016-07-04 14:28:09 +0530147 }
148 },
Kanchan Chauhan2e8cc892016-02-19 17:27:23 +0530149 {"from_route": "/jobs", "to_route": "Job Opening"},
Neil Trini Lasrado83d81202016-09-15 14:48:13 +0530150 {"from_route": "/admissions", "to_route": "Student Admission"},
Vishal Dhayagudeedb27492017-07-25 10:53:12 +0530151 {"from_route": "/boms", "to_route": "BOM"},
152 {"from_route": "/timesheets", "to_route": "Timesheet"},
Doridel Cahanap2b14d6a2018-11-13 14:37:16 +0800153 {"from_route": "/material-requests", "to_route": "Material Request"},
154 {"from_route": "/material-requests/<path:name>", "to_route": "material_request_info",
155 "defaults": {
156 "doctype": "Material Request",
157 "parents": [{"label": _("Material Request"), "route": "material-requests"}]
158 }
159 },
Anand Doshif9fc04c2015-02-23 22:14:12 +0530160]
161
Rushabh Mehtab9cdb052017-03-08 12:33:43 +0530162standard_portal_menu_items = [
Jamsheerf9269112018-07-16 18:08:53 +0530163 {"title": _("Personal Details"), "route": "/personal-details", "reference_doctype": "Patient", "role": "Patient"},
Rushabh Mehta0c76f212016-04-01 11:53:50 +0530164 {"title": _("Projects"), "route": "/project", "reference_doctype": "Project"},
Rushabh Mehtafc800b32016-09-23 21:51:51 +0530165 {"title": _("Request for Quotations"), "route": "/rfq", "reference_doctype": "Request for Quotation", "role": "Supplier"},
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530166 {"title": _("Supplier Quotation"), "route": "/supplier-quotations", "reference_doctype": "Supplier Quotation", "role": "Supplier"},
Faris Ansari38ac7f72019-10-09 11:41:33 +0530167 {"title": _("Purchase Orders"), "route": "/purchase-orders", "reference_doctype": "Purchase Order", "role": "Supplier"},
168 {"title": _("Purchase Invoices"), "route": "/purchase-invoices", "reference_doctype": "Purchase Invoice", "role": "Supplier"},
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530169 {"title": _("Quotations"), "route": "/quotations", "reference_doctype": "Quotation", "role":"Customer"},
Rushabh Mehtafc800b32016-09-23 21:51:51 +0530170 {"title": _("Orders"), "route": "/orders", "reference_doctype": "Sales Order", "role":"Customer"},
171 {"title": _("Invoices"), "route": "/invoices", "reference_doctype": "Sales Invoice", "role":"Customer"},
172 {"title": _("Shipments"), "route": "/shipments", "reference_doctype": "Delivery Note", "role":"Customer"},
173 {"title": _("Issues"), "route": "/issues", "reference_doctype": "Issue", "role":"Customer"},
Neil Trini Lasrado3f0a5812016-07-19 14:17:33 +0530174 {"title": _("Addresses"), "route": "/addresses", "reference_doctype": "Address"},
Manas Solankie716da02017-09-18 16:00:34 +0530175 {"title": _("Timesheets"), "route": "/timesheets", "reference_doctype": "Timesheet", "role":"Customer"},
Rushabh Mehtaf0569742017-09-13 12:52:30 +0530176 {"title": _("Lab Test"), "route": "/lab-test", "reference_doctype": "Lab Test", "role":"Patient"},
Jamsheerf9269112018-07-16 18:08:53 +0530177 {"title": _("Prescription"), "route": "/prescription", "reference_doctype": "Patient Encounter", "role":"Patient"},
Manas Solankie716da02017-09-18 16:00:34 +0530178 {"title": _("Patient Appointment"), "route": "/patient-appointments", "reference_doctype": "Patient Appointment", "role":"Patient"},
179 {"title": _("Fees"), "route": "/fees", "reference_doctype": "Fees", "role":"Student"},
Manas Solanki05180012017-10-05 14:31:31 +0530180 {"title": _("Newsletter"), "route": "/newsletters", "reference_doctype": "Newsletter"},
Faris Ansari38ac7f72019-10-09 11:41:33 +0530181 {"title": _("Admission"), "route": "/admissions", "reference_doctype": "Student Admission", "role": "Student"},
182 {"title": _("Certification"), "route": "/certification", "reference_doctype": "Certification Application", "role": "Non Profit Portal User"},
Doridel Cahanap2b14d6a2018-11-13 14:37:16 +0800183 {"title": _("Material Request"), "route": "/material-requests", "reference_doctype": "Material Request", "role": "Customer"},
0Pranav5f5c7252019-12-18 16:21:50 +0530184 {"title": _("Appointment Booking"), "route": "/book_appointment"},
Rushabh Mehtafc800b32016-09-23 21:51:51 +0530185]
186
187default_roles = [
Rushabh Mehta95439db2017-01-14 00:25:22 +0530188 {'role': 'Customer', 'doctype':'Contact', 'email_field': 'email_id'},
189 {'role': 'Supplier', 'doctype':'Contact', 'email_field': 'email_id'},
Vishal Dhayagudeedb27492017-07-25 10:53:12 +0530190 {'role': 'Student', 'doctype':'Student', 'email_field': 'student_email_id'},
Rushabh Mehtac78b3112016-03-30 12:29:48 +0530191]
192
Suraj Shettyf1ffdb32019-06-07 12:48:13 +0530193sounds = [
194 {"name": "incoming-call", "src": "/assets/erpnext/sounds/incoming-call.mp3", "volume": 0.2},
195 {"name": "call-disconnect", "src": "/assets/erpnext/sounds/call-disconnect.mp3", "volume": 0.2},
196]
197
Anand Doshif9fc04c2015-02-23 22:14:12 +0530198has_website_permission = {
199 "Sales Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
Makarand Bauskar9306aff2017-07-21 15:19:47 +0530200 "Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
Anand Doshif9fc04c2015-02-23 22:14:12 +0530201 "Sales Invoice": "erpnext.controllers.website_list_for_contact.has_website_permission",
Rohit Waghchaure21499e82016-09-21 16:49:58 +0530202 "Supplier Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
Faris Ansari38ac7f72019-10-09 11:41:33 +0530203 "Purchase Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
204 "Purchase Invoice": "erpnext.controllers.website_list_for_contact.has_website_permission",
Doridel Cahanap2b14d6a2018-11-13 14:37:16 +0800205 "Material Request": "erpnext.controllers.website_list_for_contact.has_website_permission",
Rushabh Mehtaa33d4682015-06-01 17:15:42 +0530206 "Delivery Note": "erpnext.controllers.website_list_for_contact.has_website_permission",
Vishal Dhayagudeedb27492017-07-25 10:53:12 +0530207 "Issue": "erpnext.support.doctype.issue.issue.has_website_permission",
Rushabh Mehtaf0569742017-09-13 12:52:30 +0530208 "Timesheet": "erpnext.controllers.website_list_for_contact.has_website_permission",
209 "Lab Test": "erpnext.healthcare.web_form.lab_test.lab_test.has_website_permission",
Jamsheerf9269112018-07-16 18:08:53 +0530210 "Patient Encounter": "erpnext.healthcare.web_form.prescription.prescription.has_website_permission",
211 "Patient Appointment": "erpnext.healthcare.web_form.patient_appointments.patient_appointments.has_website_permission",
212 "Patient": "erpnext.healthcare.web_form.personal_details.personal_details.has_website_permission"
Anand Doshif9fc04c2015-02-23 22:14:12 +0530213}
Rushabh Mehta3daa49a2014-10-21 16:16:30 +0530214
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530215dump_report_map = "erpnext.startup.report_data_map.data_map"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530216
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530217before_tests = "erpnext.setup.utils.before_tests"
218
Rushabh Mehta308e6ea2015-03-24 17:34:58 +0530219standard_queries = {
Jamsheerc0097ad2018-11-23 11:37:58 +0530220 "Customer": "erpnext.selling.doctype.customer.customer.get_customer_list",
221 "Healthcare Practitioner": "erpnext.healthcare.doctype.healthcare_practitioner.healthcare_practitioner.get_practitioner_list"
Rushabh Mehta308e6ea2015-03-24 17:34:58 +0530222}
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530223
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530224doc_events = {
Rucha Mahabalc91e03c2020-11-28 20:24:06 +0530225 "*": {
226 "on_submit": "erpnext.healthcare.doctype.patient_history_settings.patient_history_settings.create_medical_record",
Rucha Mahabal060d6472021-01-15 00:19:14 +0530227 "on_update_after_submit": "erpnext.healthcare.doctype.patient_history_settings.patient_history_settings.update_medical_record",
Rucha Mahabalc91e03c2020-11-28 20:24:06 +0530228 "on_cancel": "erpnext.healthcare.doctype.patient_history_settings.patient_history_settings.delete_medical_record"
229 },
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530230 "Stock Entry": {
Nabin Hait4acd4312014-11-04 15:32:31 +0530231 "on_submit": "erpnext.stock.doctype.material_request.material_request.update_completed_and_requested_qty",
232 "on_cancel": "erpnext.stock.doctype.material_request.material_request.update_completed_and_requested_qty"
Anand Doshi648062d2014-05-05 16:46:14 +0530233 },
234 "User": {
KanchanChauhan1dc26b12017-06-13 15:26:35 +0530235 "after_insert": "frappe.contacts.doctype.contact.contact.update_contact",
Anand Doshi49856912014-05-28 18:49:13 +0530236 "validate": "erpnext.hr.doctype.employee.employee.validate_employee_role",
Rushabh Mehta0d6db6c2017-03-31 23:01:45 +0530237 "on_update": ["erpnext.hr.doctype.employee.employee.update_user_permissions",
238 "erpnext.portal.utils.set_default_role"]
Rushabh Mehta3daa49a2014-10-21 16:16:30 +0530239 },
Rushabh Mehtaf16f9c52016-04-08 17:20:50 +0530240 ("Sales Taxes and Charges Template", 'Price List'): {
Rushabh Mehta3daa49a2014-10-21 16:16:30 +0530241 "on_update": "erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings.validate_cart_settings"
242 },
Anand Doshie3bd78e2016-04-22 18:53:21 +0530243 "Website Settings": {
244 "validate": "erpnext.portal.doctype.products_settings.products_settings.home_page_is_products"
Saurabhe4e89542016-07-21 20:26:46 +0530245 },
Deepesh Gargd07447a2020-11-24 08:09:17 +0530246 "Tax Category": {
247 "validate": "erpnext.regional.india.utils.validate_tax_category"
248 },
Charles-Henri Decultotb8c088e2018-02-21 06:37:33 +0100249 "Sales Invoice": {
vishdhad3ec1c12020-03-24 11:31:41 +0530250 "on_submit": [
251 "erpnext.regional.create_transaction_log",
252 "erpnext.regional.italy.utils.sales_invoice_on_submit",
253 "erpnext.erpnext_integrations.taxjar_integration.create_transaction"
254 ],
255 "on_cancel": [
256 "erpnext.regional.italy.utils.sales_invoice_on_cancel",
257 "erpnext.erpnext_integrations.taxjar_integration.delete_transaction"
258 ],
Nabin Hait0357fbc2018-03-09 13:19:52 +0530259 "on_trash": "erpnext.regional.check_deletion_permission"
Charles-Henri Decultotb8c088e2018-02-21 06:37:33 +0100260 },
Deepesh Garg24f9a802020-06-03 10:59:37 +0530261 "Purchase Invoice": {
hasnain28087b7a8e12020-09-09 20:54:30 +0530262 "validate": [
263 "erpnext.regional.india.utils.update_grand_total_for_rcm",
264 "erpnext.regional.united_arab_emirates.utils.update_grand_total_for_rcm",
Mohammad Hasnainac451b32020-10-11 01:40:22 +0530265 "erpnext.regional.united_arab_emirates.utils.validate_returns"
hasnain28087b7a8e12020-09-09 20:54:30 +0530266 ]
Deepesh Garg24f9a802020-06-03 10:59:37 +0530267 },
Saurabhe4e89542016-07-21 20:26:46 +0530268 "Payment Entry": {
KanchanChauhan2826fd32020-07-23 15:45:03 +0530269 "on_submit": ["erpnext.regional.create_transaction_log", "erpnext.accounts.doctype.payment_request.payment_request.update_payment_req_status", "erpnext.accounts.doctype.dunning.dunning.resolve_dunning"],
Nabin Hait0357fbc2018-03-09 13:19:52 +0530270 "on_trash": "erpnext.regional.check_deletion_permission"
Rushabh Mehtab3c8f442017-06-21 17:22:38 +0530271 },
272 'Address': {
Deepesh Garg6e2c13f2019-12-10 15:55:05 +0530273 'validate': ['erpnext.regional.india.utils.validate_gstin_for_india', 'erpnext.regional.italy.utils.set_state_code', 'erpnext.regional.india.utils.update_gst_category']
Nabin Hait619c42b2018-01-10 17:48:03 +0530274 },
Deepesh Garg6e2c13f2019-12-10 15:55:05 +0530275 ('Sales Invoice', 'Sales Order', 'Delivery Note', 'Purchase Invoice', 'Purchase Order', 'Purchase Receipt'): {
276 'validate': ['erpnext.regional.india.utils.set_place_of_supply']
Shridhar Patil4987c4e2018-07-03 10:10:04 +0530277 },
Suraj Shettyd4edd282019-08-09 19:23:04 +0530278 "Contact": {
279 "on_trash": "erpnext.support.doctype.issue.issue.update_issue",
leela3234df52021-01-12 23:31:40 +0530280 "after_insert": "erpnext.telephony.doctype.call_log.call_log.link_existing_conversations",
Rohan Bansal76825ab2020-04-28 16:08:52 +0530281 "validate": "erpnext.crm.utils.update_lead_phone_numbers"
Suraj Shettyd4edd282019-08-09 19:23:04 +0530282 },
Rucha Mahabal9e35bff2019-07-12 13:56:36 +0530283 "Email Unsubscribe": {
284 "after_insert": "erpnext.crm.doctype.email_campaign.email_campaign.unsubscribe_recipient"
vishdhad3ec1c12020-03-24 11:31:41 +0530285 },
286 ('Quotation', 'Sales Order', 'Sales Invoice'): {
287 'validate': ["erpnext.erpnext_integrations.taxjar_integration.set_sales_tax"]
Anand Doshie3bd78e2016-04-22 18:53:21 +0530288 }
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530289}
290
vishaldcef7982020-01-13 12:59:52 +0530291# On cancel event Payment Entry will be exempted and all linked submittable doctype will get cancelled.
292# to maintain data integrity we exempted payment entry. it will un-link when sales invoice get cancelled.
293# if payment entry not in auto cancel exempted doctypes it will cancel payment entry.
294auto_cancel_exempted_doctypes= [
Rucha Mahabal4887b692020-10-23 20:33:30 +0530295 "Payment Entry",
296 "Inpatient Medication Entry"
vishaldcef7982020-01-13 12:59:52 +0530297]
vishal70148a62019-12-02 17:37:46 +0530298
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530299scheduler_events = {
marination06ee0ea2020-09-07 18:49:06 +0530300 "cron": {
301 "0/30 * * * *": [
Gavin D'souza71ac3992020-09-10 13:57:44 +0530302 "erpnext.utilities.doctype.video.video.update_youtube_data",
marination06ee0ea2020-09-07 18:49:06 +0530303 ]
304 },
Rohit Waghchaure425dff92019-01-17 12:49:45 +0530305 "all": [
Rucha Mahabal5100e112020-02-24 22:08:45 +0530306 "erpnext.projects.doctype.project.project.project_status_update_reminder",
rohitwaghchaure77403ab2020-04-25 17:37:24 +0530307 "erpnext.healthcare.doctype.patient_appointment.patient_appointment.send_appointment_reminder",
Anupam K22318b22020-04-18 00:45:18 +0530308 "erpnext.crm.doctype.social_media_post.social_media_post.process_scheduled_social_media_posts"
Rohit Waghchaure425dff92019-01-17 12:49:45 +0530309 ],
Nabin Hait75807232015-07-02 14:41:27 +0530310 "hourly": [
tundebabzy0ec44522018-03-01 11:33:03 +0100311 'erpnext.hr.doctype.daily_work_summary_group.daily_work_summary_group.trigger_emails',
Pawan Mehta6010a102018-09-05 17:16:57 +0530312 "erpnext.accounts.doctype.subscription.subscription.process_all",
Aditya Hase7bc692d2019-01-07 19:01:47 +0530313 "erpnext.erpnext_integrations.doctype.amazon_mws_settings.amazon_mws_settings.schedule_get_order_details",
314 "erpnext.accounts.doctype.gl_entry.gl_entry.rename_gle_sle_docs",
Nabin Hait34c551d2019-07-03 10:34:31 +0530315 "erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.automatic_synchronization",
Rohit Waghchaure425dff92019-01-17 12:49:45 +0530316 "erpnext.projects.doctype.project.project.hourly_reminder",
Himanshu Warekar6e6148b2019-05-10 23:49:42 +0530317 "erpnext.projects.doctype.project.project.collect_project_status",
Himanshu Warekar2373c092019-06-25 16:27:06 +0530318 "erpnext.hr.doctype.shift_type.shift_type.process_auto_attendance_for_all_shifts",
Himanshu Warekar6931ea62019-06-25 16:27:58 +0530319 "erpnext.support.doctype.issue.issue.set_service_level_agreement_variance",
Deepesh Garg37dc3692020-11-13 16:53:35 +0530320 "erpnext.erpnext_integrations.connectors.shopify_connection.sync_old_orders",
Nabin Hait75807232015-07-02 14:41:27 +0530321 ],
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530322 "daily": [
Rushabh Mehtaf8509872014-10-08 12:03:19 +0530323 "erpnext.stock.reorder_item.reorder_item",
Nabin Hait606af962014-12-15 11:57:03 +0530324 "erpnext.support.doctype.issue.issue.auto_close_tickets",
mbauskare1e25a02017-02-16 19:36:59 +0530325 "erpnext.crm.doctype.opportunity.opportunity.auto_close_opportunity",
Rohit Waghchaure2f1db572016-11-08 12:39:33 +0530326 "erpnext.controllers.accounts_controller.update_invoice_status",
Rushabh Mehta5bceebc2015-01-23 15:22:13 +0530327 "erpnext.accounts.doctype.fiscal_year.fiscal_year.auto_create_fiscal_year",
Rushabh Mehta13ec41a2015-12-10 12:31:36 +0530328 "erpnext.hr.doctype.employee.employee.send_birthday_reminders",
Nabin Hait4fdb0522016-03-09 12:40:56 +0530329 "erpnext.projects.doctype.task.task.set_tasks_as_overdue",
Kanchan Chauhane58a41a2017-10-17 15:17:24 +0530330 "erpnext.assets.doctype.asset.depreciation.post_depreciation_entries",
Suraj Shettyd3069fe2018-02-21 15:15:43 +0530331 "erpnext.hr.doctype.daily_work_summary_group.daily_work_summary_group.send_summary",
Prateeksha Singhe012e242017-07-18 10:35:12 +0530332 "erpnext.stock.doctype.serial_no.serial_no.update_maintenance_status",
bcornwellmott96381da2017-07-24 10:12:30 -0700333 "erpnext.buying.doctype.supplier_scorecard.supplier_scorecard.refresh_scorecards",
Nabin Haitadbf8ad2017-07-31 20:45:36 +0530334 "erpnext.setup.doctype.company.company.cache_companies_monthly_sales_history",
Manas Solanki2f4e5ee2018-05-15 15:25:14 +0530335 "erpnext.assets.doctype.asset.asset.update_maintenance_status",
Rohan Bansalbf0f0aa2018-05-23 15:06:45 +0530336 "erpnext.assets.doctype.asset.asset.make_post_gl_entry",
Himanshu Mishra7aabef22018-06-28 23:43:23 +0530337 "erpnext.crm.doctype.contract.contract.update_status_for_contracts",
Himanshu0209ef02018-12-25 17:42:31 +0530338 "erpnext.projects.doctype.project.project.update_project_sales_billing",
Sagar Vora4d1a9b12019-01-22 15:56:39 +0530339 "erpnext.projects.doctype.project.project.send_project_status_email_to_users",
Himanshuf3e52132019-03-19 16:47:56 +0530340 "erpnext.quality_management.doctype.quality_review.quality_review.review",
Himanshu Warekarcf37e402019-05-07 10:27:01 +0530341 "erpnext.support.doctype.service_level_agreement.service_level_agreement.check_agreement_status",
Rucha Mahabalb54459e2019-07-22 03:23:40 +0530342 "erpnext.crm.doctype.email_campaign.email_campaign.send_email_to_leads_or_contacts",
0Pranav53b65ab2019-11-15 16:42:32 +0530343 "erpnext.crm.doctype.email_campaign.email_campaign.set_email_campaign_status",
marination81798042020-04-14 23:05:11 +0530344 "erpnext.selling.doctype.quotation.quotation.set_expired_status",
marination1bab1532020-04-15 12:16:31 +0530345 "erpnext.healthcare.doctype.patient_appointment.patient_appointment.update_appointment_status",
Abhishek Balamee5b9c72020-08-11 16:23:47 +0530346 "erpnext.buying.doctype.supplier_quotation.supplier_quotation.set_expired_status",
Rucha Mahabalf1cca592021-01-21 16:36:15 +0530347 "erpnext.accounts.doctype.process_statement_of_accounts.process_statement_of_accounts.send_auto_email",
348 "erpnext.non_profit.doctype.membership.membership.set_expired_status"
KanchanChauhan73bd3cb2018-09-05 11:01:35 +0530349 ],
350 "daily_long": [
Gavin D'souzad38f5372019-10-30 14:43:58 +0530351 "erpnext.setup.doctype.email_digest.email_digest.send",
Mangesh-Khairnarf281f002019-08-05 14:47:02 +0530352 "erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool.update_latest_price_in_all_boms",
353 "erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry.process_expired_allocation",
Anurag Mishra755b7732020-11-25 16:05:17 +0530354 "erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment.automatically_allocate_leaves_based_on_leave_policy",
Deepesh Gargd1d0a502020-02-26 10:44:24 +0530355 "erpnext.hr.utils.generate_leave_encashment",
Anurag Mishra755b7732020-11-25 16:05:17 +0530356 "erpnext.hr.utils.allocate_earned_leaves",
357 "erpnext.hr.utils.grant_leaves_automatically",
Deepesh Gargaf27d612020-04-13 12:29:00 +0530358 "erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall.create_process_loan_security_shortfall",
Anupam77cf5322020-09-28 18:38:41 +0530359 "erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual.process_loan_interest_accrual_for_term_loans",
360 "erpnext.crm.doctype.lead.lead.daily_open_lead"
KanchanChauhan73bd3cb2018-09-05 11:01:35 +0530361 ],
Nabin Haitb9b2a062019-05-01 12:49:44 +0530362 "monthly_long": [
Deepesh Gargde03d2c2020-06-01 11:30:34 +0530363 "erpnext.accounts.deferred_revenue.process_deferred_accounting",
Deepesh Gargf7e216e2020-04-10 20:03:11 +0530364 "erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual.process_loan_interest_accrual_for_demand_loans"
Rushabh Mehta4ceb20e2014-05-02 12:14:03 +0530365 ]
366}
Anand Doshi7f41ff22014-06-26 12:02:55 +0530367
Faris Ansari2c5b3e82017-07-13 18:37:18 +0530368email_brand_image = "assets/erpnext/images/erpnext-logo.jpg"
369
Faris Ansari40d3ad22017-07-31 16:16:22 +0530370default_mail_footer = """
371 <span>
372 Sent via
373 <a class="text-muted" href="https://erpnext.com?source=via_email_footer" target="_blank">
374 ERPNext
375 </a>
376 </span>
377"""
Anand Doshic82331b2015-02-12 18:58:28 +0530378
379get_translated_dict = {
Anand Doshic82331b2015-02-12 18:58:28 +0530380 ("doctype", "Global Defaults"): "frappe.geo.country_info.get_translated_dict"
381}
Rushabh Mehtafe027b32016-03-28 13:21:43 +0530382
383bot_parsers = [
384 'erpnext.utilities.bot.FindItemBot',
Rushabh Mehta0c76f212016-04-01 11:53:50 +0530385]
Anand Doshif576f3b2016-06-25 19:51:48 +0530386
387get_site_info = 'erpnext.utilities.get_site_info'
Saurabh94c666a2016-11-08 20:35:50 +0530388
Saurabh0d47d512017-03-14 14:46:05 +0530389payment_gateway_enabled = "erpnext.accounts.utils.create_payment_gateway_account"
Rushabh Mehta7231f292017-07-13 15:00:56 +0530390
Himanshub84333f2020-04-14 13:02:03 +0530391communication_doctypes = ["Customer", "Supplier"]
392
Rushabh Mehta7231f292017-07-13 15:00:56 +0530393regional_overrides = {
Charles-Henri Decultotb8c088e2018-02-21 06:37:33 +0100394 'France': {
395 'erpnext.tests.test_regional.test_method': 'erpnext.regional.france.utils.test_method'
396 },
Rushabh Mehta7231f292017-07-13 15:00:56 +0530397 'India': {
Nabin Haitb962fc12017-07-17 18:02:31 +0530398 'erpnext.tests.test_regional.test_method': 'erpnext.regional.india.utils.test_method',
399 'erpnext.controllers.taxes_and_totals.get_itemised_tax_breakup_header': 'erpnext.regional.india.utils.get_itemised_tax_breakup_header',
Shreya Shah4fa600a2018-06-05 11:27:53 +0530400 'erpnext.controllers.taxes_and_totals.get_itemised_tax_breakup_data': 'erpnext.regional.india.utils.get_itemised_tax_breakup_data',
Ranjith Kurungadama8e047a2018-06-14 17:56:16 +0530401 'erpnext.accounts.party.get_regional_address_details': 'erpnext.regional.india.utils.get_regional_address_details',
Deepesh Garg6a5ef262021-02-19 14:30:23 +0530402 'erpnext.controllers.taxes_and_totals.get_regional_round_off_accounts': 'erpnext.regional.india.utils.get_regional_round_off_accounts',
Ranjith Kurungadama8e047a2018-06-14 17:56:16 +0530403 'erpnext.hr.utils.calculate_annual_eligible_hra_exemption': 'erpnext.regional.india.utils.calculate_annual_eligible_hra_exemption',
Deepesh Garg3c004ad2020-07-02 21:18:29 +0530404 'erpnext.hr.utils.calculate_hra_exemption_for_period': 'erpnext.regional.india.utils.calculate_hra_exemption_for_period',
Saqib6d74f5b2020-12-25 10:26:43 +0530405 'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_regional_gl_entries': 'erpnext.regional.india.utils.make_regional_gl_entries',
406 'erpnext.controllers.accounts_controller.validate_einvoice_fields': 'erpnext.regional.india.e_invoice.utils.validate_einvoice_fields'
rohitwaghchaured4526682017-12-28 14:20:13 +0530407 },
408 'United Arab Emirates': {
hasnain28087b7a8e12020-09-09 20:54:30 +0530409 'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data',
410 'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_regional_gl_entries': 'erpnext.regional.united_arab_emirates.utils.make_regional_gl_entries',
rohitwaghchaured4526682017-12-28 14:20:13 +0530411 },
412 'Saudi Arabia': {
413 'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data'
scmmishra14d70ce2019-03-14 12:31:25 +0530414 },
415 'Italy': {
416 'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.italy.utils.update_itemised_tax_data',
417 'erpnext.controllers.accounts_controller.validate_regional': 'erpnext.regional.italy.utils.sales_invoice_validate',
Rushabh Mehta7231f292017-07-13 15:00:56 +0530418 }
Manas Solanki2f4e5ee2018-05-15 15:25:14 +0530419}
Mangesh-Khairnar2ffa87e2019-03-20 13:25:48 +0530420user_privacy_documents = [
421 {
422 'doctype': 'Lead',
423 'match_field': 'email_id',
424 'personal_fields': ['phone', 'mobile_no', 'fax', 'website', 'lead_name'],
425 },
426 {
427 'doctype': 'Opportunity',
428 'match_field': 'contact_email',
429 'personal_fields': ['contact_mobile', 'contact_display', 'customer_name'],
430 }
John Clarkeb7339842019-04-04 23:32:25 -0600431]
Himanshu83b0b2a2019-09-27 00:59:48 +0530432
Himanshu Warekar21abc3a2019-09-30 13:40:02 +0530433# ERPNext doctypes for Global Search
Himanshu Warekar23c916c2019-10-02 16:32:53 +0530434global_search_doctypes = {
435 "Default": [
436 {"doctype": "Customer", "index": 0},
437 {"doctype": "Supplier", "index": 1},
438 {"doctype": "Item", "index": 2},
439 {"doctype": "Warehouse", "index": 3},
440 {"doctype": "Account", "index": 4},
441 {"doctype": "Employee", "index": 5},
442 {"doctype": "BOM", "index": 6},
443 {"doctype": "Sales Invoice", "index": 7},
444 {"doctype": "Sales Order", "index": 8},
445 {"doctype": "Quotation", "index": 9},
446 {"doctype": "Work Order", "index": 10},
Walstan Baptista0baebbd2020-12-08 09:43:29 +0530447 {"doctype": "Purchase Order", "index": 11},
448 {"doctype": "Purchase Receipt", "index": 12},
449 {"doctype": "Purchase Invoice", "index": 13},
450 {"doctype": "Delivery Note", "index": 14},
451 {"doctype": "Stock Entry", "index": 15},
452 {"doctype": "Material Request", "index": 16},
453 {"doctype": "Delivery Trip", "index": 17},
454 {"doctype": "Pick List", "index": 18},
455 {"doctype": "Salary Slip", "index": 19},
456 {"doctype": "Leave Application", "index": 20},
457 {"doctype": "Expense Claim", "index": 21},
458 {"doctype": "Payment Entry", "index": 22},
459 {"doctype": "Lead", "index": 23},
460 {"doctype": "Opportunity", "index": 24},
461 {"doctype": "Item Price", "index": 25},
462 {"doctype": "Purchase Taxes and Charges Template", "index": 26},
463 {"doctype": "Sales Taxes and Charges", "index": 27},
464 {"doctype": "Asset", "index": 28},
465 {"doctype": "Project", "index": 29},
466 {"doctype": "Task", "index": 30},
467 {"doctype": "Timesheet", "index": 31},
468 {"doctype": "Issue", "index": 32},
469 {"doctype": "Serial No", "index": 33},
470 {"doctype": "Batch", "index": 34},
471 {"doctype": "Branch", "index": 35},
472 {"doctype": "Department", "index": 36},
473 {"doctype": "Employee Grade", "index": 37},
474 {"doctype": "Designation", "index": 38},
475 {"doctype": "Job Opening", "index": 39},
476 {"doctype": "Job Applicant", "index": 40},
477 {"doctype": "Job Offer", "index": 41},
478 {"doctype": "Salary Structure Assignment", "index": 42},
479 {"doctype": "Appraisal", "index": 43},
480 {"doctype": "Loan", "index": 44},
481 {"doctype": "Maintenance Schedule", "index": 45},
482 {"doctype": "Maintenance Visit", "index": 46},
483 {"doctype": "Warranty Claim", "index": 47},
Himanshu Warekar23c916c2019-10-02 16:32:53 +0530484 ],
485 "Healthcare": [
486 {'doctype': 'Patient', 'index': 1},
487 {'doctype': 'Medical Department', 'index': 2},
488 {'doctype': 'Vital Signs', 'index': 3},
489 {'doctype': 'Healthcare Practitioner', 'index': 4},
490 {'doctype': 'Patient Appointment', 'index': 5},
491 {'doctype': 'Healthcare Service Unit', 'index': 6},
492 {'doctype': 'Patient Encounter', 'index': 7},
493 {'doctype': 'Antibiotic', 'index': 8},
494 {'doctype': 'Diagnosis', 'index': 9},
495 {'doctype': 'Lab Test', 'index': 10},
496 {'doctype': 'Clinical Procedure', 'index': 11},
497 {'doctype': 'Inpatient Record', 'index': 12},
498 {'doctype': 'Sample Collection', 'index': 13},
499 {'doctype': 'Patient Medical Record', 'index': 14},
500 {'doctype': 'Appointment Type', 'index': 15},
501 {'doctype': 'Fee Validity', 'index': 16},
502 {'doctype': 'Practitioner Schedule', 'index': 17},
503 {'doctype': 'Dosage Form', 'index': 18},
504 {'doctype': 'Lab Test Sample', 'index': 19},
505 {'doctype': 'Prescription Duration', 'index': 20},
506 {'doctype': 'Prescription Dosage', 'index': 21},
507 {'doctype': 'Sensitivity', 'index': 22},
508 {'doctype': 'Complaint', 'index': 23},
509 {'doctype': 'Medical Code', 'index': 24},
510 ],
511 "Education": [
512 {'doctype': 'Article', 'index': 1},
513 {'doctype': 'Video', 'index': 2},
514 {'doctype': 'Topic', 'index': 3},
515 {'doctype': 'Course', 'index': 4},
516 {'doctype': 'Program', 'index': 5},
517 {'doctype': 'Quiz', 'index': 6},
518 {'doctype': 'Question', 'index': 7},
519 {'doctype': 'Fee Schedule', 'index': 8},
520 {'doctype': 'Fee Structure', 'index': 9},
521 {'doctype': 'Fees', 'index': 10},
522 {'doctype': 'Student Group', 'index': 11},
523 {'doctype': 'Student', 'index': 12},
524 {'doctype': 'Instructor', 'index': 13},
525 {'doctype': 'Course Activity', 'index': 14},
526 {'doctype': 'Quiz Activity', 'index': 15},
527 {'doctype': 'Course Enrollment', 'index': 16},
528 {'doctype': 'Program Enrollment', 'index': 17},
529 {'doctype': 'Student Language', 'index': 18},
530 {'doctype': 'Student Applicant', 'index': 19},
531 {'doctype': 'Assessment Result', 'index': 20},
532 {'doctype': 'Assessment Plan', 'index': 21},
533 {'doctype': 'Grading Scale', 'index': 22},
534 {'doctype': 'Guardian', 'index': 23},
535 {'doctype': 'Student Leave Application', 'index': 24},
536 {'doctype': 'Student Log', 'index': 25},
537 {'doctype': 'Room', 'index': 26},
538 {'doctype': 'Course Schedule', 'index': 27},
539 {'doctype': 'Student Attendance', 'index': 28},
540 {'doctype': 'Announcement', 'index': 29},
541 {'doctype': 'Student Category', 'index': 30},
542 {'doctype': 'Assessment Group', 'index': 31},
543 {'doctype': 'Student Batch Name', 'index': 32},
544 {'doctype': 'Assessment Criteria', 'index': 33},
545 {'doctype': 'Academic Year', 'index': 34},
546 {'doctype': 'Academic Term', 'index': 35},
547 {'doctype': 'School House', 'index': 36},
548 {'doctype': 'Student Admission', 'index': 37},
549 {'doctype': 'Fee Category', 'index': 38},
550 {'doctype': 'Assessment Code', 'index': 39},
551 {'doctype': 'Discussion', 'index': 40},
552 ],
553 "Agriculture": [
554 {'doctype': 'Weather', 'index': 1},
555 {'doctype': 'Soil Texture', 'index': 2},
556 {'doctype': 'Water Analysis', 'index': 3},
557 {'doctype': 'Soil Analysis', 'index': 4},
558 {'doctype': 'Plant Analysis', 'index': 5},
559 {'doctype': 'Agriculture Analysis Criteria', 'index': 6},
560 {'doctype': 'Disease', 'index': 7},
561 {'doctype': 'Crop', 'index': 8},
562 {'doctype': 'Fertilizer', 'index': 9},
563 {'doctype': 'Crop Cycle', 'index': 10}
564 ],
565 "Non Profit": [
566 {'doctype': 'Certified Consultant', 'index': 1},
567 {'doctype': 'Certification Application', 'index': 2},
568 {'doctype': 'Volunteer', 'index': 3},
569 {'doctype': 'Membership', 'index': 4},
570 {'doctype': 'Member', 'index': 5},
571 {'doctype': 'Donor', 'index': 6},
572 {'doctype': 'Chapter', 'index': 7},
573 {'doctype': 'Grant Application', 'index': 8},
574 {'doctype': 'Volunteer Type', 'index': 9},
575 {'doctype': 'Donor Type', 'index': 10},
576 {'doctype': 'Membership Type', 'index': 11}
577 ],
578 "Hospitality": [
579 {'doctype': 'Hotel Room', 'index': 0},
580 {'doctype': 'Hotel Room Reservation', 'index': 1},
581 {'doctype': 'Hotel Room Pricing', 'index': 2},
582 {'doctype': 'Hotel Room Package', 'index': 3},
583 {'doctype': 'Hotel Room Type', 'index': 4}
584 ]
Faris Ansari22bcad92020-10-16 15:28:12 +0530585}
leela3234df52021-01-12 23:31:40 +0530586
587additional_timeline_content = {
588 '*': ['erpnext.telephony.doctype.call_log.call_log.get_linked_call_logs']
589}