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

[IMP] project_timesheet_time_control: ❤️ 4 UX #586

Merged

Conversation

yajo
Copy link
Member

@yajo yajo commented Sep 30, 2019

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.
  • I removed, BTW, some Bootstrap 3 and bad replacements in some views.

@Tecnativa TT19205
Inspired by OCA/timesheet#139.

@rafaelbn rafaelbn added this to the 12.0 milestone Sep 30, 2019
Copy link
Member

@chienandalu chienandalu left a comment

Choose a reason for hiding this comment

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

These improvements are great!

A little issue:

  • Go to timesheet and create two lines succesively.
  • The timer of the first one doesn't stop so the times overlap.

Is it intended?

@yajo
Copy link
Member Author

yajo commented Oct 1, 2019

A little issue:

* Go to timesheet and create two lines succesively.

* The timer of the first one doesn't stop so the times overlap.

Is it intended?

There's no constraint that forbids creating 2 lines with 0 time. Maybe I should add a unique constraint to avoid that?

@pedrobaeza
Copy link
Member

I don't think we should control that.

@yajo
Copy link
Member Author

yajo commented Oct 1, 2019

That's what I though at first also. After having these controls in place, it's more likely that you create your lines from projects/tasks view than timesheet ones.

🤔 Maybe I could add a button to create a line from scratch from the menu, opening the wizard without smar fills, to let user autostop latest line.

@pedrobaeza
Copy link
Member

Uhm, maybe we can make a similar screen to the attendance one with big button for starting and stopping.

@yajo
Copy link
Member Author

yajo commented Oct 1, 2019

That'd be much harder than just adding a menu item that opens the wizard. It would involve JS. I think the menu item should be enough

@pedrobaeza
Copy link
Member

Well, let's put it on the roadmap. I don't see the menu too much added value.

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from 4f6e1aa to c78e306 Compare October 1, 2019 11:44
@yajo
Copy link
Member Author

yajo commented Oct 1, 2019

I thought about it and it makes sense. I added this menu: Timesheets > Timesheet > Start work

It opens this wizard, without autocompletes. In the screenshot you can see the obvious benefit of doing it this way instead of just creating a new record: it warns about an old running timer and lets you go to it or stop it and start a new timer with one click:

Captura de pantalla de 2019-10-01 12-31-38

So, although I think we will use it less because the new buttons in tasks and projects are so cool, I still think it's good to have it for those that want to input a new line from scratch.

After all, it's just an action and menu item, so easy it's done already.

Copy link
Member

@Tardo Tardo left a comment

Choose a reason for hiding this comment

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

LGTM 👍 Awesome improvements!

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from c78e306 to cd56285 Compare October 2, 2019 07:38
@pedrobaeza
Copy link
Member

Please add Spanish translation

@yajo
Copy link
Member Author

yajo commented Oct 2, 2019

Done. I just have to add some tests and try to ensure the wizard always features a hotkey to make it more handy.

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from cd56285 to 659e5a2 Compare October 2, 2019 09:41
yajo added a commit to Tecnativa/timesheet that referenced this pull request Oct 2, 2019
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from 659e5a2 to 65d34a9 Compare October 2, 2019 09:57
@yajo
Copy link
Member Author

yajo commented Oct 2, 2019

try to ensure the wizard always features a hotkey

Enforcing a hotkey is very error-prone in a wizard, it's easier to rely on the automatic one, as far as there are available, so I opened OCA/timesheet#278 and patched a little bit kanban and tree views here to add more chances for the wizard button to get a hotkey. Now it will have one almost always.

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from 65d34a9 to 8a8247a Compare October 7, 2019 13:21
@pedrobaeza
Copy link
Member

Can you improve a bit more test coverage?

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from 8a8247a to e551601 Compare October 8, 2019 08:00
@yajo
Copy link
Member Author

yajo commented Oct 8, 2019

Yes, it's on my roadmap, do not merge still please.

@yajo yajo changed the title [IMP] project_timesheet_line: ❤️ 4 UX [IMP] project_timesheet_time_control: ❤️ 4 UX Oct 8, 2019
Copy link
Member

@rafaelbn rafaelbn left a comment

Choose a reason for hiding this comment

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

Awesome! Functionally 👍

@yajo yajo force-pushed the 12.0-project_timesheet_time_control-ux_love branch from e551601 to 8af00ff Compare October 8, 2019 12:52
@yajo
Copy link
Member Author

yajo commented Oct 8, 2019

If I'm not wrong, this should go 100% ☔ now.

@OCA-git-bot
Copy link
Contributor

This PR has the approved label and has been created more than 5 days ago. It should therefore be ready to merge by a maintainer (or a PSC member if the concerned addon has no declared maintainer). 🤖

@OCA-git-bot OCA-git-bot merged commit 2b94a84 into OCA:12.0 Oct 10, 2019
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at c4137d5. Thanks a lot for contributing to OCA. ❤️

@OCA-git-bot OCA-git-bot changed the title [IMP] project_timesheet_time_control: ❤️ 4 UX [IMP] project_timesheet_time_control: ❤️ 4 UX Oct 10, 2019
@yajo yajo deleted the 12.0-project_timesheet_time_control-ux_love branch October 10, 2019 10:51
yajo added a commit to Tecnativa/timesheet that referenced this pull request Oct 11, 2019
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
manuelcalerosolis pushed a commit to Tecnativa/timesheet that referenced this pull request Feb 11, 2020
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
manuelcalerosolis pushed a commit to Tecnativa/timesheet that referenced this pull request Feb 27, 2020
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
pedrobaeza pushed a commit to Tecnativa/timesheet that referenced this pull request Jul 3, 2020
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
pedrobaeza pushed a commit to Tecnativa/timesheet that referenced this pull request Sep 26, 2020
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
paidykumar-dreambits pushed a commit to paidykumar-dreambits/timesheet that referenced this pull request Feb 6, 2021
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
fshah-initos pushed a commit to initOS/timesheet that referenced this pull request Mar 15, 2021
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
fshah-initos pushed a commit to initOS/timesheet that referenced this pull request Mar 31, 2021
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
dsolanki-initos pushed a commit to initOS/timesheet that referenced this pull request May 3, 2021
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
hkapatel-initos pushed a commit to initOS/timesheet that referenced this pull request Sep 3, 2021
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
manuelcalerosolis pushed a commit to xtendoo-corporation/timesheet that referenced this pull request Jun 28, 2022
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
LudLaf pushed a commit to Tecnativa/timesheet that referenced this pull request Nov 21, 2022
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
pedrobaeza pushed a commit to Tecnativa/timesheet that referenced this pull request Nov 27, 2022
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
aktiv-heli-kantawala pushed a commit to aktiv-heli-kantawala/timesheet that referenced this pull request Jun 6, 2023
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
carolinafernandez-tecnativa pushed a commit to Tecnativa/timesheet that referenced this pull request Sep 25, 2023
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
carolinafernandez-tecnativa pushed a commit to Tecnativa/timesheet that referenced this pull request Sep 25, 2023
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
mde-scopea pushed a commit to mde-scopea/timesheet that referenced this pull request Jan 31, 2024
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
bizzappdev pushed a commit to BizzAppDev-Systems/timesheet that referenced this pull request Mar 15, 2024
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
bizzappdev pushed a commit to BizzAppDev-Systems/timesheet that referenced this pull request Mar 15, 2024
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
RogerSans pushed a commit to sygel-technology/timesheet that referenced this pull request Jul 29, 2024
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
RogerSans pushed a commit to sygel-technology/timesheet that referenced this pull request Jul 29, 2024
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
HeliconiaSolutions pushed a commit to HeliconiaIO/timesheet that referenced this pull request Jan 2, 2025
Without this attribute, Odoo will try to assign a hotkey to buttons. It's very unlikely that these buttons have to be used like this, and since there's a limited number of available hotkeys, they steal them to more important ones like the wizard proposed at OCA/project#586.
jdebetaz pushed a commit to jdebetaz/oca-timesheet that referenced this pull request Jan 15, 2025
Following the changes from OCA/project#586, here I implement the same UX when using it with CRM leads.
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.

6 participants