diff --git a/beescoop_pos/__init__.py b/beescoop_pos/__init__.py index 7b58b04..0f7cb6b 100644 --- a/beescoop_pos/__init__.py +++ b/beescoop_pos/__init__.py @@ -1,2 +1,2 @@ # -*- coding: utf-8 -*- -import beescoop_pos \ No newline at end of file +import models \ No newline at end of file diff --git a/beescoop_pos/__openerp__.py b/beescoop_pos/__openerp__.py index ffba900..791b07f 100644 --- a/beescoop_pos/__openerp__.py +++ b/beescoop_pos/__openerp__.py @@ -1,34 +1,31 @@ # -*- coding: utf-8 -*- { - 'name': "bees_member", + 'name': "Beescoop Point of sale", 'summary': """ - Module to manage bees members + Module that extends the pos for the beescoop """, 'description': """ Long description of module's purpose """, - 'author': "My Company", - 'website': "http://www.yourcompany.com", + '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': 'Uncategorized', + 'category': 'Point Of Sale', 'version': '0.1', # any module necessary for this one to work correctly - 'depends': ['point_of_sale'], + 'depends': ['point_of_sale', 'beesdoo_base'], # always loaded 'data': [ # 'security/ir.model.access.csv', - 'beescoop_pos.xml', + 'views/beescoop_pos.xml', ], # only loaded in demonstration mode - 'demo': [ - 'demo.xml', - ], } \ No newline at end of file diff --git a/beescoop_pos/beescoop_pos.py b/beescoop_pos/beescoop_pos.py deleted file mode 100644 index f6f36b2..0000000 --- a/beescoop_pos/beescoop_pos.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- - -from openerp import models, fields, api -from openerp.fields import One2many, Float, Many2one - -class BeesPOS(models.Model): - _inherit = 'pos.config' - - bill_value = One2many('bill_value', 'pos') - -class BillValue(models.Model): - _name = 'bill_value' - _order = 'name asc' - - name = fields.Float(string='Name') - pos = Many2one('pos.config') - -class BeesAccountBankStatement(models.Model): - _inherit = 'account.bank.statement.cashbox' - - def _get_default_line(self): - print "in _get_default_line", self.env.context['active_id'] - if not self.env.context.get('active_id'): - return [] - - default_lines = [] - pos_obj = self.env['pos.session'] - pos_session_rec = pos_obj.browse(self.env.context['active_id']) - for bill_value_rec in pos_session_rec.config_id.bill_value: - default_lines.append((0, 0, {'coin_value' : bill_value_rec.name})) - return default_lines - - cashbox_lines_ids = fields.One2many(default=_get_default_line) \ No newline at end of file diff --git a/beescoop_pos/beescoop_pos.xml b/beescoop_pos/beescoop_pos.xml deleted file mode 100644 index d2cef9c..0000000 --- a/beescoop_pos/beescoop_pos.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - bees.pos.config.form.view - pos.config - - - - - - - - - - - - \ No newline at end of file diff --git a/beescoop_pos/models/__init__.py b/beescoop_pos/models/__init__.py new file mode 100644 index 0000000..28b453b --- /dev/null +++ b/beescoop_pos/models/__init__.py @@ -0,0 +1 @@ +import beescoop_pos \ No newline at end of file diff --git a/beescoop_pos/models/beescoop_pos.py b/beescoop_pos/models/beescoop_pos.py new file mode 100644 index 0000000..d076c67 --- /dev/null +++ b/beescoop_pos/models/beescoop_pos.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields + +class BeesPOS(models.Model): + _inherit = 'pos.config' + + bill_value = fields.One2many('bill_value', 'pos') + +class BillValue(models.Model): + _name = 'bill_value' + _order = 'name asc' + + name = fields.Float(string='Name') + pos = fields.Many2one('pos.config') + +class BeesAccountBankStatement(models.Model): + _inherit = 'account.bank.statement.cashbox' + + def _get_default_line(self): + if not self.env.context.get('active_id'): + return [] + + pos_session_rec = self.env['pos.session'].browse(self.env.context['active_id']) + return [(0, 0, {'coin_value' : bill_value_rec.name}) for bill_value_rec in pos_session_rec.config_id.bill_value] + + cashbox_lines_ids = fields.One2many(default=_get_default_line) \ No newline at end of file diff --git a/beescoop_pos/views/beescoop_pos.xml b/beescoop_pos/views/beescoop_pos.xml new file mode 100644 index 0000000..51ecd71 --- /dev/null +++ b/beescoop_pos/views/beescoop_pos.xml @@ -0,0 +1,19 @@ + + + + bees.pos.config.form.view + pos.config + + + + + + + + + + + + + + \ No newline at end of file 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..9d1b3ff --- /dev/null +++ b/beesdoo_base/views/partner.xml @@ -0,0 +1,15 @@ + + + + beesdoo.partner.form.view + res.partner + + + + + + + + + + \ No newline at end of file diff --git a/beesdoo_product/__init__.py b/beesdoo_product/__init__.py new file mode 100644 index 0000000..0f7cb6b --- /dev/null +++ b/beesdoo_product/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +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..bc1c3ea --- /dev/null +++ b/beesdoo_product/__openerp__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +{ + 'name': "beesdoo_product", + + 'summary': """ + Modification of product module for the needs of beescoop + - SOOO5 - Ajout de label bio/ethique/provenance""", + + 'description': """ + + """, + + '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': 'Sales Management', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': ['beesdoo_base', 'product'], + + # always loaded + 'data': [ + 'data/product_label.xml', + 'views/beesdoo_product.xml', + 'security/ir.model.access.csv', + ], + # only loaded in demonstration mode + 'demo': [], +} \ No newline at end of file diff --git a/beesdoo_product/data/product_label.xml b/beesdoo_product/data/product_label.xml new file mode 100644 index 0000000..20b123a --- /dev/null +++ b/beesdoo_product/data/product_label.xml @@ -0,0 +1,65 @@ + + + + + Label Bio ou Confiance + eco + #40ff00 + + + Agriculture raisonnée + eco + #ffa200 + + + Conventionnel + eco + #ff4000 + + + Belgique + local + #40ff00 + + + Europe + local + #ffa200 + + + Monde + local + #ff4000 + + + Label par tiers + fair + #40ff00 + + + Préserve l’intérêt + fair + #ffa200 + + + Aucune garantie + fair + #ff4000 + + + Intermédiaire coopératif + delivery + #40ff00 + + + Grossiste biologique + delivery + #ffa200 + + + Grossiste industriel + delivery + #ff4000 + + + 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..ad95630 --- /dev/null +++ b/beesdoo_product/models/beesdoo_product.py @@ -0,0 +1,18 @@ + # -*- 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_code = fields.Char() + diff --git a/beesdoo_product/security/ir.model.access.csv b/beesdoo_product/security/ir.model.access.csv new file mode 100644 index 0000000..b68d1b1 --- /dev/null +++ b/beesdoo_product/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +beesdoo_product_label_read_all,beesdoo.product.label Read All,model_beesdoo_product_label,,1,0,0,0 +beesdoo_product_label_all_access_sale_manager,beesdoo.product.label All Access Sale Manager,model_beesdoo_product_label,base.group_sale_manager,1,1,1,1 diff --git a/beesdoo_product/views/beesdoo_product.xml b/beesdoo_product/views/beesdoo_product.xml new file mode 100644 index 0000000..21b329b --- /dev/null +++ b/beesdoo_product/views/beesdoo_product.xml @@ -0,0 +1,30 @@ + + + + bees.product.template.form + product.template + + + + + + + + + + + + + bees.product.label.form + beesdoo.product.label + +
+ + + + + +
+
+
+
\ No newline at end of file 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',