1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from openerp import api, fields, models
- from datetime import datetime, date, time, timedelta
- class ResPartner(models.Model):
- _inherit = 'res.partner'
- @api.model
- def get_partners(self):
- domain = [('customer', '=', True), ('active', '=', True), ('credit', '>', 0)]
- partners = []
- for customer in self.env['res.partner'].search(domain):
- categories = []
- invoices = []
- for category in customer.category_id:
- categories.append({
- 'id': category.id,
- 'name': category.name,
- 'display_name': category.display_name
- })
- for invoice in customer.invoice_ids:
- movelines = []
- currency_symbol = ""
- for move in invoice.move_id:
- for moveline in move.line_id:
- if moveline.amount_residual > 0 and moveline.state != "draft":
- movelines.append({
- 'id': moveline.id,
- 'amount_residual': moveline.amount_residual,
- 'credit': moveline.credit,
- 'debit': moveline.debit,
- 'date_maturity': moveline.date_maturity
- })
- for currency in invoice.currency_id:
- currency_symbol=currency.symbol
- if invoice.state == 'open':
- invoices.append({
- 'id': invoice.id,
- 'number': invoice.number,
- 'date_invoice': invoice.date_invoice,
- 'amount_total': invoice.amount_total,
- 'residual': invoice.residual,
- 'moveLines': movelines,
- 'currency_symbol' : currency_symbol
- })
- partners.append({
- 'id': customer.id,
- 'name': customer.name,
- 'display_name': customer.display_name,
- 'ruc': customer.ruc,
- 'image_medium': customer.image_medium,
- 'phone': customer.phone,
- 'mobile': customer.mobile,
- 'email': customer.email,
- 'credit': customer.credit,
- 'credit_limit': customer.credit_limit,
- 'categories': categories,
- 'invoices': invoices,
- 'date_server': str(datetime.now().date())
- })
- return partners
|