Skip to content

Commit 644e60f

Browse files
committed
[MIG] hr_dms_field: Migration to 18.0
TT55524
1 parent 72a443f commit 644e60f

File tree

8 files changed

+32
-36
lines changed

8 files changed

+32
-36
lines changed

hr_dms_field/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33
{
44
"name": "Add dms field for employees",
5-
"version": "16.0.1.1.0",
5+
"version": "18.0.1.0.0",
66
"category": "Human Resources",
77
"website": "https://github.com/OCA/dms",
88
"author": "Tecnativa, Odoo Community Association (OCA)",

hr_dms_field/demo/dms_data.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,9 @@
1313
<field name="model_id" ref="hr.model_hr_employee" />
1414
<field name="user_field_id" ref="hr.field_hr_employee__user_id" />
1515
<field name="group_ids" eval="[(4, ref('read_access_hr_employee_group'))]" />
16+
<!-- We need to define a different directory name because the existing partner
17+
template will have caused a partner with the same name to be created when the
18+
employee was created. !-->
19+
<field name="directory_format_name">{{object.display_name}} (employee)</field>
1620
</record>
1721
</odoo>

hr_dms_field/i18n/es.po

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,3 @@ msgstr "Empleado Público"
6767
#: model:ir.model.fields,field_description:hr_dms_field.field_res_config_settings__group_hr_public_dms
6868
msgid "Show DMS Documents to logged employees"
6969
msgstr "Mostrar documentos DMS a las empleados logeados"
70-
71-
#~ msgid "Dms Field Template"
72-
#~ msgstr "Plantilla de Campo Dms"

hr_dms_field/i18n/it.po

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,3 @@ msgstr "Dipendente pubblico"
6666
#: model:ir.model.fields,field_description:hr_dms_field.field_res_config_settings__group_hr_public_dms
6767
msgid "Show DMS Documents to logged employees"
6868
msgstr "Mostra i documenti DMS ai dipendenti collegati"
69-
70-
#~ msgid "Dms Field Template"
71-
#~ msgstr "Modello campo DMS"
Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
/** @odoo-module **/
2-
3-
import {DMSListControllerObject} from "@dms_field/views/dms_list/dms_list_controller.esm";
1+
import {DmsListController} from "@dms_field/views/dms_list/dms_list_controller.esm";
2+
import {X2ManyField} from "@web/views/fields/x2many/x2many_field";
43
import {patch} from "@web/core/utils/patch";
54

6-
patch(DMSListControllerObject, "hr_dms_field.DMSListControllerObject", {
7-
// A basic user does not have access to hr.employee, only to hr.employee.public
8-
// (Employee Directory), we have to get the data from hr.employee because that
9-
// is where it is actually linked.
10-
sanitizeDMSModel: function (model) {
11-
if (model === "hr.employee.public") {
12-
return "hr.employee";
13-
}
14-
return this._super(...arguments);
15-
},
16-
});
5+
function getSanitizeDMSModel() {
6+
return {
7+
// A basic user does not have access to hr.employee, only to hr.employee.public
8+
// (Employee Directory), we have to get the data from hr.employee because that
9+
// is where it is actually linked.
10+
sanitizeDMSModel(model) {
11+
if (model === "hr.employee.public") {
12+
return "hr.employee";
13+
}
14+
return super.sanitizeDMSModel(...arguments);
15+
},
16+
};
17+
}
18+
19+
patch(DmsListController.prototype, getSanitizeDMSModel());
20+
patch(X2ManyField.prototype, getSanitizeDMSModel());

hr_dms_field/tests/test_hr_dms_field.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Copyright 2024 Tecnativa - Víctor Martínez
1+
# Copyright 2024-2025 Tecnativa - Víctor Martínez
22
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
3-
3+
from odoo import Command
44
from odoo.tests import new_test_user
55
from odoo.tools import mute_logger
66

@@ -70,8 +70,8 @@ def test_employee_write_custom(self):
7070
)
7171
read_access_hr_employee_group.write(
7272
{
73-
"group_ids": [(5, 0)],
74-
"explicit_user_ids": [(6, 0, self.env.ref("base.user_admin").ids)],
73+
"group_ids": [Command.set([])],
74+
"explicit_user_ids": [Command.set(self.env.ref("base.user_admin").ids)],
7575
}
7676
)
7777
employee = self.employee_model.create({"name": "Test employee"})
@@ -84,6 +84,7 @@ def test_employee_write_custom(self):
8484
# Use the demo user to modify the employee and link the user, it does not
8585
# have access to the directory.
8686
demo = self.env.ref("base.user_demo")
87+
demo.write({"groups_id": [Command.link(self.env.ref("hr.group_hr_user").id)]})
8788
employee = employee.with_user(demo)
8889
employee.invalidate_recordset()
8990
employee.write({"user_id": self.user.id})

hr_dms_field/views/hr_employee_view.xml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@
66
<field name="inherit_id" ref="hr.view_employee_form" />
77
<field name="arch" type="xml">
88
<notebook position="inside">
9-
<page
10-
name="dms"
11-
string="Documents"
12-
attrs="{'invisible': [('id', '=', False)]}"
13-
>
9+
<page name="dms" string="Documents" invisible="not id">
1410
<field name="dms_directory_ids" mode="dms_list" />
1511
</page>
1612
</notebook>
@@ -33,7 +29,7 @@
3329
<page
3430
name="dms"
3531
string="Documents"
36-
attrs="{'invisible': [('is_logged', '=', False)]}"
32+
invisible="not is_logged"
3733
groups="hr_dms_field.group_hr_public_dms"
3834
>
3935
<field name="dms_directory_ids" mode="dms_list" />

hr_dms_field/views/res_config_settings_view.xml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
<field name="priority" eval="70" />
77
<field name="inherit_id" ref="hr.res_config_settings_view_form" />
88
<field name="arch" type="xml">
9-
<xpath
10-
expr="//div[@name='employee_rights_setting_container']"
11-
position="inside"
12-
>
9+
<block name="employee_rights_setting_container" position="inside">
1310
<div
1411
class="col-12 col-lg-6 o_setting_box"
1512
title="Allow employees to access their DMS Documents."
@@ -24,7 +21,7 @@
2421
</div>
2522
</div>
2623
</div>
27-
</xpath>
24+
</block>
2825
</field>
2926
</record>
3027
</odoo>

0 commit comments

Comments
 (0)