# -*- coding: utf-8 -*-
from openerp.http import request
from res_users import get_current_user
from res_config import get_pos_config
from res_bank_payment_type import get_bank_payment_types

_MODEL = 'account.journal'

'''
'''
def get_journals():
    domain = [
        ('type', 'in', ['bank', 'cash']),
        ('active', '=', True)
    ]

    if not get_pos_config().get('allowCurrencyExchange'):
        currency_id = get_current_user().get('company').get('currencyId')

        domain.append('|')
        domain.append(('currency', '=', currency_id))
        domain.append(('company_id.currency_id', '=', currency_id))

    return [
        {
            'id': journal.id,
            'name': journal.display_name,
            'code': journal.code,
            'type': journal.type,
            'currencyId': journal.currency.id or journal.company_id.currency_id.id,
            'fieldsAllowed': get_bank_payment_types(journal.id)
        } for journal in request.env[_MODEL].search(domain, order='id')
    ]

'''
'''
def get_currencies_from_journals():
    domain = [
        ('type', 'in', ['bank', 'cash']),
        ('active', '=', True)
    ]
    currencies = []

    for journal in request.env[_MODEL].search(domain):
        currency = journal.currency or journal.company_id.currency_id

        currencies.append({
            '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
        })
            
    return {c['id']:c for c in currencies}.values()

'''
'''
def get_currency(journal_id):
    journal = request.env['account.journal'].browse(journal_id)
    return journal.default_credit_account_id.currency_id.id or journal.default_credit_account_id.company_currency_id.id