account_journal.py 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. from openerp import api, fields, models
  2. class AccountJournal(models.Model):
  3. _inherit = 'account.journal'
  4. @api.model
  5. def get_journals(self):
  6. domain = [
  7. ('active', '=', True),
  8. ('type', 'in', ['bank', 'cash']),
  9. ('default_credit_account_id.currency_id', '=', False)
  10. ]
  11. journals = []
  12. for journal in self.env['account.journal'].search(domain, order='id'):
  13. if not (journal.store_ids >= self.env.user.store_ids):
  14. continue
  15. journals.append({
  16. 'id': journal.id,
  17. 'name': journal.name,
  18. 'display_name': journal.display_name,
  19. 'code': journal.code,
  20. 'cash_control': journal.cash_control,
  21. 'type': journal.type,
  22. 'currency': {
  23. 'id': journal.currency.id,
  24. 'name': journal.currency.name,
  25. 'display_name': journal.currency.display_name
  26. },
  27. 'default_credit_account': {
  28. 'id': journal.default_credit_account_id.id,
  29. 'name': journal.default_credit_account_id.name,
  30. 'display_name': journal.default_credit_account_id.display_name,
  31. 'code': journal.default_credit_account_id.code,
  32. 'exchange_rate': journal.default_credit_account_id.exchange_rate,
  33. 'foreign_balance': journal.default_credit_account_id.foreign_balance,
  34. 'reconcile': journal.default_credit_account_id.reconcile,
  35. 'debit': journal.default_credit_account_id.debit,
  36. 'credit': journal.default_credit_account_id.credit,
  37. 'currency_mode': journal.default_credit_account_id.currency_mode,
  38. 'company_currency': {
  39. 'id': journal.default_credit_account_id.company_currency_id.id,
  40. 'name': journal.default_credit_account_id.company_currency_id.name,
  41. 'display_name': journal.default_credit_account_id.company_currency_id.display_name,
  42. },
  43. 'currency': {
  44. 'id': journal.default_credit_account_id.currency_id.id,
  45. 'name': journal.default_credit_account_id.currency_id.name,
  46. 'display_name': journal.default_credit_account_id.currency_id.display_name
  47. }
  48. },
  49. 'default_debit_account': {
  50. 'id': journal.default_debit_account_id.id,
  51. 'name': journal.default_debit_account_id.name,
  52. 'display_name': journal.default_debit_account_id.display_name,
  53. 'code': journal.default_debit_account_id.code,
  54. 'exchange_rate': journal.default_credit_account_id.exchange_rate,
  55. 'foreign_balance': journal.default_credit_account_id.foreign_balance,
  56. 'reconcile': journal.default_credit_account_id.reconcile,
  57. 'debit': journal.default_credit_account_id.debit,
  58. 'credit': journal.default_credit_account_id.credit,
  59. 'currency_mode': journal.default_credit_account_id.currency_mode,
  60. 'company_currency': {
  61. 'id': journal.default_credit_account_id.company_currency_id.id,
  62. 'name': journal.default_credit_account_id.company_currency_id.name,
  63. 'display_name': journal.default_credit_account_id.company_currency_id.display_name,
  64. },
  65. 'currency': {
  66. 'id': journal.default_credit_account_id.currency_id.id,
  67. 'name': journal.default_credit_account_id.currency_id.name,
  68. 'display_name': journal.default_credit_account_id.currency_id.display_name
  69. }
  70. }
  71. })
  72. return journals