From a055b9c20efc719d9a3c2e89a0ebbcd52a85d5a0 Mon Sep 17 00:00:00 2001 From: "Xavier Bol (xbo)" Date: Thu, 12 Oct 2023 15:10:03 +0200 Subject: [PATCH] [MOV] hr_org_chart,web_hierarchy: move hierarchy view in its own module This commit moves the generic code of hierarchy view into new module called `web_hierarchy` to be able to use it outside the hr scope. task-3376776 --- addons/hr_org_chart/__manifest__.py | 8 ++--- addons/hr_org_chart/models/__init__.py | 3 -- .../hr_employee_hierarchy_renderer.js | 2 +- .../hr_employee_hierarchy_renderer.xml | 2 +- .../hr_employee_hierarchy_view.js | 2 +- addons/web_hierarchy/__init__.py | 3 ++ addons/web_hierarchy/__manifest__.py | 29 +++++++++++++++++++ addons/web_hierarchy/models/__init__.py | 5 ++++ .../models/ir_actions.py | 0 .../models/ir_ui_view.py | 0 .../models/models.py | 0 .../static/src}/hierarchy.variables.dark.scss | 0 .../static/src}/hierarchy.variables.scss | 0 .../static/src}/hierarchy_arch_parser.js | 0 .../static/src}/hierarchy_card.js | 2 +- .../static/src}/hierarchy_card.scss | 0 .../static/src}/hierarchy_card.xml | 2 +- .../static/src}/hierarchy_compiler.js | 0 .../static/src}/hierarchy_controller.js | 2 +- .../static/src}/hierarchy_controller.xml | 4 +-- .../static/src}/hierarchy_model.js | 0 .../static/src}/hierarchy_node_draggable.js | 0 .../static/src}/hierarchy_renderer.js | 4 +-- .../static/src}/hierarchy_renderer.scss | 0 .../static/src}/hierarchy_renderer.xml | 2 +- .../static/src}/hierarchy_view.js | 2 +- .../static/src}/hierarchy_view.scss | 0 .../static/tests}/hierarchy_view_tests.js | 0 .../static/tests}/mock_server.js | 0 29 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 addons/web_hierarchy/__init__.py create mode 100644 addons/web_hierarchy/__manifest__.py create mode 100644 addons/web_hierarchy/models/__init__.py rename addons/{hr_org_chart => web_hierarchy}/models/ir_actions.py (100%) rename addons/{hr_org_chart => web_hierarchy}/models/ir_ui_view.py (100%) rename addons/{hr_org_chart => web_hierarchy}/models/models.py (100%) rename addons/{hr_org_chart/static/src/scss => web_hierarchy/static/src}/hierarchy.variables.dark.scss (100%) rename addons/{hr_org_chart/static/src/scss => web_hierarchy/static/src}/hierarchy.variables.scss (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_arch_parser.js (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_card.js (97%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_card.scss (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_card.xml (98%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_compiler.js (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_controller.js (97%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_controller.xml (94%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_model.js (100%) rename addons/{hr_org_chart/static/src/hooks => web_hierarchy/static/src}/hierarchy_node_draggable.js (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_renderer.js (97%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_renderer.scss (100%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_renderer.xml (96%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_view.js (95%) rename addons/{hr_org_chart/static/src/views/hierarchy => web_hierarchy/static/src}/hierarchy_view.scss (100%) rename addons/{hr_org_chart/static/tests/views => web_hierarchy/static/tests}/hierarchy_view_tests.js (100%) rename addons/{hr_org_chart/static/tests/views => web_hierarchy/static/tests}/mock_server.js (100%) diff --git a/addons/hr_org_chart/__manifest__.py b/addons/hr_org_chart/__manifest__.py index cffc30faf74..94a4cf9ac56 100644 --- a/addons/hr_org_chart/__manifest__.py +++ b/addons/hr_org_chart/__manifest__.py @@ -13,8 +13,8 @@ Org Chart Widget for HR This module extend the employee form with a organizational chart. (N+1, N+2, direct subordinates) """, - 'depends': ['hr'], - 'auto_install': True, + 'depends': ['hr', 'web_hierarchy'], + 'auto_install': ['hr'], 'data': [ 'views/hr_department_views.xml', 'views/hr_views.xml', @@ -26,13 +26,9 @@ This module extend the employee form with a organizational chart. 'hr_org_chart/static/src/scss/variables.scss', ], 'web.assets_backend': [ - 'hr_org_chart/static/src/scss/hierarchy.variables.scss', 'hr_org_chart/static/src/fields/*', 'hr_org_chart/static/src/views/**/*', ], - 'web.assets_web_dark': [ - ('before', 'hr_org_chart/static/src/scss/hierarchy.variables.scss', 'hr_org_chart/static/src/scss/**/*.variables.dark.scss'), - ], 'web.qunit_suite_tests': [ 'hr_org_chart/static/tests/**/*', ], diff --git a/addons/hr_org_chart/models/__init__.py b/addons/hr_org_chart/models/__init__.py index b51ad54cfff..27f11d1b306 100644 --- a/addons/hr_org_chart/models/__init__.py +++ b/addons/hr_org_chart/models/__init__.py @@ -3,6 +3,3 @@ from . import hr_org_chart_mixin from . import hr_employee -from . import ir_actions -from . import ir_ui_view -from . import models diff --git a/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.js b/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.js index 972a1f74455..d1fceb83b74 100644 --- a/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.js +++ b/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.js @@ -2,7 +2,7 @@ import { Avatar } from "@mail/views/web/fields/avatar/avatar"; -import { HierarchyRenderer } from "../hierarchy/hierarchy_renderer"; +import { HierarchyRenderer } from "@web_hierarchy/hierarchy_renderer"; export class HrEmployeeHierarchyRenderer extends HierarchyRenderer { static template = "hr_org_chart.HrEmployeeHierarchyRenderer"; diff --git a/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.xml b/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.xml index 760af418f3f..56b91f32b4d 100644 --- a/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.xml +++ b/addons/hr_org_chart/static/src/views/hr_employee_hierarchy/hr_employee_hierarchy_renderer.xml @@ -1,7 +1,7 @@ - + - +
- +
diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_model.js b/addons/web_hierarchy/static/src/hierarchy_model.js similarity index 100% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_model.js rename to addons/web_hierarchy/static/src/hierarchy_model.js diff --git a/addons/hr_org_chart/static/src/hooks/hierarchy_node_draggable.js b/addons/web_hierarchy/static/src/hierarchy_node_draggable.js similarity index 100% rename from addons/hr_org_chart/static/src/hooks/hierarchy_node_draggable.js rename to addons/web_hierarchy/static/src/hierarchy_node_draggable.js diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.js b/addons/web_hierarchy/static/src/hierarchy_renderer.js similarity index 97% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.js rename to addons/web_hierarchy/static/src/hierarchy_renderer.js index 4cc974b823d..b105ec3bbb7 100644 --- a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.js +++ b/addons/web_hierarchy/static/src/hierarchy_renderer.js @@ -7,7 +7,7 @@ import { useService } from "@web/core/utils/hooks"; import { scrollTo } from "@web/core/utils/scrolling"; import { HierarchyCard } from "./hierarchy_card"; -import { useHierarchyNodeDraggable } from "../../hooks/hierarchy_node_draggable"; +import { useHierarchyNodeDraggable } from "./hierarchy_node_draggable"; export class HierarchyRenderer extends Component { static components = { @@ -19,7 +19,7 @@ export class HierarchyRenderer extends Component { archInfo: Object, templates: Object, }; - static template = "hr_org_chart.HierarchyRenderer"; + static template = "web_hierarchy.HierarchyRenderer"; setup() { this.rendererRef = useRef("renderer"); diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.scss b/addons/web_hierarchy/static/src/hierarchy_renderer.scss similarity index 100% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.scss rename to addons/web_hierarchy/static/src/hierarchy_renderer.scss diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.xml b/addons/web_hierarchy/static/src/hierarchy_renderer.xml similarity index 96% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.xml rename to addons/web_hierarchy/static/src/hierarchy_renderer.xml index f46286f3e0a..2c22a32d868 100644 --- a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_renderer.xml +++ b/addons/web_hierarchy/static/src/hierarchy_renderer.xml @@ -1,7 +1,7 @@ - +
diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js b/addons/web_hierarchy/static/src/hierarchy_view.js similarity index 95% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js rename to addons/web_hierarchy/static/src/hierarchy_view.js index abf7e4dca95..a868252b3ff 100644 --- a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.js +++ b/addons/web_hierarchy/static/src/hierarchy_view.js @@ -17,7 +17,7 @@ export const hierarchyView = { Controller: HierarchyController, Model: HierarchyModel, Renderer: HierarchyRenderer, - buttonTemplate: "hr_org_chart.HierarchyButtons", + buttonTemplate: "web_hierarchy.HierarchyButtons", searchMenuTypes: [], props: (genericProps, view) => { diff --git a/addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss b/addons/web_hierarchy/static/src/hierarchy_view.scss similarity index 100% rename from addons/hr_org_chart/static/src/views/hierarchy/hierarchy_view.scss rename to addons/web_hierarchy/static/src/hierarchy_view.scss diff --git a/addons/hr_org_chart/static/tests/views/hierarchy_view_tests.js b/addons/web_hierarchy/static/tests/hierarchy_view_tests.js similarity index 100% rename from addons/hr_org_chart/static/tests/views/hierarchy_view_tests.js rename to addons/web_hierarchy/static/tests/hierarchy_view_tests.js diff --git a/addons/hr_org_chart/static/tests/views/mock_server.js b/addons/web_hierarchy/static/tests/mock_server.js similarity index 100% rename from addons/hr_org_chart/static/tests/views/mock_server.js rename to addons/web_hierarchy/static/tests/mock_server.js