diff --git a/beesdoo_base/__openerp__.py b/beesdoo_base/__openerp__.py index ed2e67f..752c422 100644 --- a/beesdoo_base/__openerp__.py +++ b/beesdoo_base/__openerp__.py @@ -22,5 +22,7 @@ 'security/ir.model.access.csv', 'views/partner.xml', 'wizard/views/member_card.xml', + 'wizard/views/partner.xml', + 'data/default_contact.xml', ], } diff --git a/beesdoo_base/data/default_contact.xml b/beesdoo_base/data/default_contact.xml new file mode 100644 index 0000000..2c7abdc --- /dev/null +++ b/beesdoo_base/data/default_contact.xml @@ -0,0 +1,10 @@ + + + + + commande@bees-coop.be + commande@bees-coop.be + True + + + \ No newline at end of file diff --git a/beesdoo_base/models/partner.py b/beesdoo_base/models/partner.py index 58b77b8..1169401 100644 --- a/beesdoo_base/models/partner.py +++ b/beesdoo_base/models/partner.py @@ -16,6 +16,7 @@ class Partner(models.Model): barcode = fields.Char(compute="_get_bar_code", string='Barcode', store=True) parent_barcode = fields.Char(compute="_get_bar_code", string='Parent Barcode', store=True) member_card_ids = fields.One2many('member.card', 'partner_id') + country_id = fields.Many2one(required=True, default=lambda self: self.env.ref('base.be')) member_card_to_be_printed = fields.Boolean('Print BEES card?') last_printed = fields.Datetime('Last printed on') @@ -44,7 +45,7 @@ class Partner(models.Model): def write(self, values): if values.get('parent_eater_id') and self.parent_eater_id: raise ValidationError(_('You try to assign a eater to a worker but this easer is alread assign to %s please remove it before') % self.parent_eater_id.name) - #replace many2many command when writing on child_eater_ids to just remove the link + # replace many2many command when writing on child_eater_ids to just remove the link if 'child_eater_ids' in values: for command in values['child_eater_ids']: if command[0] == 2: @@ -74,4 +75,17 @@ class Partner(models.Model): cr.execute("UPDATE res_partner set last_name = name where last_name IS NULL") return res - + @api.multi + def _new_eater(self, surname, name, email): + partner_data = { + 'name' : surname + " "+ name, + 'last_name' : name, + 'first_name' : surname, + 'is_customer' : True, + 'eater' : 'eater', + 'parent_eater_id' : self.id, + 'parent_id' : self.id, + 'email' : email, + 'country_id' : self.country_id.id + } + return self.env['res.partner'].create(partner_data) \ No newline at end of file diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml index ad59c1c..ea75ce2 100644 --- a/beesdoo_base/views/partner.xml +++ b/beesdoo_base/views/partner.xml @@ -1,72 +1,89 @@ - - New Member Card - membercard.new.wizard - form - new - + + New Member Card + membercard.new.wizard + form + new + + + + New Eater + eater.new.wizard + form + new + - - beesdoo.partner.form.view - res.partner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - { 'search_default_supplier': 1, - 'default_customer': 0, - 'default_supplier': 1, - 'default_is_company' : True, - 'default_company_type' : 'company', } + { + 'search_default_supplier': 1, + 'default_customer': 0, + 'default_supplier': 1, + 'default_is_company' : True, + 'default_company_type' : 'company', + } diff --git a/beesdoo_base/wizard/__init__.py b/beesdoo_base/wizard/__init__.py index e3dd1fd..ed4a740 100644 --- a/beesdoo_base/wizard/__init__.py +++ b/beesdoo_base/wizard/__init__.py @@ -1,2 +1,2 @@ -import member_card +import member_card, partner diff --git a/beesdoo_base/wizard/member_card.py b/beesdoo_base/wizard/member_card.py index 5f6a2af..ff72910 100644 --- a/beesdoo_base/wizard/member_card.py +++ b/beesdoo_base/wizard/member_card.py @@ -21,7 +21,7 @@ class NewMemberCardWizard(models.TransientModel): client = self.partner_id.sudo() client._deactivate_active_cards() client._new_card(self.new_comment, self.env.uid, barcode=self.force_barcode) - + client.member_card_to_be_printed = True class RequestMemberCardPrintingWizard(models.TransientModel): diff --git a/beesdoo_base/wizard/partner.py b/beesdoo_base/wizard/partner.py new file mode 100644 index 0000000..c04ab93 --- /dev/null +++ b/beesdoo_base/wizard/partner.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api + +class NewEaterWizard(models.TransientModel): + """ + A transient model for the creation of a eater related to a worker. + """ + _name = 'eater.new.wizard' + + def _get_default_partner(self): + return self.env.context['active_id'] + + first_name = fields.Char('First Name', required=True) + last_name = fields.Char('Last Name', required=True) + email = fields.Char('Email') + + partner_id = fields.Many2one('res.partner', default=_get_default_partner) + + @api.one + def create_new_eater(self): + self.partner_id._new_eater(self.first_name, self.last_name, self.email) diff --git a/beesdoo_base/wizard/views/member_card.xml b/beesdoo_base/wizard/views/member_card.xml index e57ecdd..4a17f00 100644 --- a/beesdoo_base/wizard/views/member_card.xml +++ b/beesdoo_base/wizard/views/member_card.xml @@ -10,7 +10,7 @@ - + + + + + \ No newline at end of file diff --git a/beesdoo_purchase/models/__init__.py b/beesdoo_purchase/models/__init__.py index 633f866..769ed40 100644 --- a/beesdoo_purchase/models/__init__.py +++ b/beesdoo_purchase/models/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- - +import purchase diff --git a/beesdoo_purchase/models/purchase.py b/beesdoo_purchase/models/purchase.py new file mode 100644 index 0000000..5060dae --- /dev/null +++ b/beesdoo_purchase/models/purchase.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from openerp import models, api + +class PurchaseOrder(models.Model): + _inherit = 'purchase.order' + + @api.model + def create(self, vals): + purchase_order = super(PurchaseOrder, self).create(vals) + command_contact = self.env.ref('beesdoo_base.commande_beescoop', raise_if_not_found=False) + # We do not need to update sale_order.mail_followers_ids, the link is automatic ?! + if command_contact: + self.env['mail.followers'].create({'res_model' : 'purchase.order', 'res_id' : purchase_order.id, 'partner_id' : command_contact.id}) + return purchase_order \ No newline at end of file diff --git a/import_odoo/__openerp__.py b/import_odoo/__openerp__.py index 18fc142..848b199 100644 --- a/import_odoo/__openerp__.py +++ b/import_odoo/__openerp__.py @@ -31,7 +31,8 @@ 'website': 'https://github.com/tfrancoi/', 'depends': ['base', 'import_base'], 'data': [ - 'view/connector.xml' + 'view/connector.xml', + 'security/ir.model.access.csv', ], 'test': [], #TODO provide test 'installable': True, diff --git a/import_odoo/security/ir.model.access.csv b/import_odoo/security/ir.model.access.csv new file mode 100644 index 0000000..d03f107 --- /dev/null +++ b/import_odoo/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_import_odoo_connection,access_import_odoo_connection,model_import_odoo_connection,,1,0,0,0 diff --git a/requirement.txt b/requirement.txt new file mode 100644 index 0000000..b21b2ee --- /dev/null +++ b/requirement.txt @@ -0,0 +1,2 @@ +pycoda +openerp-client-lib