account_journal.py 4.0 KB

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