blob: a8a8055ce86f539367991edd4cab2555076e024a [file] [log] [blame]
Anand Doshi227b2382016-06-09 16:29:12 +05301# -*- coding: utf-8 -*-
2from __future__ import unicode_literals
Rushabh Mehta86a824c2016-04-15 16:44:44 +05303import frappe
4
Nabin Hait097da8c2017-07-08 14:25:41 +06005__version__ = '8.3.5'
Anand Doshi227b2382016-06-09 16:29:12 +05306
Rushabh Mehta86a824c2016-04-15 16:44:44 +05307def get_default_company(user=None):
8 '''Get default company for user'''
9 from frappe.defaults import get_user_default_as_list
10
11 if not user:
12 user = frappe.session.user
13
14 companies = get_user_default_as_list(user, 'company')
15 if companies:
16 default_company = companies[0]
17 else:
18 default_company = frappe.db.get_single_value('Global Defaults', 'default_company')
19
20 return default_company
21
tundebabzya1091412017-05-19 07:12:45 +010022
Rushabh Mehta86a824c2016-04-15 16:44:44 +053023def get_default_currency():
24 '''Returns the currency of the default company'''
25 company = get_default_company()
26 if company:
Anand Doshi227b2382016-06-09 16:29:12 +053027 return frappe.db.get_value('Company', company, 'default_currency')
Rushabh Mehta66958302017-01-16 16:57:53 +053028
tundebabzya1091412017-05-19 07:12:45 +010029
Rushabh Mehtacc8b2b22017-03-31 12:44:29 +053030def get_company_currency(company):
31 '''Returns the default company currency'''
32 if not frappe.flags.company_currency:
33 frappe.flags.company_currency = {}
34 if not company in frappe.flags.company_currency:
35 frappe.flags.company_currency[company] = frappe.db.get_value('Company', company, 'default_currency')
36 return frappe.flags.company_currency[company]
37
Rohit Waghchaurea5f40942017-06-16 15:21:36 +053038def set_perpetual_inventory(enable=1, company=None):
39 if not company:
Rohit Waghchauree9ff1912017-06-19 12:54:59 +053040 company = "_Test Company" if frappe.flags.in_test else get_default_company()
tundebabzya1091412017-05-19 07:12:45 +010041
Rohit Waghchaurea5f40942017-06-16 15:21:36 +053042 company = frappe.get_doc("Company", company)
43 company.enable_perpetual_inventory = enable
44 company.save()
tundebabzya1091412017-05-19 07:12:45 +010045
Rushabh Mehta66958302017-01-16 16:57:53 +053046def 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
tundebabzya1091412017-05-19 07:12:45 +010054 return " - ".join(parts)
55
Rohit Waghchauree9ff1912017-06-19 12:54:59 +053056def is_perpetual_inventory_enabled(company):
57 if not company:
58 company = "_Test Company" if frappe.flags.in_test else get_default_company()
tundebabzya1091412017-05-19 07:12:45 +010059
Rohit Waghchauree9ff1912017-06-19 12:54:59 +053060 if not hasattr(frappe.local, 'enable_perpetual_inventory'):
Rushabh Mehta777526e2017-06-20 12:14:32 +053061 frappe.local.enable_perpetual_inventory = {}
Rohit Waghchauree9ff1912017-06-19 12:54:59 +053062
Rushabh Mehta777526e2017-06-20 12:14:32 +053063 if not company in frappe.local.enable_perpetual_inventory:
Rohit Waghchaure2d9b3cd2017-06-21 09:40:06 +053064 frappe.local.enable_perpetual_inventory[company] = frappe.db.get_value("Company",
Rushabh Mehta777526e2017-06-20 12:14:32 +053065 company, "enable_perpetual_inventory") or 0
Rohit Waghchauree9ff1912017-06-19 12:54:59 +053066
Rushabh Mehta777526e2017-06-20 12:14:32 +053067 return frappe.local.enable_perpetual_inventory[company]