account.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # -*- coding: utf-8 -*-
  2. from openerp import models, fields, api
  3. class AccountInvoice(models.Model):
  4. _inherit = 'account.invoice'
  5. @api.model
  6. def getAccountInvoiceQuoteAnalysis(self,domain):
  7. AccountInvoice = self.env['account.invoice'].search(domain)
  8. AccountMoveLine = self.env['account.move.line'].search([('move_id','=',AccountInvoice.number),('debit','>',0)],order='date_maturity')
  9. # i = len(AccountMoveLine)
  10. i = 1
  11. x = len(AccountMoveLine)
  12. values = []
  13. # futbolistasTup.sort(key=lambda futbolista: futbolista[0])
  14. # AccountMoveLine.sort(key=lambda futbolista: date_maturity)
  15. # import web_pdb; web_pdb.set_trace()
  16. for line in AccountMoveLine:
  17. amount = 0
  18. value = 0
  19. state = 'No pagado'
  20. if(line.reconcile_ref != False):
  21. if(line.amount_residual == 0):
  22. state = 'Pagado'
  23. if(line.amount_residual > 0):
  24. value = line.debit - line.amount_residual
  25. state = 'Amortizado'
  26. values.append({
  27. 'date': line.date_maturity,
  28. 'name': 'Cuota ' + str(i) + ' / ' + str(x),
  29. 'state': state,
  30. 'value': value,
  31. 'amount': line.debit,
  32. 'residual': line.amount_residual,
  33. })
  34. i = i + 1
  35. return values
  36. class ResCurrrency(models.Model):
  37. _inherit = 'res.currency'
  38. @api.model
  39. def getResCurrencyQuoteAnalysis(self,domain):
  40. AccountInvoice = self.env['account.invoice'].search(domain)
  41. ResCurrency = self.env['res.currency'].search([('id','=',AccountInvoice.currency_id.id)])
  42. values = []
  43. for currency in ResCurrency:
  44. values.append({
  45. 'symbol': currency.symbol,
  46. 'decimal_separator': currency.decimal_separator,
  47. 'decimal_places': currency.decimal_places,
  48. 'thousands_separator': currency.thousands_separator,
  49. 'symbol_position': currency.symbol_position,
  50. })
  51. return values