|
|
@ -25,7 +25,7 @@ class ProjectTaskTimeSheet(models.Model): |
|
|
|
_inherit = 'account.analytic.line' |
|
|
|
|
|
|
|
date_start = fields.Datetime(string='Start Date') |
|
|
|
date_end = fields.Datetime(string='End Date', readonly=1) |
|
|
|
date_end = fields.Datetime(string='End Date') |
|
|
|
timer_duration = fields.Float(invisible=1, string='Time Duration (Minutes)') |
|
|
|
|
|
|
|
|
|
|
@ -52,8 +52,10 @@ class ProjectTaskTimer(models.Model): |
|
|
|
for record in self: |
|
|
|
record.task_timer = not record.task_timer |
|
|
|
if self.task_timer: |
|
|
|
print("self.task_timer") |
|
|
|
self.write({'is_user_working': True}) |
|
|
|
time_line = self.env['account.analytic.line'] |
|
|
|
print(time_line, "time_line") |
|
|
|
for time_sheet in self: |
|
|
|
time_line.create({ |
|
|
|
'name': self.env.user.name + ': ' + time_sheet.name, |
|
|
@ -65,18 +67,19 @@ class ProjectTaskTimer(models.Model): |
|
|
|
else: |
|
|
|
self.write({'is_user_working': False}) |
|
|
|
time_line_obj = self.env['account.analytic.line'] |
|
|
|
print(time_line_obj, "time_line_obj") |
|
|
|
domain = [('task_id', 'in', self.ids), ('date_end', '=', False)] |
|
|
|
for time_line in time_line_obj.search(domain): |
|
|
|
print(time_line, "else") |
|
|
|
time_line.write({'date_end': fields.Datetime.now()}) |
|
|
|
if time_line.date_end: |
|
|
|
diff = fields.Datetime.from_string(time_line.date_end) - fields.Datetime.from_string( |
|
|
|
time_line.date_start) |
|
|
|
time_line.date_start) |
|
|
|
print(len(time_line) - 1, "time_line - 1") |
|
|
|
# if time_line == len(time_line) - 1: |
|
|
|
print(len(time_line), "-----------------------") |
|
|
|
time_line.timer_duration = round(diff.total_seconds() / 60.0, 2) |
|
|
|
time_line.unit_amount = round(diff.total_seconds() / (60.0 * 60.0), 2) |
|
|
|
else: |
|
|
|
time_line.unit_amount = 0.0 |
|
|
|
time_line.timer_duration = 0.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|