Rushabh Mehta | ad45e31 | 2013-11-20 12:59:58 +0530 | [diff] [blame] | 1 | # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors |
Rushabh Mehta | e67d1fb | 2013-08-05 14:59:54 +0530 | [diff] [blame] | 2 | # License: GNU General Public License v3. See license.txt" |
Rushabh Mehta | 74506e9 | 2013-03-25 17:52:14 +0530 | [diff] [blame] | 3 | |
| 4 | |
| 5 | from __future__ import unicode_literals |
Rushabh Mehta | 793ba6b | 2014-02-14 15:47:51 +0530 | [diff] [blame] | 6 | import frappe |
Rushabh Mehta | 74506e9 | 2013-03-25 17:52:14 +0530 | [diff] [blame] | 7 | |
| 8 | def boot_session(bootinfo): |
| 9 | """boot session - send website info if guest""" |
Rushabh Mehta | 793ba6b | 2014-02-14 15:47:51 +0530 | [diff] [blame] | 10 | import frappe |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 11 | |
| 12 | bootinfo.custom_css = frappe.db.get_value('Style Settings', None, 'custom_css') or '' |
| 13 | bootinfo.website_settings = frappe.get_doc('Website Settings') |
Rushabh Mehta | 74506e9 | 2013-03-25 17:52:14 +0530 | [diff] [blame] | 14 | |
Rushabh Mehta | 793ba6b | 2014-02-14 15:47:51 +0530 | [diff] [blame] | 15 | if frappe.session['user']!='Guest': |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 16 | bootinfo.letter_heads = get_letter_heads() |
Rushabh Mehta | 2f7e1ab | 2013-06-26 17:20:12 +0530 | [diff] [blame] | 17 | |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 18 | update_page_info(bootinfo) |
| 19 | |
| 20 | load_country_and_currency(bootinfo) |
| 21 | |
| 22 | bootinfo.notification_settings = frappe.get_doc("Notification Control", |
| 23 | "Notification Control") |
| 24 | |
| 25 | # if no company, show a dialog box to create a new company |
| 26 | bootinfo.customer_count = frappe.db.sql("""select count(*) from tabCustomer""")[0][0] |
| 27 | |
| 28 | if not bootinfo.customer_count: |
| 29 | bootinfo.setup_complete = frappe.db.sql("""select name from |
Rushabh Mehta | 2f7e1ab | 2013-06-26 17:20:12 +0530 | [diff] [blame] | 30 | tabCompany limit 1""") and 'Yes' or 'No' |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 31 | |
| 32 | bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center |
Anand Doshi | aeef7bd | 2013-04-19 16:21:55 +0530 | [diff] [blame] | 33 | from `tabCompany`""", as_dict=1, update={"doctype":":Company"}) |
Rushabh Mehta | 9dd25b3 | 2013-09-03 17:36:41 +0530 | [diff] [blame] | 34 | |
| 35 | def load_country_and_currency(bootinfo): |
Rushabh Mehta | a504f06 | 2014-04-04 12:16:26 +0530 | [diff] [blame] | 36 | country = frappe.db.get_default("country") |
| 37 | if country and frappe.db.exists("Country", country): |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 38 | bootinfo.docs += [frappe.get_doc("Country", country)] |
| 39 | |
| 40 | bootinfo.docs += frappe.db.sql("""select * from tabCurrency |
Rushabh Mehta | 9dd25b3 | 2013-09-03 17:36:41 +0530 | [diff] [blame] | 41 | where ifnull(enabled,0)=1""", as_dict=1, update={"doctype":":Currency"}) |
| 42 | |
Rushabh Mehta | 74506e9 | 2013-03-25 17:52:14 +0530 | [diff] [blame] | 43 | def get_letter_heads(): |
Rushabh Mehta | 793ba6b | 2014-02-14 15:47:51 +0530 | [diff] [blame] | 44 | import frappe |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 45 | ret = frappe.db.sql("""select name, content from `tabLetter Head` |
Rushabh Mehta | 74506e9 | 2013-03-25 17:52:14 +0530 | [diff] [blame] | 46 | where ifnull(disabled,0)=0""") |
| 47 | return dict(ret) |
Rushabh Mehta | 430d132 | 2014-05-31 10:36:04 +0530 | [diff] [blame] | 48 | |
| 49 | def update_page_info(bootinfo): |
| 50 | bootinfo.page_info.update({ |
| 51 | "Chart of Accounts": { |
| 52 | "title": "Chart of Accounts", |
| 53 | "route": "Accounts Browser/Account" |
| 54 | }, |
| 55 | "Chart of Cost Centers": { |
| 56 | "title": "Chart of Cost Centers", |
| 57 | "route": "Accounts Browser/Cost Center" |
| 58 | }, |
| 59 | "Item Group Tree": { |
| 60 | "title": "Item Group Tree", |
| 61 | "route": "Sales Browser/Item Group" |
| 62 | }, |
| 63 | "Customer Group Tree": { |
| 64 | "title": "Customer Group Tree", |
| 65 | "route": "Sales Browser/Customer Group" |
| 66 | }, |
| 67 | "Territory Tree": { |
| 68 | "title": "Territory Tree", |
| 69 | "route": "Sales Browser/Territory" |
| 70 | }, |
| 71 | "Sales Person Tree": { |
| 72 | "title": "Sales Person Tree", |
| 73 | "route": "Sales Browser/Sales Person" |
| 74 | } |
| 75 | }) |