diff --git a/beesdoo_purchase/__init__.py b/beesdoo_purchase/__init__.py index 7c68785..a0fdc10 100644 --- a/beesdoo_purchase/__init__.py +++ b/beesdoo_purchase/__init__.py @@ -1 +1,2 @@ -# -*- coding: utf-8 -*- \ No newline at end of file +# -*- coding: utf-8 -*- +from . import models diff --git a/beesdoo_purchase/__openerp__.py b/beesdoo_purchase/__openerp__.py index 87f13c6..eb430d7 100644 --- a/beesdoo_purchase/__openerp__.py +++ b/beesdoo_purchase/__openerp__.py @@ -9,24 +9,18 @@ Long description of module's purpose """, - 'author': "Beescoop - Cellule IT", + 'author': "Beescoop - Cellule IT, " + "Coop IT Easy SCRLfs", 'website': "https://github.com/beescoop/Obeesdoo", - # Categories can be used to filter modules in modules listing - # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml - # for the full list 'category': 'Purchase', - 'version': '0.1', + 'version': '9.0.1.1.0', - # any module necessary for this one to work correctly - 'depends': ['purchase','beesdoo_product'], + 'depends': ['purchase', 'beesdoo_product'], - # always loaded 'data': [ 'views/purchase_order.xml', 'security/ir.model.access.csv', 'report/report_purchaseorder.xml', ], - # only loaded in demonstration mode - 'demo': [], -} \ No newline at end of file +} diff --git a/beesdoo_purchase/migrations/9.0.1.1.0/post-migrate.py b/beesdoo_purchase/migrations/9.0.1.1.0/post-migrate.py new file mode 100644 index 0000000..707e4a8 --- /dev/null +++ b/beesdoo_purchase/migrations/9.0.1.1.0/post-migrate.py @@ -0,0 +1,12 @@ +# coding: utf-8 + + +def migrate(cr, version): + """Set the new supervisor_id field if this one is empty.""" + cr.execute( + """ + UPDATE purchase_order + SET supervisor_id = create_uid + WHERE supervisor_id IS NULL + """ + ) diff --git a/beesdoo_purchase/models/__init__.py b/beesdoo_purchase/models/__init__.py new file mode 100644 index 0000000..7128188 --- /dev/null +++ b/beesdoo_purchase/models/__init__.py @@ -0,0 +1,2 @@ +# coding: utf-8 +from . import purchase diff --git a/beesdoo_purchase/models/purchase.py b/beesdoo_purchase/models/purchase.py new file mode 100644 index 0000000..0832d37 --- /dev/null +++ b/beesdoo_purchase/models/purchase.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +from openerp import api, fields, models + + +class PurchaseOrder(models.Model): + _inherit = "purchase.order" + + # create_uid must mirror the supervisor_id value. + # create_uid is a magic field that belongs to the ORM that is not + # editable via a form. + create_uid = fields.Many2one( + comodel_name='res.users', + compute='_compute_create_uid', + ) + supervisor_id = fields.Many2one( + comodel_name='res.users', + string='Responsible', + required=True, + default=lambda self: self.env.user, + ) + + @api.depends('supervisor_id') + def _compute_create_uid(self): + for rec in self: + if rec.supervisor_id: + rec.create_uid = rec.supervisor_id + + @api.multi + def write(self, vals): + if 'supervisor_id' in vals: + new_supervisor = vals['supervisor_id'] + for rec in self: + rec.message_unsubscribe_users( + user_ids=rec.supervisor_id.ids, + ) + rec.message_subscribe_users( + user_ids=[new_supervisor], + subtype_ids=[], + ) + return super(PurchaseOrder, self).write(vals) diff --git a/beesdoo_purchase/views/purchase_order.xml b/beesdoo_purchase/views/purchase_order.xml index d84ab2e..f649d78 100644 --- a/beesdoo_purchase/views/purchase_order.xml +++ b/beesdoo_purchase/views/purchase_order.xml @@ -6,12 +6,34 @@ - + [('main_seller_id','=', parent.partner_id), ('purchase_ok', '=', True)] + + + beesdoo.purchase.order.tree.view + purchase.order + + + + + + + + + + beesdoo.purchase.order.search.view + purchase.order + + + + + + +