diff --git a/hr_professional_category/README.rst b/hr_professional_category/README.rst new file mode 100644 index 00000000000..f0e02b3c5d7 --- /dev/null +++ b/hr_professional_category/README.rst @@ -0,0 +1,109 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +======================== +HR Professional Category +======================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:04b2d708bfbbfcebdecc1cbfa2e359625fde717b46b07c675293533e9829a748 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhr-lightgray.png?logo=github + :target: https://github.com/OCA/hr/tree/19.0/hr_professional_category + :alt: OCA/hr +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/hr-19-0/hr-19-0-hr_professional_category + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/hr&target_branch=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds professional categories to be set in employee +contracts. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Go to *Employes > Configuration > Professional Categories* and create +the ones you need. + +Usage +===== + +To use this module, you need to: + +1. Go to a contract. +2. Set a professional category. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Tecnativa + +Contributors +------------ + +- César Fernández Domínguez +- `Tecnativa `__: + + - Víctor Martínez + - Pedro M. Baeza + +- Heliconia Solutions Pvt. Ltd https://www.heliconia.io + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px + :target: https://github.com/victoralmau + :alt: victoralmau + +Current `maintainer `__: + +|maintainer-victoralmau| + +This module is part of the `OCA/hr `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/hr_professional_category/__init__.py b/hr_professional_category/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/hr_professional_category/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/hr_professional_category/__manifest__.py b/hr_professional_category/__manifest__.py new file mode 100644 index 00000000000..4466abe6cae --- /dev/null +++ b/hr_professional_category/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2021 César Fernández Domínguez +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "HR Professional Category", + "version": "19.0.1.0.0", + "category": "Human Resources", + "website": "https://github.com/OCA/hr", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["hr"], + "installable": True, + "data": [ + "security/ir.model.access.csv", + "security/security.xml", + "views/hr_professional_category_views.xml", + "views/hr_contract_views.xml", + ], + "demo": ["demo/hr_professional_category_demo.xml"], + "maintainers": ["victoralmau"], +} diff --git a/hr_professional_category/demo/hr_professional_category_demo.xml b/hr_professional_category/demo/hr_professional_category_demo.xml new file mode 100644 index 00000000000..7dd98efe6bd --- /dev/null +++ b/hr_professional_category/demo/hr_professional_category_demo.xml @@ -0,0 +1,11 @@ + + + + 1 + Engineer + + + 2 + Administrative + + diff --git a/hr_professional_category/i18n/es.po b/hr_professional_category/i18n/es.po new file mode 100644 index 00000000000..48a058adefc --- /dev/null +++ b/hr_professional_category/i18n/es.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_professional_category +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-22 16:30+0000\n" +"PO-Revision-Date: 2024-02-22 17:30+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 3.0.1\n" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__active +msgid "Active" +msgstr "Activo" + +#. module: hr_professional_category +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_tree_view_form +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_view_search +msgid "Archived" +msgstr "Archivado" + +#. module: hr_professional_category +#: model_terms:ir.actions.act_window,help:hr_professional_category.hr_professional_category_action +msgid "Click to create a Professional Category." +msgstr "Haga click para crear una categoría profesional." + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__code +msgid "Code" +msgstr "Código" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__company_id +msgid "Company" +msgstr "Compañía" + +#. module: hr_professional_category +#: model:ir.model,name:hr_professional_category.model_hr_contract +msgid "Contract" +msgstr "Contrato de empleado" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__id +msgid "ID" +msgstr "ID" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_uid +msgid "Last Updated by" +msgstr "Últ. actualización por" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_date +msgid "Last Updated on" +msgstr "Actualizado el" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__name +msgid "Name" +msgstr "Nombre" + +#. module: hr_professional_category +#: model:ir.ui.menu,name:hr_professional_category.menu_hr_professional_category_action +msgid "Professional Categories" +msgstr "Categorías profesionales" + +#. module: hr_professional_category +#: model:ir.actions.act_window,name:hr_professional_category.hr_professional_category_action +#: model:ir.model,name:hr_professional_category.model_hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_contract__professional_category_id +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_contract_view_search +msgid "Professional Category" +msgstr "Categoría profesional" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación el" diff --git a/hr_professional_category/i18n/hr_professional_category.pot b/hr_professional_category/i18n/hr_professional_category.pot new file mode 100644 index 00000000000..4e8ca0834ec --- /dev/null +++ b/hr_professional_category/i18n/hr_professional_category.pot @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_professional_category +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__active +msgid "Active" +msgstr "" + +#. module: hr_professional_category +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_tree_view_form +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_view_search +msgid "Archived" +msgstr "" + +#. module: hr_professional_category +#: model_terms:ir.actions.act_window,help:hr_professional_category.hr_professional_category_action +msgid "Click to create a Professional Category." +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__code +msgid "Code" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__company_id +msgid "Company" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model,name:hr_professional_category.model_hr_contract +msgid "Contract" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_uid +msgid "Created by" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_date +msgid "Created on" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__display_name +msgid "Display Name" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__id +msgid "ID" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_date +msgid "Last Updated on" +msgstr "" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__name +msgid "Name" +msgstr "" + +#. module: hr_professional_category +#: model:ir.ui.menu,name:hr_professional_category.menu_hr_professional_category_action +msgid "Professional Categories" +msgstr "" + +#. module: hr_professional_category +#: model:ir.actions.act_window,name:hr_professional_category.hr_professional_category_action +#: model:ir.model,name:hr_professional_category.model_hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_contract__professional_category_id +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_contract_view_search +msgid "Professional Category" +msgstr "" diff --git a/hr_professional_category/i18n/it.po b/hr_professional_category/i18n/it.po new file mode 100644 index 00000000000..6753f12513f --- /dev/null +++ b/hr_professional_category/i18n/it.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_professional_category +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-03-12 10:33+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__active +msgid "Active" +msgstr "Attiva" + +#. module: hr_professional_category +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_tree_view_form +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_professional_category_view_search +msgid "Archived" +msgstr "In archivio" + +#. module: hr_professional_category +#: model_terms:ir.actions.act_window,help:hr_professional_category.hr_professional_category_action +msgid "Click to create a Professional Category." +msgstr "Fare clic per creare un categoria professionale." + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__code +msgid "Code" +msgstr "Codice" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__company_id +msgid "Company" +msgstr "Azienda" + +#. module: hr_professional_category +#: model:ir.model,name:hr_professional_category.model_hr_contract +msgid "Contract" +msgstr "Contratto" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__id +msgid "ID" +msgstr "ID" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_professional_category__name +msgid "Name" +msgstr "Nome" + +#. module: hr_professional_category +#: model:ir.ui.menu,name:hr_professional_category.menu_hr_professional_category_action +msgid "Professional Categories" +msgstr "Categorie professionali" + +#. module: hr_professional_category +#: model:ir.actions.act_window,name:hr_professional_category.hr_professional_category_action +#: model:ir.model,name:hr_professional_category.model_hr_professional_category +#: model:ir.model.fields,field_description:hr_professional_category.field_hr_contract__professional_category_id +#: model_terms:ir.ui.view,arch_db:hr_professional_category.hr_contract_view_search +msgid "Professional Category" +msgstr "Categoria professionale" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" diff --git a/hr_professional_category/models/__init__.py b/hr_professional_category/models/__init__.py new file mode 100644 index 00000000000..e52479d5dfa --- /dev/null +++ b/hr_professional_category/models/__init__.py @@ -0,0 +1,2 @@ +from . import hr_contract +from . import hr_professional_category diff --git a/hr_professional_category/models/hr_contract.py b/hr_professional_category/models/hr_contract.py new file mode 100644 index 00000000000..ba5c94e4d30 --- /dev/null +++ b/hr_professional_category/models/hr_contract.py @@ -0,0 +1,12 @@ +# Copyright 2021 César Fernández Domínguez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class HrVersion(models.Model): + _inherit = "hr.version" + + professional_category_id = fields.Many2one( + comodel_name="hr.professional.category", string="Professional Category" + ) diff --git a/hr_professional_category/models/hr_professional_category.py b/hr_professional_category/models/hr_professional_category.py new file mode 100644 index 00000000000..74e5398b95e --- /dev/null +++ b/hr_professional_category/models/hr_professional_category.py @@ -0,0 +1,27 @@ +# Copyright 2021 César Fernández Domínguez +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class HrProfessionalCategory(models.Model): + _name = "hr.professional.category" + _description = "Professional Category" + _order = "code, id" + _rec_names_search = ["name", "code"] + + active = fields.Boolean(default=True) + code = fields.Integer() + name = fields.Char(required=True) + company_id = fields.Many2one( + comodel_name="res.company", + string="Company", + store=True, + index=True, + ) + + @api.depends("code") + def _compute_display_name(self): + for record in self: + record.display_name = f"{record.code} - {record.name}" diff --git a/hr_professional_category/pyproject.toml b/hr_professional_category/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/hr_professional_category/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/hr_professional_category/readme/CONFIGURE.md b/hr_professional_category/readme/CONFIGURE.md new file mode 100644 index 00000000000..6562927448b --- /dev/null +++ b/hr_professional_category/readme/CONFIGURE.md @@ -0,0 +1,2 @@ +Go to *Employes \> Configuration \> Professional Categories* and create +the ones you need. diff --git a/hr_professional_category/readme/CONTRIBUTORS.md b/hr_professional_category/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..9d9d99d0a09 --- /dev/null +++ b/hr_professional_category/readme/CONTRIBUTORS.md @@ -0,0 +1,5 @@ +- César Fernández Domínguez +- [Tecnativa](https://www.tecnativa.com): + - Víctor Martínez + - Pedro M. Baeza +- Heliconia Solutions Pvt. Ltd diff --git a/hr_professional_category/readme/DESCRIPTION.md b/hr_professional_category/readme/DESCRIPTION.md new file mode 100644 index 00000000000..fe0bceb1801 --- /dev/null +++ b/hr_professional_category/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module adds professional categories to be set in employee +contracts. diff --git a/hr_professional_category/readme/USAGE.md b/hr_professional_category/readme/USAGE.md new file mode 100644 index 00000000000..45212739c5f --- /dev/null +++ b/hr_professional_category/readme/USAGE.md @@ -0,0 +1,4 @@ +To use this module, you need to: + +1. Go to a contract. +2. Set a professional category. diff --git a/hr_professional_category/security/ir.model.access.csv b/hr_professional_category/security/ir.model.access.csv new file mode 100644 index 00000000000..88b2356f0dd --- /dev/null +++ b/hr_professional_category/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_hr_professional_category,hr.professional.category,model_hr_professional_category,hr.group_hr_user,1,0,0,0 +access_hr_professional_category_manager,hr.professional.category,model_hr_professional_category,hr.group_hr_manager,1,1,1,1 diff --git a/hr_professional_category/security/security.xml b/hr_professional_category/security/security.xml new file mode 100644 index 00000000000..9427c7591da --- /dev/null +++ b/hr_professional_category/security/security.xml @@ -0,0 +1,9 @@ + + + + Hr Professional Category multi-company + + + [('company_id', 'in', [False] + company_ids)] + + diff --git a/hr_professional_category/static/description/icon.png b/hr_professional_category/static/description/icon.png new file mode 100644 index 00000000000..3a0328b516c Binary files /dev/null and b/hr_professional_category/static/description/icon.png differ diff --git a/hr_professional_category/static/description/index.html b/hr_professional_category/static/description/index.html new file mode 100644 index 00000000000..9d6d559e44b --- /dev/null +++ b/hr_professional_category/static/description/index.html @@ -0,0 +1,453 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

HR Professional Category

+ +

Beta License: AGPL-3 OCA/hr Translate me on Weblate Try me on Runboat

+

This module adds professional categories to be set in employee +contracts.

+

Table of contents

+ +
+

Configuration

+

Go to Employes > Configuration > Professional Categories and create +the ones you need.

+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to a contract.
  2. +
  3. Set a professional category.
  4. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

victoralmau

+

This module is part of the OCA/hr project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/hr_professional_category/tests/__init__.py b/hr_professional_category/tests/__init__.py new file mode 100644 index 00000000000..fd1ae2d31ba --- /dev/null +++ b/hr_professional_category/tests/__init__.py @@ -0,0 +1 @@ +from . import test_hr_professional_category diff --git a/hr_professional_category/tests/test_hr_professional_category.py b/hr_professional_category/tests/test_hr_professional_category.py new file mode 100644 index 00000000000..a5cbb18691f --- /dev/null +++ b/hr_professional_category/tests/test_hr_professional_category.py @@ -0,0 +1,35 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields + +from odoo.addons.base.tests.common import BaseCommon + + +class TestHrProfessionalCategory(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.calendar = cls.env.ref("resource.resource_calendar_std") + cls.employee = cls.env["hr.employee"].create({"name": "Test employee"}) + cls.category = cls.env["hr.professional.category"].create( + { + "code": 123, + "name": "Test category", + } + ) + cls.contract = cls.employee.version_id + cls.contract.write( + { + "resource_calendar_id": cls.calendar.id, + "contract_date_start": fields.Date.today(), + "professional_category_id": cls.category.id, + "wage": 1, + } + ) + + def test_hr_professional_category_name(self): + self.assertEqual(self.contract.professional_category_id, self.category) + self.assertEqual( + self.category.display_name, f"{self.category.code} - {self.category.name}" + ) diff --git a/hr_professional_category/views/hr_contract_views.xml b/hr_professional_category/views/hr_contract_views.xml new file mode 100644 index 00000000000..cc909268df3 --- /dev/null +++ b/hr_professional_category/views/hr_contract_views.xml @@ -0,0 +1,54 @@ + + + + hr.version.list + hr.version + + + + + + + + + + hr.version.search + hr.version + + + + + + + + + + + + + hr.employee.form + hr.employee + + + + + + + + + + hr.contract.template.form + hr.version + + + + + + + + diff --git a/hr_professional_category/views/hr_professional_category_views.xml b/hr_professional_category/views/hr_professional_category_views.xml new file mode 100644 index 00000000000..58ef39f3e72 --- /dev/null +++ b/hr_professional_category/views/hr_professional_category_views.xml @@ -0,0 +1,82 @@ + + + + hr.professional.category.tree + hr.professional.category + + + + + + + + + + hr.professional.category.form + hr.professional.category + +
+ + + +
+

+ +

+
+ + + + + + +
+
+
+
+ + hr.professional.category.search + hr.professional.category + + + + + + + + + + Professional Category + ir.actions.act_window + hr.professional.category + list,form + + +

Click to create a Professional Category.

+
+
+ +