diff options
| author | William Henrotin <whe@odoo.com> | 2018-02-15 13:45:08 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2018-05-28 14:43:06 +0200 |
| commit | c9735c75d61e6792ae32d64a35122dc4664f7cf4 (patch) | |
| tree | bd49015fe27ff94e40cfd5f4f95ede93fb02dbc3 /odoo/addons/base/tests/test_base.py | |
| parent | d9c035ae428cb8f57e2bb570aa23c41d6ae00bd4 (diff) | |
[IMP] base: prevent to archive users linked to active partners.
An active user could not see messages in its inbox if his partner is
archived. With this commit, we cannot archiving a partner linked to an
active user anymore.
In the opposite way:
-if we deactivate a user, warning message is given saying the related
partner will stay active. A link to the related partner is also given
if we really need to archive it;
-if we activate a user, the related partner will be set as active;
This commit is linked to task ID 46158. Closes #24628.
Diffstat (limited to 'odoo/addons/base/tests/test_base.py')
| -rw-r--r-- | odoo/addons/base/tests/test_base.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/odoo/addons/base/tests/test_base.py b/odoo/addons/base/tests/test_base.py index 5b8955828c0..69b9bbdeb8f 100644 --- a/odoo/addons/base/tests/test_base.py +++ b/odoo/addons/base/tests/test_base.py @@ -396,6 +396,27 @@ class TestBase(TransactionCase): self.assertEqual([2, 4], [g['title_count'] for g in groups_data], 'Incorrect number of results') self.assertEqual([-1, 10], [g['color'] for g in groups_data], 'Incorrect aggregation of int column') + def test_70_archive_internal_partners(self): + test_partner = self.env['res.partner'].create({'name':'test partner'}) + test_user = self.env['res.users'].create({ + 'login': 'test@odoo.com', + 'partner_id': test_partner.id, + }) + # Cannot archive the partner + with self.assertRaises(ValidationError): + test_partner.toggle_active() + + # Can archive the user but the partner stays active + test_user.toggle_active() + self.assertTrue(test_partner.active, 'Parter related to user should remain active') + + # Now we can archive the partner + test_partner.toggle_active() + + # Activate the user should reactivate the partner + test_user.toggle_active() + self.assertTrue(test_partner.active, 'Activating user must active related partner') + class TestPartnerRecursion(TransactionCase): |
