account_loan.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. from openerp import models, fields, tools, api
  3. import openerp.addons.decimal_precision as dp
  4. from datetime import datetime
  5. class accountLoan(models.Model):
  6. _name = 'account.loan'
  7. name = fields.Char()
  8. date = fields.Date('Date', help="Fecha de operación")
  9. comment = fields.Text('Comment', help="Información adicional")
  10. state = fields.Selection([('rejected','Rechazado'),('draft','Borrador'),('approved','Aprobado'), ('disbursed','Desembolsado'),('paid','Pagado')],
  11. 'Estado del préstamo', default="draft", help="Estado del préstamo")
  12. amount = fields.Float('amount', digits_compute=dp.get_precision('Account'), required=True, help="Monto del pago")
  13. # Cliente
  14. customer_id = fields.Many2one('res.partner', string="customer")
  15. ## Line
  16. lines_ids = fields.One2many('account.loan.line', 'loan_id', string='loan line')
  17. '''
  18. Create
  19. '''
  20. @api.model
  21. def create(self, vals):
  22. accountLoan = super(AccountLoan, self).create(vals)
  23. accountLoan.write({'name':("PRÉSTAMO/%s/0000%d" % (accountLoan.customer_id.name, accountLoan.id))})
  24. return accountLoan
  25. class accountLoanLine(models.Model):
  26. _name = 'account.loan.line'
  27. ## Interest
  28. loan_id = fields.Many2one('account.loan', string='Account loan', ondelete='cascade', index=True, required=True)
  29. state = fields.Selection([('open','Abierto'),('invoiced','Facturado'),('paid','Pagado')],'Estado de la cuota', default="open")