Anand Doshi | 227b238 | 2016-06-09 16:29:12 +0530 | [diff] [blame] | 1 | # -*- coding: utf-8 -*- |
| 2 | from __future__ import unicode_literals |
Rushabh Mehta | 86a824c | 2016-04-15 16:44:44 +0530 | [diff] [blame] | 3 | import frappe |
| 4 | |
Nabin Hait | c8a25b6 | 2017-05-23 18:18:42 +0600 | [diff] [blame] | 5 | __version__ = '8.0.36' |
Anand Doshi | 227b238 | 2016-06-09 16:29:12 +0530 | [diff] [blame] | 6 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 7 | |
Rushabh Mehta | 86a824c | 2016-04-15 16:44:44 +0530 | [diff] [blame] | 8 | def get_default_company(user=None): |
| 9 | '''Get default company for user''' |
| 10 | from frappe.defaults import get_user_default_as_list |
| 11 | |
| 12 | if not user: |
| 13 | user = frappe.session.user |
| 14 | |
| 15 | companies = get_user_default_as_list(user, 'company') |
| 16 | if companies: |
| 17 | default_company = companies[0] |
| 18 | else: |
| 19 | default_company = frappe.db.get_single_value('Global Defaults', 'default_company') |
| 20 | |
| 21 | return default_company |
| 22 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 23 | |
Rushabh Mehta | 86a824c | 2016-04-15 16:44:44 +0530 | [diff] [blame] | 24 | def get_default_currency(): |
| 25 | '''Returns the currency of the default company''' |
| 26 | company = get_default_company() |
| 27 | if company: |
Anand Doshi | 227b238 | 2016-06-09 16:29:12 +0530 | [diff] [blame] | 28 | return frappe.db.get_value('Company', company, 'default_currency') |
Rushabh Mehta | 6695830 | 2017-01-16 16:57:53 +0530 | [diff] [blame] | 29 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 30 | |
Rushabh Mehta | cc8b2b2 | 2017-03-31 12:44:29 +0530 | [diff] [blame] | 31 | def get_company_currency(company): |
| 32 | '''Returns the default company currency''' |
| 33 | if not frappe.flags.company_currency: |
| 34 | frappe.flags.company_currency = {} |
| 35 | if not company in frappe.flags.company_currency: |
| 36 | frappe.flags.company_currency[company] = frappe.db.get_value('Company', company, 'default_currency') |
| 37 | return frappe.flags.company_currency[company] |
| 38 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 39 | |
Rushabh Mehta | 6695830 | 2017-01-16 16:57:53 +0530 | [diff] [blame] | 40 | def set_perpetual_inventory(enable=1): |
| 41 | accounts_settings = frappe.get_doc("Accounts Settings") |
| 42 | accounts_settings.auto_accounting_for_stock = enable |
| 43 | accounts_settings.save() |
| 44 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 45 | |
Rushabh Mehta | 6695830 | 2017-01-16 16:57:53 +0530 | [diff] [blame] | 46 | def encode_company_abbr(name, company): |
| 47 | '''Returns name encoded with company abbreviation''' |
| 48 | company_abbr = frappe.db.get_value("Company", company, "abbr") |
| 49 | parts = name.rsplit(" - ", 1) |
| 50 | |
| 51 | if parts[-1].lower() != company_abbr.lower(): |
| 52 | parts.append(company_abbr) |
| 53 | |
tundebabzy | a109141 | 2017-05-19 07:12:45 +0100 | [diff] [blame] | 54 | return " - ".join(parts) |
| 55 | |
| 56 | |