[ADD] Add autofollow on sales.
authorvta vta@openerp.com <>
Tue, 20 Nov 2012 07:46:20 +0000 (08:46 +0100)
committervta vta@openerp.com <>
Tue, 20 Nov 2012 07:46:20 +0000 (08:46 +0100)
bzr revid: vta@openerp.com-20121120074620-zjfz50gq8b99grtv

addons/portal_sale/sale.py [new file with mode: 0644]

diff --git a/addons/portal_sale/sale.py b/addons/portal_sale/sale.py
new file mode 100644 (file)
index 0000000..6b60855
--- /dev/null
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+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