diff --git a/beesdoo_base/__openerp__.py b/beesdoo_base/__openerp__.py
index 6101c91..c070008 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 baf19b1..5b22307 100644
--- a/beesdoo_base/models/partner.py
+++ b/beesdoo_base/models/partner.py
@@ -44,7 +44,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 +74,15 @@ 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, name, surname, email):
+ partner_data = {
+ 'name' : name,
+ 'surname' : surname,
+ 'is_customer' : True,
+ 'eater' : 'eater',
+ 'parent_eater_id' : self.id,
+ 'email' : email
+ }
+ self.env['res.partner'].create(partner_data)
+
diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml
index 0a01e83..9aa98d2 100644
--- a/beesdoo_base/views/partner.xml
+++ b/beesdoo_base/views/partner.xml
@@ -1,72 +1,85 @@
-
- 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', }
+ '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 47d010f..5f6a2af 100644
--- a/beesdoo_base/wizard/member_card.py
+++ b/beesdoo_base/wizard/member_card.py
@@ -12,7 +12,7 @@ class NewMemberCardWizard(models.TransientModel):
def _get_default_partner(self):
return self.env.context['active_id']
- new_comment = fields.Text('Reason', required=True)
+ new_comment = fields.Char('Reason', required=True)
partner_id = fields.Many2one('res.partner', default=_get_default_partner)
force_barcode = fields.Char('Force Barcode', groups="beesdoo_base.group_force_barcode")
diff --git a/beesdoo_base/wizard/partner.py b/beesdoo_base/wizard/partner.py
new file mode 100644
index 0000000..317ebd6
--- /dev/null
+++ b/beesdoo_base/wizard/partner.py
@@ -0,0 +1,22 @@
+# -*- 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):
+ client = self.partner_id.sudo()
+ client._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 b52ce87..4a17f00 100644
--- a/beesdoo_base/wizard/views/member_card.xml
+++ b/beesdoo_base/wizard/views/member_card.xml
@@ -10,12 +10,12 @@
-
+
diff --git a/beesdoo_base/wizard/views/partner.xml b/beesdoo_base/wizard/views/partner.xml
new file mode 100644
index 0000000..bae9c33
--- /dev/null
+++ b/beesdoo_base/wizard/views/partner.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ New Eater Wizard
+ eater.new.wizard
+
+
+
+
+
\ No newline at end of file