v 16.0 Third Party 6223
Download for v 16.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Project (project)
Discuss (mail)
Employees (hr)
Lines of code 189
Technical Name project_task_timer
LicenseAGPL-3
Websitehttp://www.cybrosys.com
Versions 16.0 17.0 11.0 12.0 10.0 13.0 14.0 15.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Project (project)
Discuss (mail)
Employees (hr)
Lines of code 189
Technical Name project_task_timer
LicenseAGPL-3
Websitehttp://www.cybrosys.com
Versions 16.0 17.0 11.0 12.0 10.0 13.0 14.0 15.0
Community
Enterprise
Odoo.sh

Project Task Timer

Task Timer With Start & Stop

Overview

You have a toggle button to start & stop your task and record your actual working hours. When you start your task timer, you get a notification, alongside a time sheet entry with starting time that is automatically generated by the timer for that particular task. When you toggle it to stop, the tasks' end date shall be updated and the duration gets automatically calculated.

Features

Timer in Task.
Notification when starting the Timer.
Automatic Timesheet Calculation.

Screenshots

Projects -> Task

After installation, open Projects and go to any task.

Enable the timer

Enable the timer. You can see the timer is running and a notification indicating starting of the timer.

Disabling the timer

While disabling the timer, you can see the automated timesheet entries.

Related Products

Our Services

Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Implementation
Odoo Licensing Consultancy

Our Industries

Trading

Easily procure and sell your products

POS

Easy configuration and convivial experience

Education

A platform for educational management

Manufacturing

Plan, track and schedule your operations

E-commerce & Website

Mobile friendly, awe-inspiring product pages

Service Management

Keep track of services and invoice

Restaurant

Run your bar or restaurant methodically

Hotel Management

An all-inclusive hotel management application

Support

Need Help?

Got questions or need help? Get in touch.

odoo@cybrosys.com

WhatsApp

Say hi to us on WhatsApp!

+91 86068 27707

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Real Duration (Time Counter) don't work
by
SSG
on 6/16/23, 10:03 PM

Dear all
I tried the module on an Odoo 16 community version
When Enable Timer, Real Duration is still 0:00, widget (timesheet_uoms) don't work.

Re: Real Duration (Time Counter) don't work
by
Cybrosys Technologies
on 7/21/23, 12:26 AM Author

Hello, Thanks for reporting. We have updated the module. Please get the latest version.


Format Minutes
by
SSG
on 7/5/23, 1:08 AM
Dear all,
I'm trying this module on Odoo16 Commnunity.
I see on your module, having formated 00:00:00.
But I'm trying 00:00. This is the problem I encountered. Can you help me ?









Re: Format Minutes
by
Cybrosys Technologies
on 8/9/23, 7:36 AM Author

We have updated the module. Please get the latest version.


Error when stopping the timer
by
Maurice Moretti
on 5/10/23, 11:25 AM

Dear all

I tried the module on an Odoo 16 community version

When stopping the timer on a task I get the following error

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/home/tempo/odoo16/odoo/odoo/http.py", line 1583, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/tempo/odoo16/odoo/odoo/service/model.py", line 134, in retrying
result = func()
File "/home/tempo/odoo16/odoo/odoo/http.py", line 1610, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/tempo/odoo16/odoo/odoo/http.py", line 1807, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/tempo/odoo16/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/home/tempo/odoo16/odoo/odoo/http.py", line 696, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/tempo/odoo16/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/tempo/odoo16/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/tempo/odoo16/odoo/odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/tempo/odoo16/odoo/odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/tempo/odoo16/odoo/addons/hr_timesheet/models/project.py", line 358, in write
res = super(Task, self).write(values)
File "/home/tempo/odoo16/odoo/addons/project_sms/models/project_task.py", line 25, in write
res = super().write(vals)
File "/home/tempo/odoo16/odoo/addons/project/models/project.py", line 2122, in write
result = super(Task, tasks).write(vals)
File "/home/tempo/odoo16/odoo/addons/mail/models/mail_thread.py", line 315, in write
result = super(MailThread, self).write(values)
File "/home/tempo/odoo16/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write
return super(MailActivityMixin, self).write(vals)
File "/home/tempo/odoo16/odoo/addons/rating/models/rating_mixin.py", line 104, in write
result = super(RatingMixin, self).write(values)
File "/home/tempo/odoo16/odoo/odoo/models.py", line 3759, in write
real_recs._validate_fields(vals, inverse_fields)
File "/home/tempo/odoo16/odoo/odoo/models.py", line 1348, in _validate_fields
check(self)
File "/home/tempo/odoo16/custom/project_task_timer/models/project_task_timer.py", line 74, in toggle_start
diff = fields.Datetime.from_string(time_line.date_end) - fields.Datetime.from_string(time_line.date_start).replace(microsecond=0)
AttributeError: 'NoneType' object has no attribute 'replace'

The above server error caused the following client error:
null

Re: Error when stopping the timer
by
Cybrosys Technologies
on 6/19/23, 5:11 AM Author

Thanks for reporting. We have updated the module