diff --git a/beesdoo_base/__openerp__.py b/beesdoo_base/__openerp__.py
index ed2e67f..6a7cd04 100644
--- a/beesdoo_base/__openerp__.py
+++ b/beesdoo_base/__openerp__.py
@@ -22,5 +22,6 @@
'security/ir.model.access.csv',
'views/partner.xml',
'wizard/views/member_card.xml',
+ 'wizard/views/partner.xml'
],
}
diff --git a/beesdoo_base/models/partner.py b/beesdoo_base/models/partner.py
index 114fd40..1169401 100644
--- a/beesdoo_base/models/partner.py
+++ b/beesdoo_base/models/partner.py
@@ -45,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:
@@ -75,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..3bcaaec 100644
--- a/beesdoo_base/views/partner.xml
+++ b/beesdoo_base/views/partner.xml
@@ -1,72 +1,86 @@
-
- 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/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 @@
-
+