diff --git a/timesheet_block/models/timesheet.py b/timesheet_block/models/timesheet.py index 5f96324..0e3289a 100755 --- a/timesheet_block/models/timesheet.py +++ b/timesheet_block/models/timesheet.py @@ -7,8 +7,15 @@ from dateutil import relativedelta class EmployeeInherit(models.Model): _inherit = 'hr.employee' - allow_to_edit = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')],string="Allow to edit",store=True) - allow_to_create = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')] , store=True) + allow_to_edit = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')],string="Allow to edit") + allow_to_create = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')] ) + permission_history = fields.One2many(comodel_name="timesheet.block.history", inverse_name="employee_id", + string="History", required=False ) +class EmployeePublicInherit(models.Model): + _inherit = 'hr.employee.public' + + allow_to_edit = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')],string="Allow to edit") + allow_to_create = fields.Selection(selection=[('always', 'Always'), ('specific', 'Specific')] ) permission_history = fields.One2many(comodel_name="timesheet.block.history", inverse_name="employee_id", string="History", required=False ) @@ -30,8 +37,7 @@ class TimehseetBlock(models.Model): @api.model def create(self, values): current_date = datetime.today().date() - entry_date = datetime.strptime(values['date'], "%Y-%m-%d").date() - # values['date'] = datetime.strptime(values['date'], "%Y-%m-%d %H:%M:%S") + entry_date = datetime.strptime(values['start_datetime'],"%Y-%m-%d %H:%M:%S").date() months_diff = current_date.month - entry_date.month employee_object = self.env['hr.employee'].sudo().search([('user_id', '=', self.env.uid)]) project_manager_group = self.env.ref('hr_timesheet.group_timesheet_manager') @@ -71,8 +77,7 @@ class TimehseetBlock(models.Model): def write(self, values): current_date = datetime.today().date() if 'date' in values: - entry_date = datetime.strptime(values['date'], "%Y-%m-%d").date() - # values['date'] = datetime.strptime(values['date'], "%Y-%m-%d %H:%M:%S") + entry_date = datetime.strptime(values['start_datetime'],"%Y-%m-%d %H:%M:%S").date() else: res_date = str(self.date).split('.', 1)[0] entry_date = datetime.strptime(str(res_date), '%Y-%m-%d').date() @@ -111,3 +116,11 @@ class TimehseetBlock(models.Model): else: raise AccessError('You can not create future entry') + + @api.onchange('end_datetime') + def _onchange_end_datetime(self): + if self.end_datetime: + current_date = datetime.today().date() + end_date = datetime.strptime(str(self.end_datetime), "%Y-%m-%d %H:%M:%S").date() + if end_date > current_date: + raise AccessError('End date cannot be a future date!')