blob: 2080224a705d1d1c04f2bcc0fe12e704a80bf65d [file] [log] [blame]
Anand Doshi885e0742015-03-03 14:55:30 +05301# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
Rushabh Mehtae67d1fb2013-08-05 14:59:54 +05302# License: GNU General Public License v3. See license.txt"
Rushabh Mehta74506e92013-03-25 17:52:14 +05303
4
5from __future__ import unicode_literals
Rushabh Mehta793ba6b2014-02-14 15:47:51 +05306import frappe
Rushabh Mehta74506e92013-03-25 17:52:14 +05307
8def boot_session(bootinfo):
9 """boot session - send website info if guest"""
Rushabh Mehta430d1322014-05-31 10:36:04 +053010
11 bootinfo.custom_css = frappe.db.get_value('Style Settings', None, 'custom_css') or ''
12 bootinfo.website_settings = frappe.get_doc('Website Settings')
Rushabh Mehta74506e92013-03-25 17:52:14 +053013
Rushabh Mehta793ba6b2014-02-14 15:47:51 +053014 if frappe.session['user']!='Guest':
Rushabh Mehta430d1322014-05-31 10:36:04 +053015 update_page_info(bootinfo)
16
17 load_country_and_currency(bootinfo)
rohitwaghchaureec9430d2017-08-02 18:16:13 +053018 bootinfo.sysdefaults.territory = frappe.db.get_single_value('Selling Settings',
Rushabh Mehtabf8e33112017-09-14 15:03:45 +053019 'territory')
rohitwaghchaureec9430d2017-08-02 18:16:13 +053020 bootinfo.sysdefaults.customer_group = frappe.db.get_single_value('Selling Settings',
Rushabh Mehtabf8e33112017-09-14 15:03:45 +053021 'customer_group')
Makarand Bauskare6712c12017-10-25 12:17:40 +053022 bootinfo.sysdefaults.allow_stale = frappe.db.get_single_value('Accounts Settings',
23 'allow_stale') or 1
Rushabh Mehta430d1322014-05-31 10:36:04 +053024
25 bootinfo.notification_settings = frappe.get_doc("Notification Control",
26 "Notification Control")
27
28 # if no company, show a dialog box to create a new company
Rushabh Mehta9872d8c2016-11-21 21:04:47 +053029 bootinfo.customer_count = frappe.db.sql("""select count(*) from tabCustomer""")[0][0]
Rushabh Mehta430d1322014-05-31 10:36:04 +053030
31 if not bootinfo.customer_count:
32 bootinfo.setup_complete = frappe.db.sql("""select name from
Rushabh Mehta2f7e1ab2013-06-26 17:20:12 +053033 tabCompany limit 1""") and 'Yes' or 'No'
Rushabh Mehta430d1322014-05-31 10:36:04 +053034
Rohit Waghchaurea5f40942017-06-16 15:21:36 +053035 bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center, default_terms,
36 default_letter_head, default_bank_account, enable_perpetual_inventory from `tabCompany`""",
Rushabh Mehta5495bc52015-05-19 12:00:34 +053037 as_dict=1, update={"doctype":":Company"})
Rushabh Mehta9dd25b32013-09-03 17:36:41 +053038
39def load_country_and_currency(bootinfo):
Rushabh Mehtaa504f062014-04-04 12:16:26 +053040 country = frappe.db.get_default("country")
41 if country and frappe.db.exists("Country", country):
Rushabh Mehta430d1322014-05-31 10:36:04 +053042 bootinfo.docs += [frappe.get_doc("Country", country)]
43
Rushabh Mehtae29192c2016-03-22 14:52:25 +053044 bootinfo.docs += frappe.db.sql("""select name, fraction, fraction_units,
45 number_format, smallest_currency_fraction_value, symbol from tabCurrency
Anand Doshi602e8252015-11-16 19:05:46 +053046 where enabled=1""", as_dict=1, update={"doctype":":Currency"})
Rushabh Mehta9dd25b32013-09-03 17:36:41 +053047
Rushabh Mehta430d1322014-05-31 10:36:04 +053048def update_page_info(bootinfo):
49 bootinfo.page_info.update({
50 "Chart of Accounts": {
51 "title": "Chart of Accounts",
Saurabh17022732016-06-21 13:19:17 +053052 "route": "Tree/Account"
Rushabh Mehta430d1322014-05-31 10:36:04 +053053 },
54 "Chart of Cost Centers": {
55 "title": "Chart of Cost Centers",
Saurabh17022732016-06-21 13:19:17 +053056 "route": "Tree/Cost Center"
Rushabh Mehta430d1322014-05-31 10:36:04 +053057 },
58 "Item Group Tree": {
59 "title": "Item Group Tree",
Saurabh17022732016-06-21 13:19:17 +053060 "route": "Tree/Item Group"
Rushabh Mehta430d1322014-05-31 10:36:04 +053061 },
62 "Customer Group Tree": {
63 "title": "Customer Group Tree",
Saurabh17022732016-06-21 13:19:17 +053064 "route": "Tree/Customer Group"
Rushabh Mehta430d1322014-05-31 10:36:04 +053065 },
66 "Territory Tree": {
67 "title": "Territory Tree",
Saurabh17022732016-06-21 13:19:17 +053068 "route": "Tree/Territory"
Rushabh Mehta430d1322014-05-31 10:36:04 +053069 },
70 "Sales Person Tree": {
71 "title": "Sales Person Tree",
Saurabh17022732016-06-21 13:19:17 +053072 "route": "Tree/Sales Person"
Rushabh Mehta430d1322014-05-31 10:36:04 +053073 }
74 })