# -*- codign: utf-8 -*- from openerp.http import request from eiru_logging import make_info_log _MODEL='account.journal' def get_name_journal(id): journals = request.env[_MODEL].browse(id) if (not journals): return '' return journals.display_name def get_currencie_journal(journalId): journal = request.env[_MODEL].browse(journalId) if (not journal): return {} currency = journal.currency or journal.company_id.currency_id if (not currency): return {} return { 'id': currency.id, 'name': currency.display_name, 'base': currency.base, 'symbol': currency.symbol, 'position': currency.position, 'rateSilent': currency.rate_silent, 'decimalSeparator': currency.decimal_separator, 'decimalPlaces': currency.decimal_places, 'thousandsSeparator': currency.thousands_separator } def get_currencies_from_journal(): make_info_log('GET currency the journal active in store') domain = [('type', 'in', ['bank', 'cash']),('active', '=', True)] currencies = [] for j in request.env[_MODEL].search(domain): c = j.currency or j.company_id.currency_id currencies.append({ 'id': c.id, 'name': c.display_name, 'base': c.base, 'symbol': c.symbol, 'position': c.position, 'rateSilent': c.rate_silent, 'decimalSeparator': c.decimal_separator, 'decimalPlaces': c.decimal_places, 'thousandsSeparator': c.thousands_separator }) return {c['id']:c for c in currencies}.values() ''' all active journals ''' def get_journals(type=None): make_info_log('GET Journal active in store') if ((not type[0]) or (not type)): type= ['bank', 'cash'] user = request.env.user journal = [] for store in user.store_ids: for journalID in store.journal_ids: if (journalID.type in ['bank', 'cash']): journal.append(journalID.id) # domain = [('type', 'in', type), ('default_debit_account_id.currency_id', '=', False), ('active', '=', True)] domain = [('type', 'in', type),('active', '=', True)] if (journal): domain.append(('id', 'in', journal )) return [{ 'id': journal.id, 'name': journal.name, 'displayName': journal.display_name, 'code': journal.code, 'cashControl': journal.cash_control, 'type': journal.type, 'storeIds': map(lambda x: x.id, journal.store_ids), 'currency': { 'id': journal.currency.id, 'name': journal.currency.name, 'displayName': journal.currency.display_name }, 'defaultDebitAccount': { 'id': journal.default_debit_account_id.id, 'name': journal.default_debit_account_id.name, 'displayName': journal.default_debit_account_id.display_name, 'code': journal.default_debit_account_id.code, 'exchange_rate': journal.default_credit_account_id.exchange_rate, 'foreignBalance': journal.default_credit_account_id.foreign_balance, 'reconcile': journal.default_credit_account_id.reconcile, 'debit': journal.default_credit_account_id.debit, 'credit': journal.default_credit_account_id.credit, 'currencyMode': journal.default_credit_account_id.currency_mode, 'companyCurrency': { 'id': journal.default_credit_account_id.company_currency_id.id, 'name': journal.default_credit_account_id.company_currency_id.name, 'displayName': journal.default_credit_account_id.company_currency_id.display_name, }, 'currency': { 'id': journal.default_credit_account_id.currency_id.id, 'name': journal.default_credit_account_id.currency_id.name, 'displayName': journal.default_credit_account_id.currency_id.display_name } } } for journal in request.env[_MODEL].search(domain, order='id')]