Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] project_timesheet_time_control #1414

Open
wants to merge 63 commits into
base: 18.0
Choose a base branch
from

Conversation

jdebetaz
Copy link

No description provided.

sergio-teruel and others added 30 commits January 15, 2025 15:31
* Decorate methods correctly + README imp
* Add tests
* Add button on tasks
* Better README
* open/close behaviour
Update README
Adapt tests
Redefine the new kanban and form view of account.analytic.line
to add 'Close/Open task' button and 'Stop' button
We need to override standard onchange, as it resets the previously
introduced task.
Currently translated at 100.0% (8 of 8 strings)

Translation: project-12.0/project-12.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-12-0/project-12-0-project_timesheet_time_control/pt_BR/
This is a huge improvement in this module's usability, although basic functionality stays the same. Let me summmarize:

- In `account.analytic.line` views, the *Stop* button is replaced by colorful *Resume/Stop* buttons.
- The new *Resume* button will display a wizard that will duplicate all meaningful fields from the previous `account.analytic.line` record and auto-stop the previous running timer, if any.
- If the previous running timer is very old, some warnings will be displayed.
- In `project.project` and `project.task` views, I added the same buttons (well... it's *Start* instead of *Resume*, because you could not have worked before in that project or task, but it behaves the same).
- If using it from a `project.task`, *Start* will duplicate meaningful fields from your latest line in that task.
- If using it from a `project.project`, *Start* will duplicate meaningful fields your latest line in that project that had no task associated.
- All kanban, kanban mobile, list and form views are covered.
- Access the new wizard directly from a menu item if you prefer.
- I removed, BTW, some Bootstrap 3 and bad replacements in some views.
…as found

Imagine this scenario:

1. In tab 1 of the browser, you have opened task 1.
2. In tab 2 of the browser, you have opened task 2.
3. You go to tab 1 and start a timer.
4. Work, work, work...
5. You go to tab 2 and start a timer, stopping that of task 1.
6. Work, work, work...
7. You go to tab 1 and see that timer as running (it is not, but you didn't refresh). You hit stop.

Before this commit, it just seemed like the timer was actually stopped. What did happen behind the scenes is that your view was refreshed, but no timer was touched fortunately.

After this commit, you get a message telling you that there's no timer to stop and that your browser is most likely out of sync. This mimics the behavior previously found when doing the same, but directly in the AAL. Now it's present in projects and tasks too.
Models related to timesheet time controls now inherit from a mixin that adds most needed logic automatically.
Currently translated at 32.3% (20 of 62 strings)

Translation: project-12.0/project-12.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-12-0/project-12-0-project_timesheet_time_control/sl/
Currently translated at 7.9% (5 of 63 strings)

Translation: project-12.0/project-12.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-12-0/project-12-0-project_timesheet_time_control/de/
- Standard procedure
- README regeneration
- Start new timer little adjustment
- Avoid new check for shared m2m tables
…imesheet_activity_begin_end + field for end time

- take users timezone into account when setting date field
- Prior to this commit, trying to resume an activity which had a start
  time or end time set would cause the newly created timesheet to throw
  a validation error because time_stop - time_start must equal duration.
  This commit fixes that issues by adding those fields to the ignore list
- Adds a field to the timesheet to store the end time. It is not
  required to enter the end time, if it is not entered it is calculated
  automatically by comparing the start time and the duration, if only a
  start time and end time are entered, then the duration is calculated
  accordingly. The end time field is set to optional in the tree view.
Currently translated at 100.0% (67 of 67 strings)

Translation: project-13.0/project-13.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-13-0/project-13-0-project_timesheet_time_control/he_IL/
Currently translated at 16.4% (11 of 67 strings)

Translation: project-13.0/project-13.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-13-0/project-13-0-project_timesheet_time_control/de/
Currently translated at 67.1% (45 of 67 strings)

Translation: project-13.0/project-13.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-13-0/project-13-0-project_timesheet_time_control/nl/
Currently translated at 100.0% (67 of 67 strings)

Translation: project-14.0/project-14.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-14-0/project-14-0-project_timesheet_time_control/es_AR/
Currently translated at 88.0% (59 of 67 strings)

Translation: project-14.0/project-14.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-14-0/project-14-0-project_timesheet_time_control/nl/
Currently translated at 95.5% (64 of 67 strings)

Translation: project-14.0/project-14.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-14-0/project-14-0-project_timesheet_time_control/fr/
Currently translated at 14.9% (10 of 67 strings)

Translation: project-14.0/project-14.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-14-0/project-14-0-project_timesheet_time_control/it/
Currently translated at 100.0% (76 of 76 strings)

Translation: project-14.0/project-14.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-14-0/project-14-0-project_timesheet_time_control/es_AR/
aktiv-heli-kantawala and others added 21 commits January 15, 2025 15:31
Co-Authored-By: Stefan Ungureanu <[email protected]>
Co-Authored-By: Pedro M. Baeza <[email protected]>
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/
Currently translated at 100.0% (48 of 48 strings)

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/it/
Currently translated at 87.5% (42 of 48 strings)

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/pt_BR/
Currently translated at 100.0% (48 of 48 strings)

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/pt_BR/
Currently translated at 100.0% (48 of 48 strings)

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/ca/
Currently translated at 100.0% (48 of 48 strings)

Translation: project-16.0/project-16.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_timesheet_time_control/sv/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: project-17.0/project-17.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-17-0/project-17-0-project_timesheet_time_control/
Currently translated at 4.2% (2 of 47 strings)

Translation: project-17.0/project-17.0-project_timesheet_time_control
Translate-URL: https://translation.odoo-community.org/projects/project-17-0/project-17-0-project_timesheet_time_control/zh_TW/
Only "advanced" users have read access to ir.model, for this reason, we need to apply .sudo()
@jdebetaz jdebetaz changed the title 18.0 mig project timesheet time control [18.0][MIG] project_timesheet_time_control Jan 15, 2025
@jdebetaz jdebetaz force-pushed the 18.0-mig-project_timesheet_time_control branch from 91a0530 to 11fd252 Compare January 15, 2025 15:43
[IMP] project_timesheet_time_control: pre-commit execution

[MIG] project_timesheet_time_control: Migration to 18.0

[MIG] project_timesheet_time_control: Migration to 18.0

[MIG] project_timesheet_time_control: Migration to 18.0

[MIG] project_timesheet_time_control: Migration to 18.0
@jdebetaz jdebetaz force-pushed the 18.0-mig-project_timesheet_time_control branch from 11fd252 to 600af73 Compare January 15, 2025 15:46
@rousseldenis
Copy link

/ocabot migration project_timesheet_time_control


class AccountAnalyticLine(models.Model):
_inherit = "account.analytic.line"
_order = "date_time desc"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm always reluctant to change standard _order as it can cause problems in side modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.