diff --git a/timesheet_entry_block/models/timesheet.py b/timesheet_entry_block/models/timesheet.py index bfa2ddc..215e4e1 100755 --- a/timesheet_entry_block/models/timesheet.py +++ b/timesheet_entry_block/models/timesheet.py @@ -35,16 +35,19 @@ class TimehseetBlock(models.Model): entry_start_date = datetime.strptime(str(values['start_datetime']),"%Y-%m-%d %H:%M:%S").date() entry_end_date = datetime.strptime(values['end_datetime'],"%Y-%m-%d %H:%M:%S").date() employee_object = self.env['hr.employee'].search([('user_id', '=', self.env.uid)]) - project_manager_group = self.env.ref('hr_timesheet.group_timesheet_manager') - if self.env.uid not in project_manager_group.users.ids: - permission_block_object = employee_object.permission_block_history.search( - [('employee_id', '=', employee_object.id)],order='create_date desc', limit=1) - if permission_block_object: - if (permission_block_object.start_date <= entry_start_date and permission_block_object.end_date >= entry_start_date) or ( - permission_block_object.start_date <= entry_end_date and permission_block_object.end_date >= entry_end_date): - raise AccessError('You are not allowed to create entry for this date!') - else: - pass + # project_manager_group = self.env.ref('hr_timesheet.group_timesheet_manager') + permission_block_object = employee_object.permission_block_history.search( + [('employee_id', '=', employee_object.id)], order='create_date desc', limit=1) + if permission_block_object: + if (permission_block_object.start_date <= entry_start_date and permission_block_object.end_date >= entry_start_date) or ( + permission_block_object.start_date <= entry_end_date and permission_block_object.end_date >= entry_end_date) or ( + permission_block_object.start_date >= entry_start_date and permission_block_object.end_date <= entry_end_date + ) or ( + permission_block_object.end_date >= entry_start_date and permission_block_object.end_date <= entry_end_date + ): + raise AccessError('You are not allowed to create entry for this date!') + else: + pass return super(TimehseetBlock, self).create(values) @@ -65,18 +68,21 @@ class TimehseetBlock(models.Model): entry_start_date = datetime.strptime(str(res_start_date), '%Y-%m-%d %H:%M:%S').date() entry_end_date = datetime.strptime(str(res_end_date), '%Y-%m-%d %H:%M:%S').date() employee_object = self.env['hr.employee'].search([('user_id', '=', self.env.uid)]) - project_manager_group = self.env.ref('hr_timesheet.group_timesheet_manager') - if self.env.uid not in project_manager_group.users.ids: - if self.user_id.id == self.env.uid: - permission_block_object = employee_object.permission_block_history.search( - [('employee_id', '=', employee_object.id)], order='create_date desc', limit=1) - if permission_block_object: - if ( - permission_block_object.start_date <= entry_start_date and permission_block_object.end_date >= entry_start_date) or ( - permission_block_object.start_date <= entry_end_date and permission_block_object.end_date >= entry_end_date): - raise AccessError('You are not allowed to edit entry for this date!') - else: - pass + # project_manager_group = self.env.ref('hr_timesheet.group_timesheet_manager') + if self.user_id.id == self.env.uid: + permission_block_object = employee_object.permission_block_history.search( + [('employee_id', '=', employee_object.id)], order='create_date desc', limit=1) + if permission_block_object: + if ( + permission_block_object.start_date <= entry_start_date and permission_block_object.end_date >= entry_start_date) or ( + permission_block_object.start_date <= entry_end_date and permission_block_object.end_date >= entry_end_date) or ( + permission_block_object.start_date >= entry_start_date and permission_block_object.end_date <= entry_end_date + ) or ( + permission_block_object.end_date >= entry_start_date and permission_block_object.end_date <= entry_end_date + ): + raise AccessError('You are not allowed to edit entry for this date!') + else: + pass return super(TimehseetBlock, self).write(record) diff --git a/timesheet_entry_block/views/timesheet.xml b/timesheet_entry_block/views/timesheet.xml index 65584b1..1f45b58 100755 --- a/timesheet_entry_block/views/timesheet.xml +++ b/timesheet_entry_block/views/timesheet.xml @@ -8,7 +8,7 @@ -