diff --git a/beesdoo_easy_my_coop/__manifest__.py b/beesdoo_easy_my_coop/__manifest__.py
index c3e3ad4..949c8a1 100644
--- a/beesdoo_easy_my_coop/__manifest__.py
+++ b/beesdoo_easy_my_coop/__manifest__.py
@@ -26,7 +26,8 @@
'views/res_company.xml',
'views/subscription_request.xml',
'views/subscription_templates.xml',
- 'views/product.xml'
+ 'views/product.xml',
+ 'views/res_partner.xml'
],
'demo': [
'demo/product_share.xml',
diff --git a/beesdoo_easy_my_coop/models/res_partner.py b/beesdoo_easy_my_coop/models/res_partner.py
index de69114..4644e3a 100644
--- a/beesdoo_easy_my_coop/models/res_partner.py
+++ b/beesdoo_easy_my_coop/models/res_partner.py
@@ -12,12 +12,6 @@ class Partner(models.Model):
string="Confirmed presence to info session",
default=False,
)
- is_worker = fields.Boolean(
- compute="_is_worker",
- search="_search_worker",
- readonly=True,
- related=""
- )
def _cooperator_share_type(self):
"""
@@ -33,12 +27,9 @@ class Partner(models.Model):
return share_type
@api.depends(
- 'share_ids',
- 'share_ids.share_product_id',
- 'share_ids.share_product_id.default_code',
- 'share_ids.share_number',
+ "cooperator_type"
)
- def _is_worker(self):
+ def _compute_is_worker(self):
"""
Return True if the partner can participate tho the shift system.
This is defined on the share type.
@@ -47,13 +38,8 @@ class Partner(models.Model):
share_type = rec._cooperator_share_type()
if share_type:
rec.is_worker = share_type.allow_working
- rec.worker_store = share_type.allow_working
else:
rec.is_worker = False
- rec.worker_store = False
-
- def _search_worker(self, operator, value):
- return [('worker_store', operator, value)]
@api.depends(
"cooperative_status_ids",
diff --git a/beesdoo_easy_my_coop/tests/test_res_partner.py b/beesdoo_easy_my_coop/tests/test_res_partner.py
index 742c487..a4603fd 100644
--- a/beesdoo_easy_my_coop/tests/test_res_partner.py
+++ b/beesdoo_easy_my_coop/tests/test_res_partner.py
@@ -143,7 +143,7 @@ class TestResPartner(TransactionCase):
"beesdoo_base.res_partner_cooperator_1_demo"
)
# Run computed field
- coop1._is_worker()
+ coop1._compute_is_worker()
self.assertEqual(coop1.is_worker, True)
def test_is_worker_share_b(self):
@@ -154,7 +154,7 @@ class TestResPartner(TransactionCase):
"beesdoo_base.res_partner_cooperator_2_demo"
)
# Run computed field
- coop2._is_worker()
+ coop2._compute_is_worker()
self.assertEqual(coop2.is_worker, False)
def test_search_worker(self):
@@ -169,8 +169,8 @@ class TestResPartner(TransactionCase):
"beesdoo_base.res_partner_cooperator_2_demo"
)
# Run computed field
- coop1._is_worker()
- coop2._is_worker()
+ coop1._compute_is_worker()
+ coop2._compute_is_worker()
workers = self.env["res.partner"].search([("is_worker", "=", True)])
self.assertIn(coop1, workers)
self.assertNotIn(coop2, workers)
diff --git a/beesdoo_easy_my_coop/views/res_partner.xml b/beesdoo_easy_my_coop/views/res_partner.xml
new file mode 100644
index 0000000..a8ccbd7
--- /dev/null
+++ b/beesdoo_easy_my_coop/views/res_partner.xml
@@ -0,0 +1,16 @@
+
+
+ Partner Super Coop
+ res.partner
+
+ 50
+
+
+ 1
+
+
+ 0
+
+
+
+
diff --git a/beesdoo_shift/models/res_partner.py b/beesdoo_shift/models/res_partner.py
index 7cefcbe..cdee22a 100644
--- a/beesdoo_shift/models/res_partner.py
+++ b/beesdoo_shift/models/res_partner.py
@@ -13,7 +13,7 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
worker_store = fields.Boolean(default=False)
- is_worker = fields.Boolean(related="worker_store", string="Worker", readonly=False)
+ is_worker = fields.Boolean(string="Worker", compute="_compute_is_worker", store=True)
can_shop = fields.Boolean(string="Is worker allowed to shop?", compute="_compute_can_shop", store=True)
cooperative_status_ids = fields.One2many('cooperative.status', 'cooperator_id', readonly=True)
super = fields.Boolean(related='cooperative_status_ids.super', string="Super Cooperative", readonly=True, store=True)
@@ -25,6 +25,11 @@ class ResPartner(models.Model):
extension_start_time = fields.Date(related='cooperative_status_ids.extension_start_time', string="Extension Start Day", readonly=True, store=True)
subscribed_shift_ids = fields.Many2many('beesdoo.shift.template')
+ @api.depends("worker_store")
+ def _compute_is_worker(self):
+ for rec in self:
+ rec.is_worker = rec.worker_store
+
@api.depends("cooperative_status_ids")
def _compute_can_shop(self):
"""
diff --git a/beesdoo_shift/views/cooperative_status.xml b/beesdoo_shift/views/cooperative_status.xml
index aea4327..5bc97cc 100644
--- a/beesdoo_shift/views/cooperative_status.xml
+++ b/beesdoo_shift/views/cooperative_status.xml
@@ -37,7 +37,8 @@
-
+
+
diff --git a/macavrac_base/models/res_partner.py b/macavrac_base/models/res_partner.py
index 0c5e4e2..9e5dd42 100644
--- a/macavrac_base/models/res_partner.py
+++ b/macavrac_base/models/res_partner.py
@@ -28,7 +28,7 @@ class Partner(models.Model):
comment_request = fields.Char(string="Commentaire")
email_sent = fields.Boolean(string="Email envoyé")
- is_worker = fields.Boolean(compute="_compute_is_worker", search="_search_is_worker", string="is Worker", readonly=True, related="")
+ is_worker = fields.Boolean(compute="_compute_is_worker", string="is Worker", readonly=True, store=True)
@api.depends('share_qty')
@@ -41,9 +41,3 @@ class Partner(models.Model):
def _compute_is_worker(self):
for rec in self:
rec.is_worker = rec.cooperator_type == 'share_b'
-
- def _search_is_worker(self, operator, value):
- if (operator == '=' and value) or (operator == '!=' and not value):
- return [('cooperator_type', '=', 'share_b')]
- else:
- return [('cooperator_type', '!=', 'share_b')]