1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # -*- coding: utf-8 -*-
- # Part of Odoo. See LICENSE file for full copyright and licensing details.
- from odoo import api, fields, models
- class ResConfigSettings(models.TransientModel):
- _inherit = 'res.config.settings'
- group_attendance_use_pin = fields.Boolean(
- string='Employee PIN',
- implied_group="hr_attendance.group_hr_attendance_use_pin")
- hr_attendance_overtime = fields.Boolean(
- string="Count Extra Hours", readonly=False)
- overtime_start_date = fields.Date(string="Extra Hours Starting Date", readonly=False)
- overtime_company_threshold = fields.Integer(
- string="Tolerance Time In Favor Of Company", readonly=False)
- overtime_employee_threshold = fields.Integer(
- string="Tolerance Time In Favor Of Employee", readonly=False)
- attendance_kiosk_mode = fields.Selection(related='company_id.attendance_kiosk_mode', readonly=False)
- attendance_barcode_source = fields.Selection(related='company_id.attendance_barcode_source', readonly=False)
- attendance_kiosk_delay = fields.Integer(related='company_id.attendance_kiosk_delay', readonly=False)
- @api.model
- def get_values(self):
- res = super(ResConfigSettings, self).get_values()
- company = self.env.company
- res.update({
- 'hr_attendance_overtime': company.hr_attendance_overtime,
- 'overtime_start_date': company.overtime_start_date,
- 'overtime_company_threshold': company.overtime_company_threshold,
- 'overtime_employee_threshold': company.overtime_employee_threshold,
- })
- return res
- def set_values(self):
- super().set_values()
- company = self.env.company
- # Done this way to have all the values written at the same time,
- # to avoid recomputing the overtimes several times with
- # invalid company configurations
- fields_to_check = [
- 'hr_attendance_overtime',
- 'overtime_start_date',
- 'overtime_company_threshold',
- 'overtime_employee_threshold',
- ]
- if any(self[field] != company[field] for field in fields_to_check):
- company.write({field: self[field] for field in fields_to_check})
|