From 4ed06f3549bb8a06b0fc1663ae1cdf0bcc9c64d0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 21 Jan 2016 20:41:55 +0100 Subject: [PATCH] Add product module --- beesdoo_product/__init__.py | 3 + beesdoo_product/__openerp__.py | 37 +++++++++++ beesdoo_product/controllers.py | 20 ++++++ beesdoo_product/data/label_color.xml | 17 +++++ beesdoo_product/data/product_label.xml | 65 ++++++++++++++++++++ beesdoo_product/demo.xml | 30 +++++++++ beesdoo_product/models/__init__.py | 2 + beesdoo_product/models/beesdoo_product.py | 25 ++++++++ beesdoo_product/security/ir.model.access.csv | 2 + beesdoo_product/templates.xml | 22 +++++++ beesdoo_product/views.xml | 60 ++++++++++++++++++ beesdoo_product/views/beesdoo_product.xml | 34 ++++++++++ 12 files changed, 317 insertions(+) create mode 100644 beesdoo_product/__init__.py create mode 100644 beesdoo_product/__openerp__.py create mode 100644 beesdoo_product/controllers.py create mode 100644 beesdoo_product/data/label_color.xml create mode 100644 beesdoo_product/data/product_label.xml create mode 100644 beesdoo_product/demo.xml create mode 100644 beesdoo_product/models/__init__.py create mode 100644 beesdoo_product/models/beesdoo_product.py create mode 100644 beesdoo_product/security/ir.model.access.csv create mode 100644 beesdoo_product/templates.xml create mode 100644 beesdoo_product/views.xml create mode 100644 beesdoo_product/views/beesdoo_product.xml diff --git a/beesdoo_product/__init__.py b/beesdoo_product/__init__.py new file mode 100644 index 0000000..c7a6ca6 --- /dev/null +++ b/beesdoo_product/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +import controllers +import models \ No newline at end of file diff --git a/beesdoo_product/__openerp__.py b/beesdoo_product/__openerp__.py new file mode 100644 index 0000000..b49dfb3 --- /dev/null +++ b/beesdoo_product/__openerp__.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +{ + 'name': "beesdoo_product", + + 'summary': """ + SOOO5 - Ajout de label bio/ethique/provenance""", + + 'description': """ + Long description of module's purpose + """, + + 'author': "My Company", + 'website': "http://www.yourcompany.com", + + # 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': 'Uncategorized', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': ['base', 'product'], + + # always loaded + 'data': [ + # 'security/ir.model.access.csv', + 'views.xml', + 'templates.xml', + 'data/product_label.xml', + 'data/label_color.xml', + 'views/beesdoo_product.xml' + ], + # only loaded in demonstration mode + 'demo': [ + 'demo.xml', + ], +} \ No newline at end of file diff --git a/beesdoo_product/controllers.py b/beesdoo_product/controllers.py new file mode 100644 index 0000000..5ba8f13 --- /dev/null +++ b/beesdoo_product/controllers.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from openerp import http + +# class BeesdooLabel(http.Controller): +# @http.route('/beesdoo_product/beesdoo_product/', auth='public') +# def index(self, **kw): +# return "Hello, world" + +# @http.route('/beesdoo_product/beesdoo_product/objects/', auth='public') +# def list(self, **kw): +# return http.request.render('beesdoo_product.listing', { +# 'root': '/beesdoo_product/beesdoo_product', +# 'objects': http.request.env['beesdoo_product.beesdoo_product'].search([]), +# }) + +# @http.route('/beesdoo_product/beesdoo_product/objects//', auth='public') +# def object(self, obj, **kw): +# return http.request.render('beesdoo_product.object', { +# 'object': obj +# }) \ No newline at end of file diff --git a/beesdoo_product/data/label_color.xml b/beesdoo_product/data/label_color.xml new file mode 100644 index 0000000..6c0b4f5 --- /dev/null +++ b/beesdoo_product/data/label_color.xml @@ -0,0 +1,17 @@ + + + + Vert + #40ff00 + + + + Orange + #ffa200 + + + + Rouge + #ff4000 + + diff --git a/beesdoo_product/data/product_label.xml b/beesdoo_product/data/product_label.xml new file mode 100644 index 0000000..4b1cdb1 --- /dev/null +++ b/beesdoo_product/data/product_label.xml @@ -0,0 +1,65 @@ + + + + + Label Bio ou Confiance + eco + + + + Agriculture raisonnée + eco + + + + Conventionnel + eco + + + + Belgique + local + + + + Europe + local + + + + Monde + local + + + + Label par tiers + fair + + + + Préserve l’intérêt + fair + + + + Aucune garantie + fair + + + + Intermédiaire coopératif + delivery + + + + Grossiste biologique + delivery + + + + Grossiste industriel + delivery + + + + diff --git a/beesdoo_product/demo.xml b/beesdoo_product/demo.xml new file mode 100644 index 0000000..7e226ab --- /dev/null +++ b/beesdoo_product/demo.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/beesdoo_product/models/__init__.py b/beesdoo_product/models/__init__.py new file mode 100644 index 0000000..f270af8 --- /dev/null +++ b/beesdoo_product/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +import beesdoo_product \ No newline at end of file diff --git a/beesdoo_product/models/beesdoo_product.py b/beesdoo_product/models/beesdoo_product.py new file mode 100644 index 0000000..87defb1 --- /dev/null +++ b/beesdoo_product/models/beesdoo_product.py @@ -0,0 +1,25 @@ + # -*- coding: utf-8 -*- +from openerp import models, fields, api + +class BeesdooProduct(models.Model): + _inherit = "product.template" + + eco_label = fields.Many2one('beesdoo.product.label', domain = [('type', '=', 'eco')]) + 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')]) + +class BeesdooProductLabel(models.Model): + _name = "beesdoo.product.label" + + name = fields.Char() + type = fields.Selection([('eco', 'Écologique'), ('local', 'Local'), ('fair', 'Équitable'), ('delivery', 'Distribution')]) + color = fields.Many2one('beesdoo.label.color') + +class BeesdooLabelColor(models.Model): + _name = 'beesdoo.label.color' + + name = fields.Char() + color_code = fields.Char() + + \ No newline at end of file diff --git a/beesdoo_product/security/ir.model.access.csv b/beesdoo_product/security/ir.model.access.csv new file mode 100644 index 0000000..45ee762 --- /dev/null +++ b/beesdoo_product/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_beesdoo_label_beesdoo_label,beesdoo_label.beesdoo_label,model_beesdoo_label_beesdoo_label,,1,0,0,0 \ No newline at end of file diff --git a/beesdoo_product/templates.xml b/beesdoo_product/templates.xml new file mode 100644 index 0000000..71a9d51 --- /dev/null +++ b/beesdoo_product/templates.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/beesdoo_product/views.xml b/beesdoo_product/views.xml new file mode 100644 index 0000000..662f6f7 --- /dev/null +++ b/beesdoo_product/views.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/beesdoo_product/views/beesdoo_product.xml b/beesdoo_product/views/beesdoo_product.xml new file mode 100644 index 0000000..79ec775 --- /dev/null +++ b/beesdoo_product/views/beesdoo_product.xml @@ -0,0 +1,34 @@ + + + + bees.product.template + product.template + + + + + + + + + + + + + + + \ No newline at end of file