Repository
OCA/hr · module folder · Try on Runboat
Module version
1.0.0
Category
Generic Modules/Human Resources
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://www.savoirfairelinux.com/
Last tracking update
2026-08-07 07:17:50
Authors
Savoir-faire Linux, Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania)
Maintainers
Savoir-faire Linux, Odoo Community Association (OCA), Fekete Mihai (Forest and Biomass Services Romania)
Committers
Pedro M. Baeza, Stéphane Bidoul (ACSONE), Iryna Vushnevska
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
hr_contract_view_form hr.contract.view.form hr.contract form Inherits hr_contract_multi_jobs.hr_contract_view_form
view_hr_hourly_rate_class_filter Hourly Rate Classes hr.hourly.rate.class search New
view_hr_hourly_rate_class_form hr.hourly.rate.class.form hr.hourly.rate.class form New
view_hr_hourly_rate_class_tree hr.hourly.rate.class.tree hr.hourly.rate.class tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • salary_computation_method Selection
    default='monthly' help='Whether to use the annual wage or an hourly rate for computation of payslip.' required=True string='Salary Computation Method' args: [('yearly', 'Annual Wage'), ('monthly', 'Monthly Wage'), ('hourly', 'Hourly Wage')]
Public methods (1)
  • get_job_hourly_rate(self, date_from, date_to, job_id=False, main_job=False)
    @api.multi
    Get the hourly rate related to a job on a contract for a given interval of time (date_from, date_to) 2 cases: get the hourly rate - related to a given job position id (job_id == int) - related to the main job on the contract (main_job == True) This function is intended to be used on payslip worked days to fill the hourly_rate field. If no rate completely overlap the given period (date_from, date_to), False is returned and the hourly rate must then be entered manually.

New fields (2)
  • hourly_rate Float
    compute='_get_current_hourly_rate' string='Hourly Rate'
  • hourly_rate_class_id Many2one → hr.hourly.rate.class
    string='Hourly Rate Class' args: 'hr.hourly.rate.class'
Public methods (0)

No public methods.

New fields (4)
  • class_id Many2one → hr.hourly.rate.class
    ondelete='cascade' required=True string='Salary Class' args: 'hr.hourly.rate.class'
  • date_end Date
    string='End Date'
  • date_start Date
    default=fields.Date.today() required=True string='Start Date'
  • rate Float
    required=True string='Rate'
Public methods (0)

No public methods.

New fields (3)
  • contract_job_ids One2many → hr.contract.job
    string='Contract Jobs' args: 'hr.contract.job', 'hourly_rate_class_id'
  • line_ids One2many → hr.hourly.rate
    string='Hourly Rates' args: 'hr.hourly.rate', 'class_id'
  • name Char
    index=True required=True string='Class Name'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…