mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-26 23:52:00 +02:00
19.0 vanilla
This commit is contained in:
parent
a1137a1456
commit
e1d89e11e3
2789 changed files with 1093187 additions and 605897 deletions
|
|
@ -7,30 +7,40 @@ from odoo import api, fields, models
|
|||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = 'res.config.settings'
|
||||
|
||||
module_project_timesheet_synchro = fields.Boolean("Awesome Timesheet",
|
||||
compute="_compute_timesheet_modules", store=True, readonly=False)
|
||||
module_project_timesheet_holidays = fields.Boolean("Time Off",
|
||||
compute="_compute_timesheet_modules", store=True, readonly=False)
|
||||
reminder_user_allow = fields.Boolean(string="Employee Reminder")
|
||||
reminder_manager_allow = fields.Boolean(string="Manager Reminder")
|
||||
reminder_allow = fields.Boolean(string="Approver Reminder")
|
||||
project_time_mode_id = fields.Many2one(
|
||||
'uom.uom', related='company_id.project_time_mode_id', string='Project Time Unit', readonly=False,
|
||||
help="This will set the unit of measure used in projects and tasks.\n"
|
||||
"If you use the timesheet linked to projects, don't "
|
||||
"forget to setup the right unit of measure in your employees.")
|
||||
timesheet_encode_uom_id = fields.Many2one('uom.uom', string="Encoding Unit",
|
||||
related='company_id.timesheet_encode_uom_id', readonly=False)
|
||||
is_encode_uom_days = fields.Boolean(compute='_compute_is_encode_uom_days')
|
||||
is_encode_uom_days = fields.Boolean(compute='_compute_is_encode_uom_days', export_string_translation=False)
|
||||
timesheet_encode_method = fields.Selection([
|
||||
('hours', 'Hours / Minutes'),
|
||||
('days', 'Days / Half-Days'),
|
||||
], string='Encoding Method', compute="_compute_timesheet_encode_method", inverse="_inverse_timesheet_encode_method", required=True)
|
||||
|
||||
@api.depends('timesheet_encode_uom_id')
|
||||
def _compute_is_encode_uom_days(self):
|
||||
product_uom_day = self.env.ref('uom.product_uom_day')
|
||||
@api.depends('company_id')
|
||||
def _compute_timesheet_encode_method(self):
|
||||
uom_day = self.env.ref('uom.product_uom_day', raise_if_not_found=False)
|
||||
for settings in self:
|
||||
settings.is_encode_uom_days = settings.timesheet_encode_uom_id == product_uom_day
|
||||
settings.timesheet_encode_method = 'days' if settings.company_id.timesheet_encode_uom_id == uom_day else 'hours'
|
||||
|
||||
def _inverse_timesheet_encode_method(self):
|
||||
uom_day = self.env.ref('uom.product_uom_day', raise_if_not_found=False)
|
||||
uom_hour = self.env.ref('uom.product_uom_hour', raise_if_not_found=False)
|
||||
for settings in self:
|
||||
settings.company_id.timesheet_encode_uom_id = uom_day if settings.timesheet_encode_method == 'days' else uom_hour
|
||||
|
||||
@api.depends('timesheet_encode_method')
|
||||
def _compute_is_encode_uom_days(self):
|
||||
for settings in self:
|
||||
settings.is_encode_uom_days = settings.timesheet_encode_method == 'days'
|
||||
|
||||
@api.depends('module_hr_timesheet')
|
||||
def _compute_timesheet_modules(self):
|
||||
self.filtered(lambda config: not config.module_hr_timesheet).update({
|
||||
'module_project_timesheet_synchro': False,
|
||||
'module_project_timesheet_holidays': False,
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue