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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {'invisible' : [('eater', '!=', 'worker_eater')]}
-
-
-
-
-
-
+
+ beesdoo.partner.form.view
+ res.partner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {'invisible' : [('eater', '!=',
+ 'worker_eater')]}
+
+
+
+
+
+
+
+
- { '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 @@
-
+