From 3fdddf78bc698154af24b804ea6190d6831ddb7f Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Tue, 20 Nov 2012 08:46:20 +0100 Subject: [PATCH 1/1] [ADD] Add autofollow on sales. bzr revid: vta@openerp.com-20121120074620-zjfz50gq8b99grtv --- addons/portal_sale/sale.py | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 addons/portal_sale/sale.py diff --git a/addons/portal_sale/sale.py b/addons/portal_sale/sale.py new file mode 100644 index 0000000..6b60855 --- /dev/null +++ b/addons/portal_sale/sale.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields, osv + +class sale_order(osv.osv): + _inherit = 'sale.order' + + def action_button_confirm(self, cr, uid, ids, context=None): + # fetch the partner's id and subscribe the partner to the sale order + partner = self.browse(cr, uid, ids[0], context=context)['partner_id'] + if partner.id not in self.browse(cr, uid, ids[0], context=context)['message_follower_ids']: + self.message_subscribe(cr, uid, ids, [partner.id], context=context) + return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context) + +sale_order() + +class mail_mail(osv.osv): + _inherit = 'mail.mail' + + def _postprocess_sent_message(self, cr, uid, mail, context=None): + if mail.model == 'sale.order': + so_obj = self.pool.get('sale.order') + partner = so_obj.browse(cr, uid, mail.res_id, context=context)['partner_id'] + if partner.id not in so_obj.browse(cr, uid, mail.res_id, context=context)['message_follower_ids']: + so_obj.message_subscribe(cr, uid, [mail.res_id], [partner.id], context=context) + return super(mail_mail, self)._postprocess_sent_message(cr, uid, mail=mail, context=context) + +mail_mail() \ No newline at end of file -- 1.7.10.4