mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[12.0][MIG] base_user_role_history - migration from 9.0 to 12.0
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright 2019 ACSONE SA/NV
|
# Copyright 2019 ACSONE SA/NV
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
@@ -6,7 +5,7 @@
|
|||||||
'name': 'Base User Role History',
|
'name': 'Base User Role History',
|
||||||
'summary': """
|
'summary': """
|
||||||
This module allows to track the changes on users roles.""",
|
This module allows to track the changes on users roles.""",
|
||||||
'version': '9.0.1.0.0',
|
'version': '12.0.1.0.0',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'author': 'ACSONE SA/NV, '
|
'author': 'ACSONE SA/NV, '
|
||||||
'Odoo Community Association (OCA)',
|
'Odoo Community Association (OCA)',
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright 2019 ACSONE SA/NV
|
# Copyright 2019 ACSONE SA/NV
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
from openerp import api, fields, models
|
from odoo import api, fields, models
|
||||||
|
|
||||||
|
|
||||||
class BaseUserRoleLineHistory(models.Model):
|
class BaseUserRoleLineHistory(models.Model):
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright 2019 ACSONE SA/NV
|
# Copyright 2019 ACSONE SA/NV
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
from openerp import api, fields, models, _
|
from odoo import api, fields, models, _
|
||||||
|
|
||||||
|
|
||||||
class ResUsers(models.Model):
|
class ResUsers(models.Model):
|
||||||
@@ -18,8 +17,8 @@ class ResUsers(models.Model):
|
|||||||
return {
|
return {
|
||||||
'user_id': role_line.user_id.id,
|
'user_id': role_line.user_id.id,
|
||||||
'role_id': role_line.role_id.id,
|
'role_id': role_line.role_id.id,
|
||||||
'date_from': fields.Date.from_string(role_line.date_from),
|
'date_from': role_line.date_from,
|
||||||
'date_to': fields.Date.from_string(role_line.date_to),
|
'date_to': role_line.date_to,
|
||||||
'is_enabled': role_line.is_enabled,
|
'is_enabled': role_line.is_enabled,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,9 +32,10 @@ class ResUsers(models.Model):
|
|||||||
self._prepare_role_line_history_dict(role_line)
|
self._prepare_role_line_history_dict(role_line)
|
||||||
return role_line_values_by_user
|
return role_line_values_by_user
|
||||||
|
|
||||||
@api.model
|
@api.model_create_multi
|
||||||
def create(self, vals):
|
def create(self, vals_list):
|
||||||
res = super(ResUsers, self).create(vals)
|
res = super().create(vals_list)
|
||||||
|
for vals in vals_list:
|
||||||
if 'role_line_ids' not in vals:
|
if 'role_line_ids' not in vals:
|
||||||
return res
|
return res
|
||||||
new_role_line_values_by_user = res._get_role_line_values_by_user()
|
new_role_line_values_by_user = res._get_role_line_values_by_user()
|
||||||
@@ -49,9 +49,9 @@ class ResUsers(models.Model):
|
|||||||
@api.multi
|
@api.multi
|
||||||
def write(self, vals):
|
def write(self, vals):
|
||||||
if 'role_line_ids' not in vals:
|
if 'role_line_ids' not in vals:
|
||||||
return super(ResUsers, self).write(vals)
|
return super().write(vals)
|
||||||
old_role_line_values_by_user = self._get_role_line_values_by_user()
|
old_role_line_values_by_user = self._get_role_line_values_by_user()
|
||||||
res = super(ResUsers, self).write(vals)
|
res = super().write(vals)
|
||||||
new_role_line_values_by_user = self._get_role_line_values_by_user()
|
new_role_line_values_by_user = self._get_role_line_values_by_user()
|
||||||
self.env['base.user.role.line.history'].create_from_vals(
|
self.env['base.user.role.line.history'].create_from_vals(
|
||||||
old_role_line_values_by_user,
|
old_role_line_values_by_user,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright 2019 ACSONE SA/NV
|
# Copyright 2019 ACSONE SA/NV
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).µ
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).µ
|
||||||
|
|
||||||
from datetime import date, timedelta
|
from datetime import date, timedelta
|
||||||
|
|
||||||
from openerp import fields
|
from odoo.tests.common import SavepointCase
|
||||||
from openerp.tests.common import SavepointCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestBaseUserRoleHistory(SavepointCase):
|
class TestBaseUserRoleHistory(SavepointCase):
|
||||||
@@ -83,12 +81,12 @@ class TestBaseUserRoleHistory(SavepointCase):
|
|||||||
self.assertEqual(history_lines_2.old_role_id, self.role_01)
|
self.assertEqual(history_lines_2.old_role_id, self.role_01)
|
||||||
self.assertEqual(history_lines_2.new_role_id, self.role_01)
|
self.assertEqual(history_lines_2.new_role_id, self.role_01)
|
||||||
self.assertFalse(history_lines_2.old_date_from)
|
self.assertFalse(history_lines_2.old_date_from)
|
||||||
self.assertEqual(history_lines_2.new_date_from,
|
self.assertEqual(history_lines_2.new_date_from, date.today())
|
||||||
fields.Date.to_string(date.today()))
|
|
||||||
self.assertFalse(history_lines_2.old_date_to)
|
self.assertFalse(history_lines_2.old_date_to)
|
||||||
self.assertEqual(history_lines_2.new_date_to,
|
self.assertEqual(
|
||||||
fields.Date.to_string(
|
history_lines_2.new_date_to,
|
||||||
date.today() + timedelta(days=5)))
|
date.today() + timedelta(days=5)
|
||||||
|
)
|
||||||
self.user_01.write({
|
self.user_01.write({
|
||||||
'role_line_ids': [(1, self.user_01.role_line_ids[0].id, {})]
|
'role_line_ids': [(1, self.user_01.role_line_ids[0].id, {})]
|
||||||
})
|
})
|
||||||
@@ -110,12 +108,15 @@ class TestBaseUserRoleHistory(SavepointCase):
|
|||||||
self.assertEqual(history_lines_4.performed_action, 'unlink')
|
self.assertEqual(history_lines_4.performed_action, 'unlink')
|
||||||
self.assertEqual(history_lines_4.old_role_id, self.role_01)
|
self.assertEqual(history_lines_4.old_role_id, self.role_01)
|
||||||
self.assertFalse(history_lines_4.new_role_id)
|
self.assertFalse(history_lines_4.new_role_id)
|
||||||
self.assertEqual(history_lines_4.old_date_from,
|
self.assertEqual(
|
||||||
fields.Date.to_string(date.today()))
|
history_lines_4.old_date_from,
|
||||||
|
date.today()
|
||||||
|
)
|
||||||
self.assertFalse(history_lines_4.new_date_from)
|
self.assertFalse(history_lines_4.new_date_from)
|
||||||
self.assertEqual(history_lines_4.old_date_to,
|
self.assertEqual(
|
||||||
fields.Date.to_string(
|
history_lines_4.old_date_to,
|
||||||
date.today() + timedelta(days=5)))
|
date.today() + timedelta(days=5)
|
||||||
|
)
|
||||||
self.assertFalse(history_lines_4.new_date_to)
|
self.assertFalse(history_lines_4.new_date_to)
|
||||||
|
|
||||||
def test_create_role_lines_on_new_user(self):
|
def test_create_role_lines_on_new_user(self):
|
||||||
|
|||||||
6
setup/base_user_role_history/.eggs/README.txt
Normal file
6
setup/base_user_role_history/.eggs/README.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
This directory contains eggs that were downloaded by setuptools to build, test, and run plug-ins.
|
||||||
|
|
||||||
|
This directory caches those eggs to prevent repeated downloads.
|
||||||
|
|
||||||
|
However, it is safe to delete this directory.
|
||||||
|
|
||||||
1
setup/base_user_role_history/odoo/addons/base_user_role_history
Symbolic link
1
setup/base_user_role_history/odoo/addons/base_user_role_history
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../../base_user_role_history
|
||||||
6
setup/base_user_role_history/setup.py
Normal file
6
setup/base_user_role_history/setup.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import setuptools
|
||||||
|
|
||||||
|
setuptools.setup(
|
||||||
|
setup_requires=['setuptools-odoo'],
|
||||||
|
odoo_addon=True,
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user