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>
Before this commit, the hr_timesheet reporting graph view always displayed the amount (duration) in hours regardless the Time unit used.
closesodoo/odoo#62576
Taskid: 2391418
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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
closesodoo/odoo#58453
X-original-commit: 0bf7ac7539fa4fb7f912bbb6fd477795cb77eff8
Related: odoo/enterprise#13528
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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.
closesodoo/odoo#57557
Taskid: 2326216
X-original-commit: 5b3804402b3ebee5abe7004b8f8caccadaabfe1e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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.
closesodoo/odoo#55565
Taskid: 2303955
Related: odoo/enterprise#12273
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
[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
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
closesodoo/odoo#51271
Taskid: 2248351
Related: odoo/enterprise#10605
Related: odoo/upgrade#1252
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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
closesodoo/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>
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
- 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>
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.
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
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')
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 #1856139closesodoo/odoo#33586
Related: odoo/enterprise#4400
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
*:
- 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
closesodoo/odoo#35902
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
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.
closesodoo/odoo#34350
Signed-off-by: Christophe Simonis <chs@odoo.com>
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
closesodoo/odoo#30131
Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
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.
closesodoo/odoo#32736
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
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.
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
* 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"
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.
- 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
- 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