Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0] Advanced Payroll WIP #174

Draft
wants to merge 160 commits into
base: 18.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
d8452de
payroll: rename module
davejames Oct 8, 2020
6b4820b
payroll: rename install setting for payroll_account module
davejames Oct 8, 2020
3884e06
payroll: add original pot file
davejames Oct 8, 2020
47ba31f
payroll: update new POT file
davejames Oct 8, 2020
1d93ee2
[IMP] payroll: black, isort, prettier
hilarak Oct 28, 2020
acb0dde
[MIG] payroll: Migration to 14.0
hilarak Oct 28, 2020
e72ae44
[14.0][FIX] payroll: demo rule: python code with no indentation
norlinhenrik Dec 21, 2021
b10039d
[14.0] payroll: new maintainer: appstogrow
norlinhenrik Dec 21, 2021
1aa1dc6
parent 830abfcae9440166206476c5b2c74932564483a1
nimarosa Jan 25, 2022
4ce8348
add detail of the exeption in salary rule calculation
nimarosa Jan 31, 2022
972ddc7
[14.0] [IMP] Code fields for python compute fields
nimarosa Feb 15, 2022
6e2d8ef
Translated using Weblate (Catalan)
Noel000 Feb 28, 2022
f0654a6
Translated using Weblate (Catalan)
Noel000 Mar 2, 2022
b0d8a80
Translated using Weblate (Spanish (Argentina))
ibuioli Mar 6, 2022
257c19b
Translated using Weblate (Spanish (Argentina))
ibuioli Mar 6, 2022
2e267af
Translated using Weblate (Spanish (Argentina))
ibuioli Mar 7, 2022
9b96118
Translated using Weblate (Spanish (Argentina))
ibuioli Mar 13, 2022
0eb7843
[IMP] update dotfiles [ci skip]
OCA-git-bot Mar 31, 2022
4b9673f
Translated using Weblate (Italian)
francesco-ooops May 18, 2022
8534161
[ADD] payroll: missing tag to compute method
May 18, 2022
c134edb
[IMP] payroll: take into account the contract start date in payslip c…
nimarosa May 17, 2022
9c32fe3
[IMP] payroll: recalculate worked_days and inputs if structure is cha…
nimarosa May 17, 2022
85e85a6
[IMP] payroll: add amount_qty to paylip inputs
nimarosa May 17, 2022
e90bb78
[IMP] payroll: add missing states in status bar
nimarosa May 17, 2022
1a90c56
[IMP] payroll: ux changes in salary rules views
nimarosa May 17, 2022
4cb6e0d
[IMP] payroll: add support for hr_public_holidays in work time calcul…
nimarosa Jun 3, 2022
7eacbdf
[IMP] payroll: remove empty lines
nimarosa Jun 3, 2022
ce7f626
Translated using Weblate (Spanish (Argentina))
ibuioli Jun 11, 2022
35edd2a
[FIX] payroll unittest
mtelahun Jun 19, 2022
831e3ad
[FIX] payroll - wrong quantity and rate during python computation of …
mtelahun Jun 19, 2022
d928625
[IMP] payroll: remove dependency on demo data
mtelahun Jun 21, 2022
b56e203
[IMP] payroll: add a test to show that if result_* are not set they g…
mtelahun Jun 21, 2022
0e644a0
[IMP] payroll: refactor of local dictionary handling in payslip for s…
mtelahun Jun 19, 2022
9713e57
Translated using Weblate (Spanish (Argentina))
nimarosa Jul 1, 2022
99a4364
[IMP] payroll: Add salary_rule_parameters functionality
nimarosa Apr 6, 2022
04460df
Translated using Weblate (Spanish)
nimarosa Jul 7, 2022
0f35278
Translated using Weblate (Spanish)
nimarosa Jul 19, 2022
2cb4c0f
Translated using Weblate (Spanish (Argentina))
nimarosa Jul 19, 2022
e0b34f3
Translated using Weblate (Spanish (Argentina))
nimarosa Aug 9, 2022
396d30c
[IMP] payroll: payslip refactoring and functionality improvements
nimarosa Jul 1, 2022
ffce612
[IMP] payroll: allow the use of positive values in leave days/hours c…
mtelahun Aug 11, 2022
6113bf8
[IMP] payroll: Remove contract_advantage_template model and new modul…
nimarosa Jun 21, 2022
ba21111
Translated using Weblate (Spanish)
nimarosa Aug 16, 2022
e236ae0
Translated using Weblate (Spanish (Argentina))
nimarosa Aug 16, 2022
792ebec
[FIX] payroll: Fix Refactored _compute_name to contemplate more than …
nimarosa Aug 19, 2022
8f4b7b5
[FIX] payroll: use a custom working calendar so tests don't fail on w…
mtelahun Aug 21, 2022
01bb521
[IMP] payroll: send email with payslip, fix payslip form view, better…
norlinhenrik Aug 16, 2022
8f0a08d
Translated using Weblate (Spanish)
nimarosa Aug 25, 2022
559c8cd
Translated using Weblate (Spanish (Argentina))
ibuioli Aug 25, 2022
8080b1f
[IMP] payroll: Improve views, add child functionalities, allow comput…
nimarosa Aug 24, 2022
a9b6c6f
Translated using Weblate (Spanish)
nimarosa Aug 29, 2022
b597f59
Translated using Weblate (Spanish (Argentina))
nimarosa Aug 29, 2022
d7ea279
[IMP] payroll: hr.payslip.line with date_from
norlinhenrik Sep 2, 2022
0c2e1e6
[IMP] payroll: hr.payslip & hr.payslip.run: order by id desc (most re…
norlinhenrik Sep 2, 2022
4228331
[IMP] payroll: default value for python code fields had lines in the …
mtelahun Sep 5, 2022
ec720a0
[IMP] payroll: make hr.salary.rule (form) condition and computation v…
mtelahun Sep 5, 2022
b45fbc6
[IMP] payroll: hr_payslip refactoring and misc improvements
nimarosa Aug 30, 2022
8d63e44
[IMP] payroll: Add hook method for accesing localdict
nimarosa Sep 7, 2022
67493c4
[IMP] payroll: extract and move _sum_salary_rule_category to payslip
nimarosa Sep 7, 2022
b573218
[IMP] payroll: add new objects documentation in help text
nimarosa Sep 7, 2022
ec1614a
[IMP] payroll: remove ** from baselocadict
nimarosa Sep 8, 2022
8174a8f
[IMP] payroll: remove sum from worked days table
nimarosa Sep 8, 2022
3cd0955
[IMP] payroll: Add object for accessing with dot notation to the dict
nimarosa Sep 8, 2022
acb1484
[IMP] payroll: Merge payslip_cancel in base module and remove module
nimarosa Sep 8, 2022
b84522d
[IMP] payroll: Merge payslip_change_state and remove module
nimarosa Sep 8, 2022
d1c8944
Translated using Weblate (Spanish)
nimarosa Sep 9, 2022
3752c69
Translated using Weblate (Spanish (Argentina))
nimarosa Sep 9, 2022
62084ff
[IMP] payroll: add tests for new merged functionalities
nimarosa Sep 8, 2022
fafc120
[IMP] payroll: change button attrs
nimarosa Sep 12, 2022
4ce2ff8
payroll: silence pylint W7950(odoo-addons-relative-import)
mtelahun Sep 13, 2022
de43835
[FIX] payroll: regression introduced in #62
mtelahun Sep 13, 2022
7dd428d
[IMP] payroll: refactor tests.common to prepare for more tests
mtelahun Sep 16, 2022
34301c6
[IMP] payroll: re-factor _get_contracts() to work on recordset self
mtelahun Sep 17, 2022
e210466
[IMP] payroll: re-factor _get_salary_rules() to work on recordset self
mtelahun Sep 17, 2022
ae1f449
[IMP] payroll: rename and re-factor _get_payslip_lines() to work on r…
mtelahun Sep 17, 2022
2989c36
[IMP] payroll: re-factor onchange_struct_id() to work on recordset self
mtelahun Sep 17, 2022
998759f
[IMP] payroll: re-factor onchange_dates() and onchange_employee() to …
mtelahun Sep 17, 2022
602135b
payroll: fix a couple of places where functional changes were inadver…
mtelahun Sep 17, 2022
43ad90c
[IMP] payroll: rule _satisfy_condition() & _compute_rule() -> 2*4 met…
norlinhenrik Sep 19, 2022
2bbb52c
[IMP] payroll: rule._compute_rule() returns dict of values
norlinhenrik Sep 19, 2022
ce8fd38
[IMP] payroll: rule._compute_rule_code() calls _get_rule_dict()
norlinhenrik Sep 19, 2022
8606ff0
[IMP] payroll: payslip.get_lines_dict() calls rule._reset_localdict_v…
norlinhenrik Sep 19, 2022
0e37be5
[IMP] payroll: payslip._compute_payslip_line() -> _compute_rule() & _…
norlinhenrik Sep 19, 2022
8c04a3c
[FIX] payroll_contract_advantages: Function name changed in recent co…
nimarosa Sep 20, 2022
6bafbf5
[IMP] payroll: payslip._compute_payslip_line() & _get_lines_dict()
norlinhenrik Sep 20, 2022
73242a4
[14.0] [FIX] payroll: Fix get_lines_dict() - skip assigning dict when…
nimarosa Sep 30, 2022
7bc0a06
[14.0] [IMP] payroll: support adding python libraries or objects to l…
nimarosa Sep 30, 2022
b81e7e9
[14.0] [IMP] payroll: improve lines table view
nimarosa Sep 30, 2022
8792950
[14.0] [IMP] payroll: improve salary_rule and categories views and do…
nimarosa Oct 1, 2022
3aecd7f
[14.0] [IMP] payroll: settings for payslip_lines edition and auto-com…
nimarosa Oct 4, 2022
0dba2ae
Translated using Weblate (Spanish (Argentina))
ibuioli Oct 9, 2022
a1af46e
Translated using Weblate (Spanish (Argentina))
ibuioli Oct 9, 2022
a5b52a1
[14.0] [FIX] payroll: Fix parent rules dependecy
nimarosa Oct 13, 2022
36994ab
[14.0] [FIX] payroll: Add tests about parent/child rules
nimarosa Oct 19, 2022
7252886
[14.0] [ADD] hr_payroll_period
nimarosa Oct 24, 2022
776499c
[14.0] [IMP] payroll: Add employee in rule exceptions
nimarosa Oct 27, 2022
d5b5cef
[IMP] payroll: hr.salary.rule is readonly for payroll user
norlinhenrik Oct 28, 2022
89a22bf
Translated using Weblate (Spanish (Argentina))
ibuioli Nov 2, 2022
8007827
[IMP] payroll: depends on base_time_parameter
norlinhenrik Nov 1, 2022
3f3bfdb
[ADD] payroll_rule_time_parameter (instead of payroll) depends on bas…
norlinhenrik Nov 3, 2022
7ee5138
[IMP] payroll: history
norlinhenrik Nov 4, 2022
5c4d9e0
[IMP] payroll: remove parameters code
nimarosa Nov 8, 2022
ec47b4a
[14.0] [IMP] payroll: add localdict pure payslip object and rename pa…
nimarosa Nov 8, 2022
46defdf
[14.0] [IMP] payroll: remove old tests from payroll module
nimarosa Nov 8, 2022
7fd5c9b
[14.0] [IMP] payroll: improve comments and documentation of available…
nimarosa Nov 8, 2022
dca741c
[14.0] [IMP] payroll: change manifest category
nimarosa Nov 8, 2022
d103b46
[IMP] payroll: hr.payslip.run with company_id
norlinhenrik Nov 6, 2022
1309993
[IMP] payroll: code & category are not required
norlinhenrik Nov 6, 2022
cc466a0
[IMP] payroll: settings descriptions, show_details_by_salary_rule_cat…
norlinhenrik Nov 6, 2022
7748ac8
[IMP] payroll: required fields, removed details_by_salary_rule_category
norlinhenrik Nov 6, 2022
8e90b0c
[IMP] payroll: hide_invisible_lines (who don't appear on payslip)
norlinhenrik Nov 7, 2022
b600c30
[IMP] payroll: New setting: Require code and category
norlinhenrik Nov 7, 2022
f25ae07
[IMP] payroll: test rule code in payslip line
norlinhenrik Nov 7, 2022
39006ea
[IMP] payroll: removed required=False, improved text descriptions
norlinhenrik Nov 8, 2022
fbae876
[IMP] payroll: test rule and category with and without code
norlinhenrik Nov 9, 2022
b9c260d
Translated using Weblate (Spanish (Argentina))
ibuioli Nov 9, 2022
817c597
[MIG] payroll: Migration to 15.0
mtelahun Nov 10, 2022
6f148f6
[MIG] payroll: Migration to 16.0
mtelahun Nov 11, 2022
d4826a6
[UPD] Update payroll.pot
Nov 11, 2022
e21b454
[UPD] README.rst
OCA-git-bot Nov 11, 2022
1b21512
Update translation files
weblate Nov 11, 2022
83ce444
[UPD] Update payroll.pot
Nov 14, 2022
0a80609
Update translation files
weblate Nov 14, 2022
6130955
[UPD] Update payroll.pot
Dec 1, 2022
50f6886
Update translation files
weblate Dec 1, 2022
39e3d6d
[FIX] payroll: Change mail template expressions
victoralmau Apr 19, 2023
6fa7d6b
[FIX] payroll: Fix tests since https://github.com/odoo/odoo/commit/09…
victoralmau Apr 20, 2023
d38424a
[UPD] Update payroll.pot
Apr 20, 2023
cafb95f
Update translation files
weblate Apr 20, 2023
464d6df
[UPD] Update payroll.pot
Jun 22, 2023
b2aa7c6
Update translation files
weblate Jun 22, 2023
91907e5
[UPD] README.rst
OCA-git-bot Sep 3, 2023
7e376d2
[UPD] Update payroll.pot
Sep 22, 2023
f9217dd
Update translation files
weblate Sep 22, 2023
95e93af
Added translation using Weblate (Persian (fa_IR))
mostafabarmshory Oct 7, 2023
7ea8995
Translated using Weblate (Persian)
mostafabarmshory Oct 7, 2023
c928324
Translated using Weblate (Spanish)
Ivorra78 Oct 9, 2023
06f756e
Update translation files
weblate Oct 10, 2023
ea68444
Translated using Weblate (Italian)
mymage Oct 12, 2023
bebf7b3
[UPD] Update payroll.pot
Oct 28, 2023
da13543
Update translation files
weblate Oct 29, 2023
9a391a8
[17.0][MIG] payroll: Migration to 17.0
FernandoRomera Dec 21, 2023
5fd7af4
[FIX] Fix tests in payroll
cvinh Feb 3, 2024
fe2ab80
[FIX] struct_id force_save and test_get_contracts_singleton
hapolinario May 13, 2024
1b24cbe
[FIX] pre-commit ruff
hapolinario May 13, 2024
f468e8f
[FIX] pre-commit ruff
hapolinario May 13, 2024
0daeb5f
[FIX] field very narrow and show duplicate
hapolinario May 13, 2024
144b835
[UPD] Update payroll.pot
May 16, 2024
b211f39
Update translation files
weblate May 16, 2024
d652a58
Translated using Weblate (Italian)
mymage May 17, 2024
d153630
Translated using Weblate (Swedish)
jakobkrabbe Jun 7, 2024
d3abda1
Translated using Weblate (Italian)
mymage Aug 19, 2024
84163d2
[UPD] Update payroll.pot
Aug 19, 2024
0237db3
Update translation files
weblate Aug 19, 2024
9530514
[FIX] payroll: Remove migrations folder from 16.0
victoralmau Nov 11, 2024
f2d45b4
[IMP] payroll: pre-commit execution
regispirard Nov 16, 2024
1d138f2
[MIG] payroll: Migration to 18.0
regispirard Nov 16, 2024
14c1805
WIP
dreispt Dec 15, 2024
8bafc48
[ADD] hr_contract_history
dreispt Dec 16, 2024
0c6f05d
[ADD] payroll_contract_history
dreispt Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions hr_contract_history/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions hr_contract_history/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.

{
"name": "Employee Contract History",
"version": "18.0.1.0.0",
"category": "Payroll",
"website": "https://github.com/OCA/payroll",
"license": "LGPL-3",
"author": "Daniel Reis, Odoo Community Association (OCA)",
"depends": [
"hr_contract",
],
"data": [
"security/hr_payroll_security.xml",
"security/ir.model.access.csv",
"views/hr_contract_value_views.xml",
],
"maintainers": ["dreispt"],
}
1 change: 1 addition & 0 deletions hr_contract_history/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import hr_contract_history
67 changes: 67 additions & 0 deletions hr_contract_history/models/hr_contract_history.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
from odoo import fields, models


class HrContractPropertyGroup(models.Model):
_name = "hr.contract.property.group"
_description = "Contract Property Group"

name = fields.Char()
code = fields.Char()
active = fields.Boolean()


class HrContractProperty(models.Model):
_name = "hr.contract.property"
_description = "Contract Property"

name = fields.Char()
code = fields.Char()
value_type = fields.Selection(
selection=[("bool", "Yes/No"), ("float", "Numeric"), ("id", "Selection Value")]
)
property_group_id = fields.Many2one(comodel_name="hr.contract.property.group")
active = fields.Boolean(default=True)


class HrContractPropertyValue(models.Model):
_name = "hr.contract.property.value"
_description = "Contract Property Value"

name = fields.Char()
code = fields.Char()
property_id = fields.Many2one(comodel_name="hr.contract.property")
active = fields.Boolean(default=True)


class HrContractPropertyReason(models.Model):
_name = "hr.contract.property.reason"
_description = "Contract Property Reason"

name = fields.Char()
code = fields.Char()
active = fields.Boolean(default=True)


class HrContractValue(models.Model):
_name = "hr.contract.value"
_description = "Contract Value"
_order = "date_start desc"

contract_id = fields.Many2one(comodel_name="hr.contract", required=True)
employee_id = fields.Many2one(
comodel_name="hr.employee", related="contract_id.employee_id", store=True
)
company_id = fields.Many2one(
comodel_name="res.company", related="contract_id.company_id", store=True
)
date_start = fields.Date(required=True)
date_end = fields.Date()
property_id = fields.Many2one(comodel_name="hr.contract.property", required=True)
value_type = fields.Selection(related="property_id.value_type")
value_boolean = fields.Boolean(string="Yes/No")
value_float = fields.Float(string="Number")
value_id = fields.Many2one(
comodel_name="hr.contract.property.value",
domain="[('property_id', '=', property_id)]",
)
reason_id = fields.Many2one(comodel_name="hr.contract.property.reason")
3 changes: 3 additions & 0 deletions hr_contract_history/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
11 changes: 11 additions & 0 deletions hr_contract_history/security/hr_payroll_security.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<odoo noupdate="1">
<!-- Company-restricted Records -->
<record model="ir.rule" id="hr_contract_property_value_company_rule">
<field name="name">Contract History Values: multi-company</field>
<field name="model_id" ref="model_hr_contract_value" />
<field name="global" eval="True" />
<field name="domain_force">
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
</field>
</record>
</odoo>
6 changes: 6 additions & 0 deletions hr_contract_history/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_contract_property_group,access_hr_contract_property_group,model_hr_contract_property_group,hr.group_hr_user,1,1,1,1
access_hr_contract_property,access_hr_contract_property,model_hr_contract_property,hr.group_hr_user,1,1,1,1
access_hr_contract_property_value,access_hr_contract_property_value,model_hr_contract_property_value,hr.group_hr_user,1,1,1,1
access_hr_contract_property_reason,access_hr_contract_property_reason,model_hr_contract_property_reason,hr.group_hr_user,1,1,1,1
access_hr_contract_history,access_hr_contract_history,model_hr_contract_value,hr.group_hr_user,1,1,1,1
244 changes: 244 additions & 0 deletions hr_contract_history/views/hr_contract_value_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
<odoo>
<record id="view_hr_contract_property_group_list" model="ir.ui.view">
<field name="model">hr.contract.property.group</field>
<field name="arch" type="xml">
<list>
<field name="name" />
<field name="code" />
<field name="active" />
</list>
</field>
</record>

<record id="view_hr_contract_property_group_form" model="ir.ui.view">
<field name="model">hr.contract.property.group</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
<field name="code" />
<field name="active" />
</group>
</form>
</field>
</record>

<record id="view_hr_contract_property_list" model="ir.ui.view">
<field name="model">hr.contract.property</field>
<field name="arch" type="xml">
<list>
<field name="name" />
<field name="code" />
<field name="value_type" />
<field name="property_group_id" />
<field name="active" />
</list>
</field>
</record>

<record id="view_hr_contract_property_form" model="ir.ui.view">
<field name="model">hr.contract.property</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
<field name="code" />
<field name="value_type" />
<field name="property_group_id" />
<field name="active" />
</group>
</form>
</field>
</record>

<record id="view_hr_contract_property_value_list" model="ir.ui.view">
<field name="model">hr.contract.property.value</field>
<field name="arch" type="xml">
<list>
<field name="name" />
<field name="code" />
<field name="property_id" />
<field name="active" />
</list>
</field>
</record>

<record id="view_hr_contract_property_value_form" model="ir.ui.view">
<field name="model">hr.contract.property.value</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
<field name="code" />
<field name="property_id" />
<field name="active" />
</group>
</form>
</field>
</record>

<record id="view_hr_contract_property_reason_list" model="ir.ui.view">
<field name="model">hr.contract.property.reason</field>
<field name="arch" type="xml">
<list>
<field name="name" />
<field name="code" />
<field name="active" />
</list>
</field>
</record>

<record id="view_hr_contract_property_reason_form" model="ir.ui.view">
<field name="model">hr.contract.property.reason</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
<field name="code" />
<field name="active" />
</group>
</form>
</field>
</record>

<record id="view_hr_contract_history_list" model="ir.ui.view">
<field name="model">hr.contract.value</field>
<field name="arch" type="xml">
<list>
<field name="contract_id" />
<field name="employee_id" />
<field name="date_start" />
<field name="date_end" />
<field name="property_id" />
<field name="value_type" invisible="True" />
<field name="value_boolean" invisible="not (value_type == 'bool')" />
<field name="value_float" invisible="not (value_type == 'float')" />
<field name="value_id" invisible="not (value_type == 'selection')" />
<field name="reason_id" />
</list>
</field>
</record>

<record id="view_hr_contract_history_form" model="ir.ui.view">
<field name="model">hr.contract.value</field>
<field name="arch" type="xml">
<form>
<group>
<group>
<field name="contract_id" />
<field name="employee_id" />
<field name="property_id" />
</group>
<group>
<field name="date_start" />
<field name="date_end" />
<field name="value_type" invisible="True" />
<field name="value_boolean" />
<field name="value_float" />
<field name="value_id" />
<field name="reason_id" />
</group>
</group>
</form>
</field>
</record>

<!-- Window Actions -->
<record id="action_hr_contract_property_group" model="ir.actions.act_window">
<field name="name">Contract Property Groups</field>
<field name="res_model">hr.contract.property.group</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create the first Contract Property Group
</p>
</field>
</record>

<record id="action_hr_contract_property" model="ir.actions.act_window">
<field name="name">Contract Properties</field>
<field name="res_model">hr.contract.property</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create the first Contract Property
</p>
</field>
</record>

<record id="action_hr_contract_property_value" model="ir.actions.act_window">
<field name="name">Contract Property Values</field>
<field name="res_model">hr.contract.property.value</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create the first Contract Property Value
</p>
</field>
</record>

<record id="action_hr_contract_property_reason" model="ir.actions.act_window">
<field name="name">Contract Property Reasons</field>
<field name="res_model">hr.contract.property.reason</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create the first Contract Property Reason
</p>
</field>
</record>

<record id="action_hr_contract_history" model="ir.actions.act_window">
<field name="name">Contract History</field>
<field name="res_model">hr.contract.value</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create the first Contract History
</p>
</field>
</record>

<!-- Configuration Menus -->
<menuitem
id="payroll_menu_configuration"
name="Contract Values"
parent="hr.menu_human_resources_configuration"
sequence="100"
/>
<menuitem
id="menu_hr_contract_property_group"
name="Contract Property Groups"
parent="payroll_menu_configuration"
action="action_hr_contract_property_group"
sequence="10"
/>
<menuitem
id="menu_hr_contract_property"
name="Contract Properties"
parent="payroll_menu_configuration"
action="action_hr_contract_property"
sequence="20"
/>
<menuitem
id="menu_hr_contract_property_value"
name="Contract Property Values"
parent="payroll_menu_configuration"
action="action_hr_contract_property_value"
sequence="30"
/>
<menuitem
id="menu_hr_contract_property_reason"
name="Contract Property Reasons"
parent="payroll_menu_configuration"
action="action_hr_contract_property_reason"
sequence="40"
/>
<menuitem
id="menu_hr_contract_history"
name="Contract Values History"
parent="payroll_menu_configuration"
action="action_hr_contract_history"
sequence="50"
/>
</odoo>
Loading
Loading