This commit fixes the broken inheritence between project and
hr_timesheet modules regarding the GraphView.
Hr Timesheet module extends GraphView rather than ProjectGraphView which
makes the view unaware it should use the ProjectControlPanel.
This commit adds project tour steps to ensure every view contains the
project update breadcrumb.
task-2642872
closesodoo/odoo#78503
X-original-commit: aa59771d3a4ffd2f7372c58bf56ca8dcc1183d2e
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Signed-off-by: Thibault Libioulle (tle) <tlibioulle@users.noreply.github.com>
Currently when unistall the hr_timesheet and try to open the project
menu it generates an traceback due to invalid field in domain of the
action.
so in this commit fix the traceback by adding the unistallation hook
so domain will be replaced on unistallation of the hr_timesheet.
also archive the internal project when unistalling the hr_timesheet.
Task-2629395
closesodoo/odoo#78063
X-original-commit: 8fe71cd7ff412a01b6f7dbaf569f7b85fbffd631
Related: odoo/enterprise#21551
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
The `user_id` field was replaced in odoo/odoo#74087 by `user_ids`.
The field change was forgotten in various reports and the a wizard.
This commit fixes those.
task-2638359
closes#76166
X-original-commit: f584485f0c69eda002491ca9b63bc3d228e95001
We are copying 3 stats buttons from the project
view form (manufacturing orders, work orders and bills of materials)
and we add them to the project update page.
See task-2638359
closesodoo/odoo#76421
X-original-commit: 4572e710a5e755c0c75c95a6d033e44f0a2799f8
Related: odoo/enterprise#20811
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
We clean various graph archs taking into consideration that:
- the default type of a graph is "bar".
- a bar chart is by default stacked.
- the field attributes type="row" and type="col" does not make sense for
a graph view (since its implementation was separated from the pivot
implementation a long time ago))
- the boolean attributes should now take 1 or 0 as value (but the other
values are accepted for retrocompatibility).
Part-of: odoo/odoo#76065
This commit allows to use the editor collaboratively for any html
field in peer to peer using webRTC.
task-2497931
closesodoo/odoo#75768
Signed-off-by: Antony Lesuisse (al) <al@openerp.com>
This commit removes the activities from the project update default
description.
This commit prepares the removal of the project overview feature and is
a part of the global project update description improvement.
PR : #72736
See odoo/upgrade#2706
task-2545084
Purpose of the commit is to improve the timsheets's report
of the timesheet app.
So in this commit, done the below changes:
- timesheets by billing type report:
- add default group by date month > billable type.
- removed undefine value from report
- improve helper the to: "No data yet! \n Track your timesheets by
billing type and make sure your time is billable."
- added grid, kanban and list view
- list view opened through the graph/pivot view: change the name of the action to 'Timesheets'
- improved name of the report to 'Timesheet by employee'
- improved helper of Timesheet by project report
- Timesheet / Attendance report:
- disabled list opening after clicking graph view.
- added a group by Employee on report ,
- modified pivot view according to company of user.
- added default measure is total difference' and the default group by
is date > month for report
closesodoo/odoo#75026
Taskid: 253134
Related: odoo/enterprise#20397
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
PURPOSE
Generic UX improvements for the portal
SPECIFICATIONS
For projects list view,
- clicking on the project should open the list view of tasks with groupby stage
- the number of tasks should not be clickable
For tasks list view,
- display the fa-star of the priority field on the left of the name of the task
- add the following fields on the right of the name:
user_id, time spent, kanban_state
- for the kanban_state,
only display the colored dot and indicate the name of the state on hover
- for the time spent:
indicate the nb of hours recorded / nb of planned hours(or days(as per unit))
(if the nb of planned hours = 0, only display the nb of hours recorded)
For tasks search view,
- add a group by priority and status and reorder accordingly
- add a quick search on status and priority and reorder accordingly
- add a sort by priority, assigned to and status and reorder accordingly
For task form view,
- display the fa-star icon of the priority field on the left of the name of task
- add the kanban state in the top right corner
the kanban_state field should be editable by portal users
increase nb of items displayed in the list view to 80 items per page(generic)
Task-2613330
closesodoo/odoo#74996
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Co-authored-by: Xavier BOL (xbo) <xbo@odoo.com>
The purpose of this task is to improve the setting of the timesheet module.
In this commit, we improve the following:
- Rename the label, description and align the field with the name and
description of the feature
- Add an 'OK' button in the 'download our app' modal
- Render the frequency field properly in the employee/manager reminders
setting on mobile view
- In configure your services link: change the name of the action to "Services"
- Display the following options in the community, with the usual 'Enterprise'
tag: Round Timesheet, Employee/Manager reminder, Invoicing Policy
closesodoo/odoo#74967
Task-id: 2531338
Related: odoo/enterprise#20182
Related: odoo/upgrade#2771
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Prior to this commit, the timesheet amount was computed based on the
employee timesheet cost.
The sale order line related to the employee was also required
This commit allows the project owner to configure a employee mapping
cost that will override the employee timesheet cost if defined.
This commit removes the fact that the sale order line is no more
required, thus the mapping will have no effect.
PR : #70527
task-2458135
Previously, all costs allocated to a task were associated, if set, to
the analytic account of their project.
This commit adds a deeper level of granularity, as the user will be able
to override the project analytic account and add analytic tags.
When creating timesheets or creating account move line related to SO
linked to a task, the analytic account of the task is now taken into
account rather than the one defined on the project. If an analytic
account is set on the SO, it remains the default account used.
If a task is related to an SOL and an invoice line is created from this
SOL, the analytic tags of the task are also given to the account move
line.
If different analytic account are linked to a same SOL through the
project using this SOL or the tasks using this SOL, than no default
analytic account is set on the invoice line.
PR : #70527
task-2458135
Adds personal stages to tasks.
Users assigned to tasks will be able to have their own pipeline to
handle their tasks independently of the project's pipeline.
The assignee field on Tasks has also been changed to a Many2many to
support multiple assignees on one task.
The same table is used to store those information, essentially a triplet
(task, user, stage), to ensure that:
1) personal stages only apply to tasks to which you are assigned to.
2) synchronizing to make sure that you don't have a personal stage for a
task on which you are not assigned anymore.
Alongside those changes, some minor changes have also been made:
- Modified the task's tree view.
- Renamed the Tasks menu to 'My Tasks'.
- The default view is now the kanban view for the 'My Tasks' action.
- project_id is not required anymore, tasks with no project are
considered 'private', those tasks are only visible to those that are
assigned to it.
- Added tracking of both user_ids and depend_on_ids in the chatter.
Closesodoo/odoo#74087
Task ID: 2398734
before this commit:
The approver can access all timesheets which is not coherent.
after this commit:
improved the labelling of the timesheet app's roles, modified the menu according
to role of User.Aprrover now can access his own timesheets only by click only
available option 'My timesheets'.
TaskID - 2531321
closesodoo/odoo#74242
Related: odoo/enterprise#19858
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Opening the task portal view while having the timesheet encoding in days
and having no timesheets linked to the viewed task would cause a
traceback.
This was caused by an index out of range exception.
The function called has been changed to a `api.model` function instead
and all calls have been changed to be compliant with that change.
Closes: odoo/odoo#75452
Task ID: 2630244
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Remove superfluous dash in `project.task name_get` and replace it with
nbsp to be able to split on that specific value in a similar manner as
before.
Closesodoo/odoo#74350
Task ID: 2596229
Related: odoo/enterprise#19916
Related: odoo/upgrade#2705
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose of the commit is to do the generic improvement for the
timesheets app.
So in this commit, done the following changes:
- added the "Timesheet Entries" report for the project.task object in project app.
- added the "Minimal duration and rounding applied when using the timer"
description for 'round timesheets' and rename 'round timesheets' to 'Time
Rounding' in the setting of the timesheets app.
- added the kanban view for the "reporting" menus in the timesheets app.
- change the 'x Timesheets' stat button into 'x Hours recorded' and icon to
'fa-clock-o' in invoice form view.
- rename 'round timesheets' to 'Time Rounding' in
setting.
closesodoo/odoo#71590
Taskid: 2459783
Related: odoo/enterprise#18668
Related: odoo/upgrade#2525
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
In this commit done following changes:
- add name_get to account_analytic_line model.
- changes in form view of timesheets menu
- hide company_id and amount field.
- move date field above unit_amount field.
- move employee_id field above name field in all timesheet menu.
- add so_line field in timesheets menu and move employee_id before
date in all timesheet menu when so_line is available.
- add so_line field in list view of timesheets menu as optional hide.
- add so_line field to kanban view after name field and change
o_kanban_record_top height 50 to 51 to show it properly.
- add a search for sale order item(so_line) and remove a search for
billable type(timesheet_invoice_type).
- remove filters Billable and Non Billable.
- add group_by for so_line and timesheet_invoice_id fields.
closesodoo/odoo#72979
Taskid: 2510313
Related: odoo/enterprise#19372
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, the project sharing feature is enabled by default
when the Project app is installed but the user could never use the
feature and thus we add more access rights to portal user for nothing.
To avoid this, this commit removes by default all additional access
rights given by project sharing feature and adds this access rights only
when a collaborator is added.
If the user removes all collaborators for all projects then we need
to disable the feature. That is, we will remove the access rights and
ir.rule records added.
So, the feature will not really disable but we remove the additionnal
access rights and ir.rule records added with this feature.
task-2379518
closes#73341
This reverts commit fc7778f8c512202dc3361d6b87be8c28b299c3c8 because of
a change in the spec.
The access mode are removed and replaced by this access mode for portal
user:
- read: the user goes to the classic portal view
- edit: the user is added as collaborator of the shared project and can
access to project sharing views.
To do this, the portal share is inherited by the project share wizard.
This new wizard can be open to share in readonly and open to share in
edit mode via 2 buttons in the form view of the shared project.
A new stat button is added to form view of project to see the
collaborators of this project. That is, the ones can access to the
project sharing views. The project manager will can remove or also add
new collaborators via the views in this stat button.
task-2379518
closes#73341
Before this commit, the portal user has no access to uom.uom model.
Therefore, this user has an access error when we want to see task form
view.
This commit adds a sudo to use this method to correctly display the
label for the unit_amount of timesheets shown in the task form view.
task-2379518
closes#73341
Before this commit, the portal user cannot access to the task form view
since he does not have any access to `account.analytic.account` model.
This commit adds `compute_sudo=True` in field definition of
`analytic_account_active` to bypass the access rights in its compute
method.
task-2379518
closes#73341
Before this commit, the portal could not access to timesheets of the
task in project sharing views.
This commit adds the access to give him the read access to the
timesheets in the tasks of the shared project.
Moreover, this commit adds a `ir.rule` to limit the access to this
portal user and we keep the default values to True on all perms,
that way if someone modifies the ACL to give C/W/U permissions,
this rule will still give some protection.
task-2379518
closes#73341
Co-authored: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, there is no options to disable the click on the
avatar to open the chat in `Many2OneAvatarUser` widget.
This commit adds an option called `no_open_chat` set by default to false
and this option allow to disable the click when it is true. This option
is useful for the project sharing views.
task-2379518
closes#73341
Adds new optional stages for the project.project model.
Previously projects would stay dormant when they were finished, we can
now define stages for those projects to determine where a stage is in
it's lifecycle.
Also adds some small changes to the project itself, such as adding tags.
Closesodoo/odoo#73648
Task ID: 2581575
Related: odoo/upgrade#2646
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Purpose of this commit is to display the value of
timesheet_min_duration and timesheet_rounding fields
center in the setting of the timesheet app.
So, In this commit add a text-center class for that fields in
XML of the setting in the timesheet app.
closesodoo/odoo#74849
Taskid: 2616165
Related: odoo/enterprise#20135
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
The purpose of this is to improve the generic UX of portal for timesheet
app.
In this commit, done the below changes:
- add a sort by employee, project, task, sales order item
- rename 'sale order item' into 'sales order item'
- In search, reorder the fields in the following order:
Employee, Project, Task, Description, Sales Order, Sales Order Item, Invoice
- In group by, switch the SO/SOL fields from place
closesodoo/odoo#73699
Taskid: 2531322
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Before this commit, we use the total_timesheet_time field in the kanban
view of `project.project` to know if there are some timesheets into each
project. The problem is this field is computed and its compute method
take more execution time than just use `timesheet_ids` field to allow if
a project has at least one timesheet.
This commit replaces the using of `total_timesheet_time` field by the
`timesheet_ids` field in project kanban view to check if the project
has at least one timesheet.
closesodoo/odoo#74730
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Before this commit, since we use 'total_timesheet_time' field to see if
any timesheets exist for each project in the kanban view.
The render of this view is slower because of the compute of this field.
This commit improves the performances of this compute.
closesodoo/odoo#74727
X-original-commit: 4dfa75e5b8d170532c0dd36f609eac1718aab4a8
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Currently, there are many useful pivot views on reporting models but most
of them lacks the dedicated list view. Dedicated list views will allow users
to see useful information when one directly drill down to the records from
the pivot table in odoo spreadsheet [1].
With this commit
1. we remove 'disabled_linking' attribute from the very important pivot
and graph views (see the full list on task pad);
2. we added dedicated list views for the following reporting models
- account.invoice.report
- fleet.vehicle.cost.report
- hr.timesheet.attendance.report
- purchase.report
- project.profitability.report
- report.membership
- report.pos.order
- report.project.task.user
- sale.report
Task-2547881
[1] See task-2506116
closesodoo/odoo#72394
Related: odoo/enterprise#19122
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
- Create 2 companies (i.e. Company A & Company B)
- Create user with access to both companies and default company set to Company B
- Log with created user
- Switch to Company A
- Go to Project and create a new Project (i.e. Project X)
- Go to Timesheets and add a line for Project X
- Display all timesheets in list view
- Select created timesheet and print "Timesheet Entries"
Logo and address printed on timesheet report are from Company B.
Company used for timesheet report is default company of current user.
This fix will use company linked to the project if it is unique.
Otherwise, it will use current company.
opw-2502182
opw-2509463
closesodoo/odoo#74281
X-original-commit: 0812641544d49746d111ca4bb88a2091bf0dd6c8
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
The license is missing in most enterprise manifest so
the decision was taken to make it explicit in all cases.
When not defined, a warning will be triggered starting from
14.0 when falling back on the default LGPL-3.
closesodoo/odoo#74245
Related: odoo/design-themes#48
Related: odoo/enterprise#19862
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Purpose of the commit is to improve the task analysis report
of the project app.
So in this commit, done the below changes:
- removed the # of tasks measure
- added the following measures: Rating Value (/5), Working Hours to Assign, Working Hours to Close
- removed the # from the labels of the following measures: Days to Deadline, Working Days to Assign,Working Days to Close
- renamed 'task title' into 'task'
- added a search on tag_ids and sale_order_id
- added the following filters:
-My Projects + My Team's Projects
-My Tasks + My Team's Tasks (rename 'Unassigned' into 'Unassigned Tasks')
-Starred
-Tasks Late + Tasks in Overtime
- added the following group bys: task, customer, kanban state, assignment date, creation date, deadline, last stage update
closesodoo/odoo#72587
Taskid: 2508645
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Define `data-hotkey` on most used action buttons.
For the modals, the following keys are dedicated for "special"
actions:
- Alt+G: add
- Alt+V: save
- Alt+Z: cancel
closesodoo/odoo#73275
Taskid: 2588233
Related: odoo/enterprise#19464
Signed-off-by: Kevin Baptiste <kba@odoo.com>
The UX of the 4 main views (kanban, form, list, portal) of the project app has been globally improved.
In particular, different icons color/style were changed along with several strings, and the order of a few elements was revised to improve readability.
task-2508723
See odoo/enterprise#18387closesodoo/odoo#71011
Related: odoo/upgrade#2506
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
The purpose of the commit is in order to avoid code duplication and ease maintenance,
the _apply_time_label method has been centralized in hr.timesheet
which makes more sense since the relation to the timesheet encoding unit.
It can now be used in other models by providing the right model name.
closesodoo/odoo#72679
Taskid: 2451722
Related: odoo/upgrade#2499
Related: odoo/enterprise#18621
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Generic UX improvements for the task portal.
Added new sort by, group by and searches options in the tasks portal.
Some options have been renamed as well, while the style has been slightly revised.
The timesheet details of each sub-task from the parent form view has also been removed.
task-2508883
closesodoo/odoo#70305
Related: odoo/upgrade#2580
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Before this fix if a user updated the module hr_timesheet the ir.config_parameters would be reset.
By wrapping them in a no-update they're no longer updated with a module update and thus kept as set by the user.
closesodoo/odoo#72732
X-original-commit: 369529cb15ec01cde1538c189535ce6d41685268
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose of the commit is to improve the usability and onboarding
of the project app.
So in this commit, done the below changes:
- Rename column "Kanban state" in list view screens
- Hide column "analytic account" when not needed
- Do not show "Internal" project
PS: Moved leave_timesheet_project_id into hr_timesheet and rename
it as internal_project_id and we used it in the domain in the
kanban/action to the kanban in order not to have it in the result.
closesodoo/odoo#68857
Taskid: 2451722
Related: odoo/upgrade#2479
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
The purpose of this task is there are several places where the
duration is expressed in hours even though the encoding unit
is in Days. This creates inconsistencies.
In this commit, we convert hours into days when the encoding
unit is in Days. Also, we changed the string of the fields
according to the encoding unit.
closesodoo/odoo#70512
Task-id: 2512950
Related: odoo/enterprise#18197
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Prior to this commit, the spaces in the template were transformed into
non-breaking spaces by the html editor while editing the html field
content.
The unordered list with icons as list item also failed to be compatible
with the editor.
With this commit, we remove the indents in the templates to prevent this
behavior.
It now also uses the css class defined by the editor to generate the check
lists.
closesodoo/odoo#72571
X-original-commit: ce9c39125da9ebe3e19dbb325fc4488a8b689ad1
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
QUnit's before and after hooks should not be used as they are triggered at the end of a QUnit's module
So that tests within that module would have side effects on one another
This commit changes those hooks to use beforeEach/afterEach so that each test has its own execution environment.