From fa68710b3b21a535a50c9b2c95503107cb5360f4 Mon Sep 17 00:00:00 2001 From: EliseDup Date: Wed, 9 Mar 2016 15:44:50 +0100 Subject: [PATCH] S001 --- beesdoo_product/__openerp__.py | 2 +- beesdoo_product/models/beesdoo_product.py | 13 +++++++- beesdoo_product/views/beesdoo_product.xml | 5 ++- beesdoo_purchase/__init__.py | 2 ++ beesdoo_purchase/__openerp__.py | 31 +++++++++++++++++++ beesdoo_purchase/models/__init__.py | 3 ++ beesdoo_purchase/models/purchase_order.py | 17 ++++++++++ beesdoo_purchase/security/ir.model.access.csv | 1 + beesdoo_purchase/views/purchase_order.xml | 14 +++++++++ 9 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 beesdoo_purchase/__init__.py create mode 100644 beesdoo_purchase/__openerp__.py create mode 100644 beesdoo_purchase/models/__init__.py create mode 100644 beesdoo_purchase/models/purchase_order.py create mode 100644 beesdoo_purchase/security/ir.model.access.csv create mode 100644 beesdoo_purchase/views/purchase_order.xml diff --git a/beesdoo_product/__openerp__.py b/beesdoo_product/__openerp__.py index bc1c3ea..cdf8dd5 100644 --- a/beesdoo_product/__openerp__.py +++ b/beesdoo_product/__openerp__.py @@ -20,7 +20,7 @@ 'version': '0.1', # any module necessary for this one to work correctly - 'depends': ['beesdoo_base', 'product'], + 'depends': ['beesdoo_base', 'product', 'point_of_sale'], # always loaded 'data': [ diff --git a/beesdoo_product/models/beesdoo_product.py b/beesdoo_product/models/beesdoo_product.py index ad95630..9195044 100644 --- a/beesdoo_product/models/beesdoo_product.py +++ b/beesdoo_product/models/beesdoo_product.py @@ -8,7 +8,18 @@ class BeesdooProduct(models.Model): local_label = fields.Many2one('beesdoo.product.label', domain = [('type', '=', 'local')]) fair_label = fields.Many2one('beesdoo.product.label', domain = [('type', '=', 'fair')]) origin_label = fields.Many2one('beesdoo.product.label', domain = [('type', '=', 'delivery')]) - + + main_seller_id = fields.Many2one('res.partner', compute='_compute_main_seller_id', store=True) + + @api.one + @api.depends('seller_ids') + def _compute_main_seller_id(self): + # Ce champs doit être champs calculé qui va chercher + # le vendeur associé qui a la date de début la plus récente et plus petite qu’aujourd’hui + self.main_seller_id = sorted(self.seller_ids, key=lambda seller: seller.date_start, reverse=True)[0].name + + + class BeesdooProductLabel(models.Model): _name = "beesdoo.product.label" diff --git a/beesdoo_product/views/beesdoo_product.xml b/beesdoo_product/views/beesdoo_product.xml index 21b329b..a59a145 100644 --- a/beesdoo_product/views/beesdoo_product.xml +++ b/beesdoo_product/views/beesdoo_product.xml @@ -1,6 +1,8 @@ - + + + bees.product.template.form product.template @@ -10,6 +12,7 @@ + diff --git a/beesdoo_purchase/__init__.py b/beesdoo_purchase/__init__.py new file mode 100644 index 0000000..0f7cb6b --- /dev/null +++ b/beesdoo_purchase/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +import models \ No newline at end of file diff --git a/beesdoo_purchase/__openerp__.py b/beesdoo_purchase/__openerp__.py new file mode 100644 index 0000000..283d686 --- /dev/null +++ b/beesdoo_purchase/__openerp__.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Bees Purchase", + + 'summary': """ + Extension du module Purchase""", + + 'description': """ + Long description of module's purpose + """, + + 'author': "Beescoop - Cellule IT", + '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', + + # any module necessary for this one to work correctly + 'depends': ['base','purchase','beesdoo_product'], + + # always loaded + 'data': [ + 'views/purchase_order.xml', + 'security/ir.model.access.csv', + ], + # only loaded in demonstration mode + 'demo': [], +} \ No newline at end of file diff --git a/beesdoo_purchase/models/__init__.py b/beesdoo_purchase/models/__init__.py new file mode 100644 index 0000000..667b7e3 --- /dev/null +++ b/beesdoo_purchase/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +import purchase_order \ No newline at end of file diff --git a/beesdoo_purchase/models/purchase_order.py b/beesdoo_purchase/models/purchase_order.py new file mode 100644 index 0000000..d9d41a5 --- /dev/null +++ b/beesdoo_purchase/models/purchase_order.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api + +class PurchaseOrder(models.Model): + + _inherit = 'purchase.order' + +class PurchaseOrderLine(models.Model): + + _inherit = 'purchase.order.line' + + product_id = fields.Many2one('product.product', string='Product', + domain=['&',('purchase_ok', '=', True),('template.main_seller_id','=','order_id.partner_id')], change_default=True, required=True) + + @api.onchange('order_id') + def _onchange_order_id(self): + print "changed", self.order_id, self.order_id.partner_id \ No newline at end of file diff --git a/beesdoo_purchase/security/ir.model.access.csv b/beesdoo_purchase/security/ir.model.access.csv new file mode 100644 index 0000000..58262d4 --- /dev/null +++ b/beesdoo_purchase/security/ir.model.access.csv @@ -0,0 +1 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink \ No newline at end of file diff --git a/beesdoo_purchase/views/purchase_order.xml b/beesdoo_purchase/views/purchase_order.xml new file mode 100644 index 0000000..7db8df9 --- /dev/null +++ b/beesdoo_purchase/views/purchase_order.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file