From db8f504ea8028907013c337e87289ba63cb49ee1 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Tue, 7 Oct 2014 00:09:26 +0200 Subject: [PATCH] Clean files --- account_payment_partner/__openerp__.py | 59 +++++++++++++++++++ .../models/account_invoice.py | 5 +- 2 files changed, 63 insertions(+), 1 deletion(-) diff --git a/account_payment_partner/__openerp__.py b/account_payment_partner/__openerp__.py index 3f3a51f3f..b499d6028 100644 --- a/account_payment_partner/__openerp__.py +++ b/account_payment_partner/__openerp__.py @@ -51,3 +51,62 @@ be filtered per Payment Mode. 'demo': ['demo/partner_demo.xml'], 'installable': True, } + +from openerp import models, fields, api, exceptions +from datetime import datetime + + +class CrmLead(models.Model): + _inherit = 'crm.lead' + + @api.one + @api.constrains('state', 'code') + def _check_code(self): + if self.state == 'won': + if not self.code: + raise exceptions.Warning('Debe poner un código cuando la etapa se pasa a ganado.') + + @api.constrains('state', 'code') + def _check_code(self): + for record in self: + if record.state == 'won': + if not record.code: + raise exceptions.Warning('Debe poner un código cuando la etapa se pasa a ganado.') + + def do_something(self, vals): + pass + + def create(self, vals): + # Complementar valores del create + rec_id = super(CrmLead, self).create(vals) + # Crear registros accesorios + analytic_acc_obj = self.env['account.analytic.account'] + analytic_acc_obj.create({'name': vals['name'], + 'type': 'project', + 'date': datetime.now(), + 'project_id': rec_id}) + analytic_accs = analytic_acc_obj.search([('type', '=', 'project')], + order='partner_id', limit=1) + analytic_accs.write({'partner_id': 1}) + return rec_id + + def copy(self, default): + default['name'] = self.name + " (copia)" + return super(CrmLead, self).copy(default) + + def search(self, domain): + return {1: {''}, 2: {} } + + @api.one + def unlink(self): + if self.state in ('to_invoice', 'done'): + raise exceptions.Warning('No se puede borrar un pedido confirmado.') + super(CrmLead, self).unlink() + return True + + def write(self, vals): + if vals.get('state') == 'won': + for record in self: + if not record.code and not vals.get('code'): + raise exceptions.Warning('Debe poner un código cuando la etapa se pasa a ganado.') + return super(CrmLead, self).write(vals) diff --git a/account_payment_partner/models/account_invoice.py b/account_payment_partner/models/account_invoice.py index cbbd4b5b9..1c2428eb6 100644 --- a/account_payment_partner/models/account_invoice.py +++ b/account_payment_partner/models/account_invoice.py @@ -26,7 +26,10 @@ from openerp import models, fields, api class AccountInvoice(models.Model): _inherit = 'account.invoice' - payment_mode_id = fields.Many2one('payment.mode', string="Payment Mode") + type = fields.Selection('out', 'in') + + payment_mode_id = fields.Many2one('payment.mode', string="Payment Mode", + domain="[('type', '=', type)]") @api.multi def onchange_partner_id(