Commit Graph
33 Commits
Author SHA1 Message Date
Noe Antoine da05b282d9 [IMP] hr_timesheet, website, digest : Add new digest tips
This commits adds a few digest tips concerning the website
customization and shortcuts in timesheet. It also changes
sequence of one.

Add css selectors to include button inside the digest tips,
matching existing style: no underline, white text on odoo
purple button.

PR #63784
Task-2341722

Related: odoo/enterprise#15478
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-02-01 16:51:27 +00:00
Arnaud Joset 9e3870e9e4 [IMP] hr_timesheet: Fix hours/days conversion in graph view
Before this commit, the hr_timesheet reporting graph view always displayed the amount (duration) in hours regardless the Time unit used.

closes odoo/odoo#62576

Taskid: 2391418
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-11-30 08:20:36 +00:00
Giacomello Nathan (ngi) 348f8d6532 [FIX] hr_timesheet: Fix invalid caracters before QR code
In Timesheets module, in Configuration => Settings, when clicking on "Download on the App Store" or "Get it on Google Play",
a popup is displayed with a QR code.
This QR code is composed of an url with some strange data before it:
- 002
- 1
- <the url>

This commit removes datas that are before the url so only the url is displayed.

Task id: 2326324

closes odoo/odoo#58453

X-original-commit: 0bf7ac7539fa4fb7f912bbb6fd477795cb77eff8
Related: odoo/enterprise#13528
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-09-24 15:47:43 +00:00
jbm-odoo 681975466c [FIX] hr_timesheet: Remove unused file
Remove file that was removed from assets file in commit https://github.com/odoo/odoo/pull/52585/commits/d6a23144d5c5b85c2a02097bcbb3e006a9c2c52a

closes odoo/odoo#57880

Taskid: 2327552
X-original-commit: 9c53d4f26a1124037046be768cf404d49022913c
Related: odoo/enterprise#13300
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
2020-09-16 15:34:21 +00:00
jbm-odoo 90b46ce3b2 [FIX] hr_timesheet: Widget for planned hours
Before this commit:
The field `planned_hours` and `subtask_planned_hours` are present
twice. This causes problems with widget: different widgets are put
on different fields, but only the last on was put on all of them.
Code to edit label with hours/days is not flexible, we need to
write each possibilities.

After this commit:
All fields are present only once in the view. A new widget is
created to manage days with a factor. In this new widget, instead
of having a toggle button, we can insert a float.
When the widget timesheet_uom is set on a field, we modify his string
with hours/days.

closes odoo/odoo#57557

Taskid: 2326216
X-original-commit: 5b3804402b3ebee5abe7004b8f8caccadaabfe1e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-09-11 15:00:33 +00:00
Aurélien (avd) ba3d3455ab [IMP]: hr_timesheet: Improve global UX (back2basics)
Back2Basics of the timesheet module. Add helpers/dummy data to improve
the onboarding of the module.

Rename some roles/menus.

Add a QR Code client action when clicking on the timesheet app icons in
settings to allow users to directly download the app on their phone.

closes odoo/odoo#55565

Taskid: 2303955
Related: odoo/enterprise#12273
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-19 15:15:53 +00:00
Anh Thao Pham (pta) 7e49130d89 [IMP] hr_timesheet: hide the "Round timesheets" feature in the settings of Timesheets if encoding unit is Days
[IMP] hr_timesheet: hide the "Timesheet Timer" feature in the project form if encoding unit is not Hours

[IMP] hr_timesheet: clean display of Days for timesheets

A computed field has to be added to retrieve the encoding uom of the current company and be used in the views.
FieldTimesheetFactor field has to be registered to "float_factor" widget for the "planned_hours" field to work correctly with Days
(for the conversion from hours to days to be computed and to be able to set a greater value than 1 day)

If encoding unit for timesheets is set to Days:
- Display Days instead of Hours in Portal > Timesheets
- Display Days instead of Hours in Portal > Tasks
- Display Days instead of Hours in Portal > Invoices & Bills
- Display Days instead of Hours in Portal > Tickets

[IMP] hr_timesheet: display clean duration in Timesheet Entries

Display Days instead of Hours in Timesheet Entries (print action) if encoding unit for timesheets is set to Days

[IMP] hr_timesheet: correctly display timesheets in Days if configured to

- correctly display remaining days in project.task kanban and list view
- hide timer start button if timesheet is configured in Days
- update several column names

[IMP] hr_timesheet: clean code

[IMP] hr_timesheet: small improvements when displaying timesheets in days

- Rename some labels
- Fixes style
- Prevent fields displayed with widget "timesheet_uom" to change when timer is on
- Display correctly "Initially Planned Days" field in task creation form
2020-07-23 13:12:12 +02:00
jbm-odoo d6a23144d5 [MOV] timer: Move to Enterprise
taskId: 2217930
2020-06-15 15:51:20 +02:00
Yannick Tivisse (yti)anddmonzonis dadcec593d [IMP] project: Improve global UX (back2basics)
Improve the onboarding of new users and clean a few screens.

Task ID: 2237996

closes odoo/odoo#50284

Related: odoo/enterprise#10536
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Co-authored-by: dmonzonis <mod@odoo.com>
2020-06-02 12:11:57 +00:00
Yannick Tivisse 45f3659305 [IMP] project,...: Improve list views with new widgets
Purpose
=======

Task 2195254 introduced many wonderful widgets to pimp the list view.
This task aims at implemeting them into the Services apps: project,
timesheets, helpdesk, expense, planning and field service.

Remaining days: https://drive.google.com/file/d/1o4Wn47445GxLqBkw-ifH9MgtFU_437xz/view
Avatar: https://drive.google.com/file/d/1yDwJWP0MZCUKZbqCa8hte1ziVTYRMMtb/view
Activities: https://drive.google.com/file/d/1e_rXH50eZq4zY2HOzw7_pfgiD39SoRIl/view
Field-specific decorations: https://drive.google.com/file/d/1WFnqJ-jkyDFftRHxWW4bgomoWrOpOuaY/view
More control on buttons

Specifications
==============

You will find below a list of which widgets to apply to which fields by
model. Some changes have to be done in the form/kanban views as well.

1) project.task

remaining days -> date_deadline -> list + kanban + form views
hide this field if is_closed is true
avatar -> user_id -> list view
activities -> 'next activity' field to be added -> list view
field-specific decorations
https://nimb.ws/ACewrY remove the current orange/red decorations we have
if planned_hours > 0, display the remaining_hours field in (list view):
red if progress is > 100%
orange if progress is between 80% and 100%
green if progress is <80%
display unit_amount in red if > 24:00 -> form view

2) rating.rating

display the rating in:
green = satisfied
orange = not_satisfied
red = highly_dissatisfied
list + form views

3) project.project

avatar -> user_id -> list + form views

4) account.analytic.line

avatar -> employee_id -> list view
display unit_amount in red if > 24:00 -> list + kanban + form view
https://nimb.ws/eIWa7E merge the timer and duration fields together

5) helpdesk.ticket

avatar
user_id -> list view
employee_id under timesheet_ids -> form view
remaining hours -> sla_deadline
activities -> 'next activity' field to be added -> list view
field specific decoration -> display unit_amount in red if > 24:00 -> form view

6) hr.expense

avatar -> employee_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
reported = green
approved = green
done = green
refused = red
combine the unit_amount and the currency_id fields (see the total_amount field for reference) -> list view (idem for the expense_line_ids one2many on hr.expense.sheet)
display the total_amount in bold
move 'company_id' before 'amount'

7) hr.expense.sheet

avatar
employee_id -> list view
user_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
submit = green
approve = green
post = green
done = green
cancel = red
display the total_amount in bold
move 'company_id' before 'amount'

8) planning.slot

avatar -> employee_id -> list view
decoration
display the allocated_percentage field in red if > 100% -> list + form view
display the forecast_hours field in red if > planned hours and if planned_hours > 0 -> form view
display the effective_hours field in red if > forecast_hours and if forecast_hours > 0 -> form view

9) misc

calendar.event -> avatar -> user_id -> form view
mail.activity.type -> combine the delay_count and delay_unit fields together -> list view
note.note -> 'next activity' field to be added -> list view
crm.lead.mining.request
combine the lead_number and lead_type fields together -> list view
display the name in bold
badge -> state
draft = blue
done = green
error = red
planning.slot.template -> display the duration field in red if it is = 0

closes odoo/odoo#51271

Taskid: 2248351
Related: odoo/enterprise#10605
Related: odoo/upgrade#1252
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-25 12:44:14 +00:00
Lucas Lefèvre cd52000113 [FIX] hr_timesheet: Fetch server time before render
1) Add a hidden optional field to the timesheet tree view.
2) Try to display that field by checking the checkbox.
=> the column appears then directly disappears.

Asynchronous calls (here: fetching the server time) should
always be in the `willStart` method.

Task 2204084

closes odoo/odoo#48775

X-original-commit: 39fa08c4d6a1b467b520bdd0f75950d2c33f4a2e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: lul-odoo <LucasLefevre@users.noreply.github.com>
2020-04-01 20:17:30 +00:00
Okan SUMER (osu) 3bcef3a050 [IMP] hr_timesheet: Adapt timer with new timer mixin
Purpose
=======

Now that we have a new timer mixin that offers more possibilities
than what was currently implemented, we can reuse it in the timesheet
management module.

TaskID: 2149450
2020-02-05 16:44:37 +01:00
Siddarth Gajjar 23a5e99453 [IMP] hr_timesheet: rename Timer.js to timer_mixin.js.
- Before this commit file name is Timer.js which create issue in macOS
due to non case-sensitive harddisk partition. So file renamed to timer_mixin.js

closes #42232

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-20 09:06:36 +00:00
Yannick Tivisse 1bf2bfd2a1 [IMP] hr_timesheet: Small cleaning and linting 2019-12-19 17:21:17 +01:00
Xavier Bol (xbo) 2d3a44e6bd [FIX] hr_timesheet: problem desynchronization time between server and client
TaskID: 2088586

When we launch the timer, if the clock of the client isn't correctly synchronize
with internet, we can't correctly display the timer,
because the clock of the server can be in advance.

The solution is to call the server to have this time and use the timer
only with the time of the server.
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 15e41f59c7 [MOV] hr_timesheet: move timer from timesheet_grid to hr_timesheet
TaskID: 2088586

The timer use in project > task can be usable in community and not only in enterprise.

move timer constraint from sale_timesheet_enterprise to hr_timesheet
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) c9da157149 [IMP] hr_timesheet: add timer into list and kanban views for timesheets
TaskID: 2088586

Timer in the list and kanban views :
----------------------------------
In kanban and list views, It's possible to update the 'unit_amount'
field with a timer. The user can easily launch the timer in these views
for one of his timesheets.
One timesheet can be launched at the same time, when the user start a
timer for a timesheet and start another timer for another timesheet, the
first timer stop and the new timer start.

The timer is usable only if the encoding unit is 'Hours' and the
timesheet is not validated. To do this : a new computed field 'display_timer'
is created in account.analytic.line, this field is set to True is the
encoding unit is 'Hours'. With this field, we can easily hide and display
the timer in different views.

The user can only use the timer for his timesheets. Because the user
with the access rights to see all timesheets might launch and/or stop a timer of a
timesheet of other user. That is the timer must be accessed only in 'My Timesheets' menu.

Add pivot view for 'All timesheets' menu.

Creation a timer_mixin :
----------------------
With this timer mixin, we can have a generic timer to use in other
models that they need to use a timer like account.analytic.line and
project.task models
The timer in account.analytic.line model has changed to use the timer
mixin.

Specific behaviour of the timer :
-------------------------------
When the user use the timer and the minutes spent with the timer is less
than 1 minute, we don't add in unit_amount of timesheet. If the
unit_amount is equals to 0 and minutes spent of timer is less than 0.
Then the timesheet created by the timer is deleted because it is useless to
have a timesheet with unit_amount set on 0.

Misc :
----
Add some styles for the timer button and for the 'unit_amount' field when the
timer is running.

remove duplicated fields in tree view (record
id='timesheet_view_tree_user')
2019-12-19 10:20:27 +01:00
MaxLarue 028768f288 [IMP] hr_timesheet,helpdesk: Display remaining hours on a task
Show the remaining hours to timesheet on tasks. Allows to quickly evaluate
task's state.

This  is done in the name_get of a task through a context key, because we
need this different name on some views, not all.

related task #1856139

closes odoo/odoo#33586

Related: odoo/enterprise#4400
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-10 09:15:17 +00:00
Juhil Somaiya ececa1f7bf [FIX] *: hide technical field widgets in non-debug mode (Studio)
*:
- account
- barcodes
- calenndar
- hr_timesheet
- mail
- mass_mailing
- partner_autocomplete
- web
- website_slides

This commit removes description of fields that should not be shown in
non-debug mode Studio. Only field widgets whose own description is
set are displayed in non-debug mode Studio in "Widget" of sidebar.
In other words, even if any ancestor has a description but not the
current widget, it won't be displayed in the sidebar in non-debug
mode.

Task-Id 2056992

closes odoo/odoo#35902

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-09-23 15:00:44 +00:00
Christophe Simonis 5e81b18e24 [MERGE] forward port branch saas-12.3 up to 0247d2f35f 2019-06-27 20:45:52 +02:00
Christophe Simonis e628e66271 [FIX] hr_timesheet: add missing dependency for timesheet_uom widget
The `timesheet_uom` widget is a proxy to another widget (configurable
server-side). We need to ensure the widget registry is filled before
using it to avoid a fallback to `float_factor` widget.

closes odoo/odoo#34350

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-06-25 09:36:12 +00:00
Juhil SomaiyaandMohammed Shekha 5dc971b1ae [IMP] web, *: add a description to generic widgets
A `description` key has been added on AbstractField and all generic
field widgets ; it is used to display a more user friendly name (both in
the webclient and in Studio).

Non-generic field widgets have an empty string as description.

Related task 1918327

closes odoo/odoo#30131

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>


Co-authored-by: Mohammed Shekha <msh@openerp.com>
2019-04-24 09:57:56 +00:00
jem-odoo a54d5eede8 [FIX] hr_timesheet: timesheet UoM widget restored
When the assets are loaded, the `hr_timesheet.timesheet_uom` scope is
loaded in order
to bind the `timesheet_uom` to the correct already existing widget (defined
in the session, like `float_time` or `float_factor`, ...).
The problem is that in normal mode (not debug assets), when the binding is
done, the field_registry is empty, so the correct base widget is not applied.

The fix is to add the scope filling the registry in the requirements of the
`timesheet_uom` scope. Strangely, it was working in debug assets mode.

closes odoo/odoo#32736

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-04-16 09:20:09 +00:00
jem-odoo a1572fe673 [FIX] hr_timesheet: bind format/parse method for timesheet_uom widget
The `timesheet_uom` is a fake widget: it is bind in field widget
registry on other existing widget depending on the session_info
preferences (e.i.: float_time, float_toggle, ...). Therefore, it
does not have formatter/parser methods in the field utils method.

This commit binds the formatter and the parser of the widget on which
`timesheet_uom` is bind, to make it coherent. This avoid having a
traceback on pivot view when the `timesheet_uom` widget is set on
a field node.
2018-09-19 14:10:42 +02:00
jem-odoo 83820a898f [IMP] hr_timesheet: encoding in any UoM
This commit provides a mecanism to allow user
to log their timesheets using any time UoM
they want. Everything will still be stored
in hours in the database (in the UoM selected
with project_mode_time_id field of the company).
The chosen encoding UoM will provide a widget to
help the encoding (float_toggle for Days,
float_time for Hours, ...). The widget will use
the UoM rate conversion.

Task #39079
2018-08-13 14:33:48 +02:00
stefanorigano 1d9208c4fa [REF] *: improve app icons, add SVG version
- Uniform colors and design
- Replace duplicated icons (eg. sale / sale_management)
- Improve misleading icons (eg. POS)
- Add icons for new apps

Add SVG versions to lossless future editing and print/marketing use.

task-54681
2018-08-09 15:46:06 +02:00
Christophe Simonis 5858dda75f [MERGE] forward port branch saas-11 up to a62b8cf 2016-07-15 16:34:41 +02:00
Christophe Simonis a62b8cfaeb [FIX] hr_timesheet: add missing icon for Timesheets main menu
This icon was remove by 05a143a416 but is
still referenced by the menu entry.

This is also a backport of 3843b86fef.
2016-07-14 19:34:35 +02:00
Simon Lejeune 05a143a416 [REF] hr_timesheet, hr_timesheet_sheet: hr_timesheet is the application
* switch application flag between `hr_timesheet_sheet` and `hr_timesheet`
* renamed `hr_timesheet` application name from "time tracking" to "timesheets"
* move the icon from `hr_timesheet_sheet` to `hr_timesheet`
* removed unused icon from `hr_timesheet`
* renamed `hr_timesheet_sheet` application name from "timesheets" to "timesheets / attendances"
2016-07-13 15:07:56 +02:00
Yannick Tivisse 3843b86fef [FIX] hr_timesheet: app_switcher icon was duplicated
Goal: Display the timesheet icon on the app switcher even if
hr_timesheet_sheet is not installed to be able to acces the Activities
without the full timesheet integration.
2016-05-25 15:16:03 +02:00
Tanguy Charlier 16bf40f7c4 [IMP] hr_timesheet: Timesheet entries are now related to projects
- Hide account_id field and add a required project_id field on timesheet entries
- Remove is_timesheet field: as project_id is only required for timesheet entries and not for other analytic lines, it can be used to determine wether a line is a timeheet entry or not.
- Remove project_timesheet module as all its functionalities are moved to hr_timesheet
- Replace timesheets on contract option on products by timesheets on project
- Small fixes and improvements in timesheets and projects views and groups
2016-02-18 01:25:55 +01:00
Tanguy Charlier f3a9f83ff1 [MOV] Move project_timesheet files to hr_timesheet before refactoring 2016-02-18 01:23:40 +01:00
cod-odoo 55f6b6829c [IMP] [MOV] account_analytic_analysis, hr_timesheet
- move the service product from product to hr_timesheet
- move default time unit for services from sale to account_analytic_analysis
to ease the configuration
2014-09-23 10:56:51 +02:00