From 2ad1e2386a7a34ff7d8be1dbc4611099f35ba20b Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Sun, 17 Jan 2016 23:16:01 +0100 Subject: [PATCH 1/4] [ADD] S0006 : first_name and last_name on res_partner --- beesdoo_base/__init__.py | 3 +++ beesdoo_base/__openerp__.py | 23 +++++++++++++++++++++++ beesdoo_base/models/__init__.py | 1 + beesdoo_base/models/partner.py | 14 ++++++++++++++ beesdoo_base/tools/__init__.py | 8 ++++++++ beesdoo_base/views/partner.xml | 15 +++++++++++++++ 6 files changed, 64 insertions(+) create mode 100644 beesdoo_base/__init__.py create mode 100644 beesdoo_base/__openerp__.py create mode 100644 beesdoo_base/models/__init__.py create mode 100644 beesdoo_base/models/partner.py create mode 100644 beesdoo_base/tools/__init__.py create mode 100644 beesdoo_base/views/partner.xml diff --git a/beesdoo_base/__init__.py b/beesdoo_base/__init__.py new file mode 100644 index 0000000..4001611 --- /dev/null +++ b/beesdoo_base/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +import models +import tools \ No newline at end of file diff --git a/beesdoo_base/__openerp__.py b/beesdoo_base/__openerp__.py new file mode 100644 index 0000000..b39b36c --- /dev/null +++ b/beesdoo_base/__openerp__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Beescoop Base Module", + + 'summary': """ + Module that customize the base module and contains some python tools + """, + + 'description': """ + """, + + 'author': "Beescoop - Cellule IT", + 'website': "https://github.com/beescoop/Obeesdoo", + + 'category': 'Project Management', + 'version': '0.1', + + 'depends': ['base'], + + 'data': [ + 'views/partner.xml', + ], +} diff --git a/beesdoo_base/models/__init__.py b/beesdoo_base/models/__init__.py new file mode 100644 index 0000000..751e194 --- /dev/null +++ b/beesdoo_base/models/__init__.py @@ -0,0 +1 @@ +import partner \ No newline at end of file diff --git a/beesdoo_base/models/partner.py b/beesdoo_base/models/partner.py new file mode 100644 index 0000000..970a34c --- /dev/null +++ b/beesdoo_base/models/partner.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api +from openerp.addons.beesdoo_base.tools import concat_names + +class Partner(models.Model): + + _inherit = 'res.partner' + + first_name = fields.Char('First Name') + last_name = fields.Char('Last Name', required=True) + + @api.onchange('first_name', 'last_name') + def _on_change_name(self): + self.name = concat_names(self.first_name, self.last_name) diff --git a/beesdoo_base/tools/__init__.py b/beesdoo_base/tools/__init__.py new file mode 100644 index 0000000..64ec8c0 --- /dev/null +++ b/beesdoo_base/tools/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +def concat_names(*args): + """ + Concatenate only args that are not empty + @param args: a list of string + """ + return ' '.join(filter(bool, args)) diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml new file mode 100644 index 0000000..12cef3f --- /dev/null +++ b/beesdoo_base/views/partner.xml @@ -0,0 +1,15 @@ + + + + beesdoo.partner.form.view + res.partner + + + + + + + + + + \ No newline at end of file From c278908d499eb3bcf4596105c6fb40dc32f08503 Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Sun, 17 Jan 2016 23:17:32 +0100 Subject: [PATCH 2/4] [ADD] Make all module depends on beesdoo_base --- beesdoo_project/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beesdoo_project/__openerp__.py b/beesdoo_project/__openerp__.py index 200eee0..c41ea4a 100644 --- a/beesdoo_project/__openerp__.py +++ b/beesdoo_project/__openerp__.py @@ -15,7 +15,7 @@ 'category': 'Project Management', 'version': '0.1', - 'depends': ['project'], + 'depends': ['project', 'beesdoo_base'], 'data': [ 'views/task.xml', From 4ed06f3549bb8a06b0fc1663ae1cdf0bcc9c64d0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 21 Jan 2016 20:41:55 +0100 Subject: [PATCH 3/4] 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 From cdc8929e5bf59927dfeab20f8ea91997d43d0ad5 Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Fri, 22 Jan 2016 23:00:58 +0100 Subject: [PATCH 4/4] [IMP] Show first_name only for individual (for company show only last_name = name) --- beesdoo_base/views/partner.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml index 12cef3f..9d1b3ff 100644 --- a/beesdoo_base/views/partner.xml +++ b/beesdoo_base/views/partner.xml @@ -7,7 +7,7 @@ - +