Files
tradon/modules/purchase_trade/company_defaults.py

51 lines
1.3 KiB
Python

from trytond.pool import Pool
from trytond.transaction import Transaction
ITSA_COMPANY_NAME = 'ITSA'
def record_id(record):
return getattr(record, 'id', record)
def is_itsa_company(company=None):
if company is None:
company_id = Transaction().context.get('company')
if not company_id:
return False
Company = Pool().get('company.company')
company = Company(company_id)
party = getattr(company, 'party', None)
return bool(party and party.name == ITSA_COMPANY_NAME)
def _search_first(model_name, domains):
Model = Pool().get(model_name)
for domain in domains:
try:
records = Model.search(domain, limit=1)
except Exception:
continue
if records:
return records[0]
def default_itsa_currency():
currency = _search_first('currency.currency', [
[('code', '=', 'USD')],
[('name', '=', 'USD')],
[('symbol', '=', 'USD')],
])
return record_id(currency) if currency else None
def default_itsa_unit():
unit = _search_first('product.uom', [
[('symbol', '=', 'Mt')],
[('name', '=', 'Mt')],
[('symbol', '=', 'MT')],
[('name', '=', 'MT')],
])
return record_id(unit) if unit else None