In the next version of Owl, all exported terms are directly available
from the top level `owl` object. This commit aims to adapt existing
imports to this new system. This is done by importing any Owl property
used in files at the top, right after the `import` or `require`
statements.
closesodoo/odoo#82736
Related: odoo/enterprise#23609
Signed-off-by: Géry Debongnie <ged@odoo.com>
Three supported types:
- btree (default for index=True)
- btree not null (when >90% of the data are null)
- gin trigram search (for char fields)
Review of indexes on all objects.
closesodoo/odoo#83015
Signed-off-by: Fabien Pinckaers <fp@odoo.com>
If you have some text in your task, the second column will be stacked
closesodoo/odoo#82979
X-original-commit: 60f0d908386cf98a7879c9ad6788299d81d778cb
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Prior to this commit:
- The selector used by the FormHtmlFieldExpanderMixin is the generic one
'.o_xxl_form_view .oe_form_field.oe_form_field_html'. This selector, altough
valid, could lead to an undesired behavior if another html field is present
previously (before the description one) in the view.
After this commit:
- The '[name="description"] is added to the selector which reduces the possible
matches only to the one of the description field.
closesodoo/odoo#82926
X-original-commit: db8684055712ec9c5d1acadee60e54a78d87c941
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Prior this commit, the description field of both project.project and project.task
were displayed with the resizable bar and were displayed with a calculated height
which prevented to see the whole field.
After this commit, the resizable option is set to false which displays the whole
field content without the resizable bar.
task-2735599
closesodoo/odoo#82818
X-original-commit: 8acdb9e197eb78ceefec444a245b8b7f01e81fdc
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Records inheriting from portal mixin implement their own access to portal
using tokens. Activating the access button by default seems the right thing
to do instead of having to do it manually in each addon. Access is granted
at record level using tokens and access URLs anyway.
This eases future improvements of "Pay Now" notification template as it
will use the ``has_access_button`` instead of doing custom computation
directly in the template itself.
Task-2712450 (Mail/Sale: Improve 'Pay Now' notification template)
Part-of: odoo/odoo#82627
Before this commit:
- From the task form, it was not possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
After this commit:
- From the task form, it will be possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
task-2703632
closesodoo/odoo#82769
X-original-commit: 8ccec8c873d3c4fb4445ab3489d1ee6cbddea3de
Signed-off-by: Xavier <xbo@odoo.com>
This commit show alias_name field span in read only, whether it is emtpy
or not. The field is displayed in bold if not empty.
task-2722863
closesodoo/odoo#82649
Closes: https://github.com/odoo/odoo/pull/82065
X-original-commit: bbc4ff1059d161414ef4338981eb015871ac46c5
Related: odoo/enterprise#23445
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
The purpose of this commit is to:
- Open the form view if there is only 1 blocking task.
- Prevent the project update button to show in the view opened
through the action_dependent_tasks action.
task-2722863
Closes: https://github.com/odoo/odoo/pull/82065
X-original-commit: 22078a6a0ee0f059db8aef3a283485bc192ce0a1
Part-of: odoo/odoo#82649
The purpose of this commit is to only show 'Gross Margin' stat button
in right side panel of project update when analytic account is set
on that project.
So, in this commit we add a condition in order to only show that stat button
if an analytic account is set on that project.
task-2722863
Closes: https://github.com/odoo/odoo/pull/82065
X-original-commit: 95c1deb34330db98e24f70fceae85038d47217e7
Part-of: odoo/odoo#82649
Purpose of this commit to hide rating warning in project task
stage form view.
So, in this commit add customer ratings group to rating warning
div.
task-2696911
closesodoo/odoo#80232
Related: odoo/enterprise#22470
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Prior to this commit:
- Some of the project update right panel values were wrong (the number of sold and
effective hours were wrong if the service is in units, and eventual down payments are
now removed from the list of SOLs)
task-2703516
closesodoo/odoo#82607
X-original-commit: d1a06012c629f075b6faeaad2b17670e6c0e2aa5
Related: odoo/enterprise#23429
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit is to show only task that
has project_id set in 'Task Analysis' menu.
So, in this commit select only those tasks that has
project_id set in 'Task Anamysis' menu's query.
task-2722863
closes odoo/odoo#82565
Closes: #82442
X-original-commit: d8f3a0c4722d299f73892403b4ef5800913ea2a8
Related: odoo/enterprise#23409
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit to remove one 'Gross Margin' stat
button from project form view.
So, in this commit remove one 'Gross Margin' from project
form view.
task-2722863
closes odoo/odoo#82551
Closes: #82068
X-original-commit: 9010dc99f2c3bb1f7ec73cb0a7475f81f649d1da
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit is to make the name field of task
non translateble.
So, in this commit remove 'translate=true' attribute from
name field's defination.
task-2722863
Closes: #82068
X-original-commit: d344e502ad61cb9a7b2a174590ce7ae7af0c1e1a
Part-of: odoo/odoo#82551
The purpose of this commit is, to add keyboard shortcut
to multiple actions.
So in this commit, added keyboard shortcut to several actions
in project, sale_project, web_calendar and added smart action
in command palette on statusbar.
task-2655790
closesodoo/odoo#79805
Related: odoo/enterprise#22267
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Step to reproduce:
- Create a Project with task A
- Create a Sub_Task to task A named sub_task B
- Create a Sub_Task to sub_task b name sub_sub_task C
- Duplicate Project
Current Behaviour:
- sub_sub_task C (copy) has no parent_id
Behaviour after PR:
- sub_sub_task C parent_id is sub_task b (copy)
opw-2727220
closesodoo/odoo#82417
X-original-commit: dbf27b60041e53b12fc79ac2f67197d1a77a1d8c
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Damhaut Florian (flda) <flda@odoo.com>
Before this commit, when the a subtask is in the same project than the
parent one and the internal user has manually set the project to see
this task in the main kanban view of tasks of the project. In project
sharing view, the collaborator cannot see the 'View Task' button in the
sub list view of subtasks shown in the form view of the parent one.
This commit fixes it to shown the button when the subtask is in the same
project than the parent one.
Steps to reproduce:
==================
1) Create a Project A
2) Create a Task T in the Project A
3) Add a subtask in T and set the project A in the subtask
4) Share in edit mode the project A to a portal user
5) Log out and log in as the portal user
6) Go to the Project A to see the kanban view of tasks in project
sharing feature.
7) Go to the task T and see the subtasks list view.
Expected Behaviour:
==================
The 'View Task' should be shown for this subtask because the subtask is
in the same project than the parent one.
Actual Behaviour:
================
This button is not shown.
Bug found during the testing of the task-2648955
closesodoo/odoo#82383
X-original-commit: ddafb7fa5aff30e2cb16dcdcb5cdbd44397de126
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit adds a rating text field called `rating_avg_text` to display
a text based on the value of `rating_avg` field in `rating.mixin` model.
Here is the text displayed based on the value of `rating_avg`:
1. 'Satisfied' if the `rating_avg >= 3.66`
2. 'Okay' if the `2.33 <= rating_avg < 3.66`
3. 'Dissatisfied' if the `1 <= rating_avg < 2.33`
4. 'No Rating' if the `rating_avg < 1`
Before this commit, we use the `rating_percentage_satisfaction` field to display
the customer satisfaction of the project. The problem is this field is
not really a rating average. This field returns the percentage of
satisfied ratings over the total number of ratings.
This commit changes the using of `rating_percentage_satisfaction` field
by the `rating_avg` to only use the rating average to really know if
globally the customers are happy of a project or not.
task-2671848
Closes#81027
Before this commit, we don't have any filters to the models using the
parent.rating.mixin to know if the customers are globally satisfied or
not to the projects for instance.
This commit adds the `rating_avg` field to compute the average of all
ratings linked to the parent model (in our example, `project.project`
model). This field is also used in the project search view to add 3
filters.
1. satisfied: projects with an average customer satisfaction between 66%
and 100%.
2. okay: projects with an average customer satisfaction between 33% and
65%.
3. dissatisfied: projects with an average customer satisfaction between
0% and 32%.
Another filter is added to find all projects without any ratings linked,
called `No Rating`.
task-2671848
Closes#81027
Beforer this commit, we display a emoji to show if the customer is
satisfied, okay or not for the task via the last rating value. The
problem is we use only the value for the last rating for each task.
This commit uses all ratings for each by using the average of rating
value for each task to know if all the customers that done a rating are
satisfied or not.
Moreover, we add 4 filters in the project.task model using the average
of rating values.
1. Satisfied => rating_avg >= 3.66
2. Okay => 2.33 >= rating_avg < 3.66
3. Dissatisfied => rating_avg < 2.33
4. No rating => show the tasks without any ratings.
task-2671848
Closes#81027
This commit reorder and renames the tasks in demo data by project.
This is done in order to make it easier to parse, modify or add data in those files.
Closes#80102
Task 2669762
Related: odoo/enterprise#22399
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit adds plenty of new demo data showcasing some features that weren't before, and also reworks existing demo data to make is more consistent.
Closes#80102
Task 2669762
While investigating an issue with the x2many tracking, we found a
better way that to track those field while also fixing the issue.
Fixes an issue with `default_*` context keys that are used in the
project app upon writing on tasks.
TaskId-2725014
closesodoo/odoo#82189
X-original-commit: a281a18fc84a09177f7b5e8aab98b8dc34dcc3b8
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Prior to this commit:
- When no user_id were set on the project, a with blank space was shown at
the bottom right of the kanban card.
After this commit:
- When no user_id is set on the project, the kanban status is move at the
bottom right of the kanban card.
task-2703632
closes odoo/odoo#82190
Closes: #80691
X-original-commit: 5bfea889d46ff66d4f2edd56449203943d7d040c
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit:
- The name of the company was appended to the name of the Internal Project,
having it even when only one Company was in the database.
After this commit:
- The name of the company will only be appended by the name_get when more than
one company is present in the database.
task-2608812
Closes: #79926
Related: odoo/enterprise#20514
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
since https://github.com/odoo/odoo/pull/79947 edit buttons in forms views `o_form_buttons_view` are invisible
This is due to the missing super call in on_attach_callback and on_detach_callback
closesodoo/odoo#81876
X-original-commit: ffd69e306e501c32bf688614d1fbd70bd5f406ac
Related: odoo/enterprise#23089
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
When a user double clicks on a record in the kanban view of the form view of project a crash occurs.
This happens because there is an init which is called twice and during the second time the component created during the first click is destroyed and a DOM_updated event is still trigger which leads to a crash because in the case of project_form there is has a use of the element's dom which is then no longer available.
There is the same case in "FieldHtmlWithAction" and in "MassMailingFullWidthFormController"
The problem can be easily fixed by using on_attached_callback and on_detach_callback instead of setting a listener on DOM_updated in the init method.
opw-2685867
closesodoo/odoo#81680
X-original-commit: 8d83433d463dd3d1aef321921939962883f57d68
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Achraf <abz@odoo.com>
In this commit, we add the 'rating' field to the list view of 'project.task'.
Also, make the field optional and hidden by default.
rating_text field will be used to search tasks and tickets by rating text.
closes#78973
task-2667754
Related: odoo/upgrade#3031
Related: odoo/enterprise#21880
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
-if an analytic tags are inserted on the project, it will be added to the timesheet /invoice
analytic tag.
-In this commit, analytic tags field is added on project in order to gain in
granularity.Those tags are passed to the invoice lines generated from the
project's SO lines.
-set the analytic account and analytic tag of the project by default on its tasks.
-added string 'Analytic Tags' analytic_tag_ids field on task.
closes#78973
task-2667754
Before this commit, the default assignee set to a rating in a task is
always empty because we check if the `project.task` has a `user_id`
field to give the partner of this user.
Since it is no longer the case because we can recently assign many users
to a task. That is, it is `user_ids` field and no longer `user_id`
field.
This commit overwrites `rating_get_rated_partner_id` method to set by
default the partner of the user contained in `user_ids` field if this
field contains at most one user. Otherwise, we set no partner. We choose
to not select the first user in the user_ids field because we cannot
consider it is the responsible of the task and not another one.
We cannot create a rating per user because the rating average will no
longer right because at the beginning of the task we could have 5 users
and after we could have more users or less users and so the number of
ratings for this task could be different each time we send a rating
review to the customer.
Part of task-2696911
closesodoo/odoo#81009
X-original-commit: 88e7d270bee962d6e4d40f6b62d25a9519abfcf2
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
Prior to this fix:
- Archived users are no more shown in the assignees
After this commit:
- All users, including archived ones will be shown in the assignees.
task-2703358
closesodoo/odoo#80783
X-original-commit: d6092e318e04619313851276865b333afd264aad
Related: odoo/enterprise#22689
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, 3 xmlid are duplicated, so the result is not
expected.
This commit changes the duplicated xmlid to create the 6 tasks as
expected.
Part of task-2671848
closesodoo/odoo#80661
X-original-commit: 12e848cb200d4b763563e0b110c963aeb71d706e
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of the commit is to improve the generic UX of task
and project views.
task-2590412
closesodoo/odoo#75509
Related: odoo/enterprise#20423
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
* = project, sale_project
Currently, the header is displayed above every group when the group by is
applied.
In this commit, we move the header with the fields labels at the top of
the table. Also, remove the string before the field indication.
task-2655707
closesodoo/odoo#77408
Related: odoo/enterprise#21989
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, the `Last 30 days` filter is duplicate in the search
view of rating.rating in `Reporting > Customer Ratings` menu of Project
app.
This commit removes the duplicate one.
Part of task-2671848
closesodoo/odoo#80506
X-original-commit: 492ab65c2dad6ce65e27e266777f13a8ba1f8acb
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of the commit is to do the generic improvement for the
project:
So in this commit, done the following changes:
- duplicating a project, copy all milestone of project and
set is_reached and deadline field as 'False'.
- chanage the order of the state button in sale order form view.
- pass mail body as default description value in message_new
method of project task.
task-2652943
closesodoo/odoo#77065
Related: odoo/enterprise#21199
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit to improve generic UX for the project app.
So, In this commit done following changes:
- add 'subtask_effective_hours' and 'total_hours_spent' fields in the page of
subtask in task form view.
- change invisible attrs to column_invisible attrs for block_by page in task
form view.
- add 'task in progress' subtype for project.task and move 'stage changed'
subtype above 'task blocked'.
- remove the 'is_close' field and all its references from project.task.type.
- unarchive all of its tasks when the user unarchives the task stage.
- sort projects on 'is_favorite'.
- internal users following the project automatically follow its updates and
their notification preferences propagated accordingly.
- duplicating a task will duplicate all of its subtasks.
- move parent task field in extra info page of task form view.
- change the label of 'edit' to 'view' in the burger menu of project kanban view.
- user can delete task without sale_order validation error.
- add constraints for 'seller_ids' field.
- add remaining_hours_so field in task tree view.
- add unusual_days in task calendar view.
- add 'no content helper' in action of burndown chart.
task-2536044
closesodoo/odoo#74018
Related: odoo/enterprise#19880
Related: odoo/upgrade#2801
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Co-authored-by: Kartik Chavda <kcv@odoo.com>
The project overview is a significant technical debt
as it is a custom qweb view. It is quite limited:
It is not possible to group the data, to filter on dates,
SOs or Field Service projects.
Improving this is very difficult and would require weeks
of development that are not worth it.
In any case, all the information provided by the project overview
can be found elsewhere. The stat buttons of the report are basically
duplicates of the ones from the project form view.
Therefore, we are removing this report and its twin,
the Project Costs and Revenues.
In addition, analytic items lack context for the user to understand
what generated a certain cost or revenue:
there is no link to the source document;
the entries are not categorized (e.g. it is not easy to understand
if a cost comes from a timesheet cost, a purchase order or an expense);
the billable type group by works fine for timesheets but then all
the other entries are flagged as Undefined, which is not very helpful;
there is no option to easily isolate costs from revenues.
task-2646234
See odoo/enterprise#20936closesodoo/odoo#76553
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose is to have tracking methods beginning with ``_track``, indicating
those are tool methods used for tracking. It helps organizing the mail thread
file and having short but precise method names.
We also remove the usage of ``mail_track_log_only`` context key that is not
used anymore in the code. It allows to shorten a bit the code and make it
easier to read.
Task-2671709
Part-of: odoo/odoo#78648
Before this commit, since the code make a sudo -> unsudo to check the rights,
whatever the previous env, it is no more possible to create a task from an
alias.
This commit check that we are not already in sudo before, or in this case it
doesn't check the access right with an unsudo.
closesodoo/odoo#80131
X-original-commit: 56c625079ac5e4da9c7d9994b4459aa06cbfe727
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Prior to this commit, the tasks_analysis information was added to the
panel data dict but never used clientside.
This commit removes this useless call to avoid a Traceback on large
projects, with lots of tasks (MemoryError).
task-2694765
closesodoo/odoo#80030
X-original-commit: 33446939e0cc625832de3b22661709508a01044a
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Minor changes to allow a better usage of the cache in dependency
tracking in order to reduce the query count.
See odoo/odoo#79931
TaskId-2693899
closesodoo/odoo#79956
X-original-commit: 52123efd0cbc77564d6dfc12856996b39666ad64
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Co-authored-by: Thibault Libioulle <tle@odoo.com>
Fixes an issue where new followers would always be checked upon updating
a task. Which could result in a lot more queries than necessary when
changes are cascading.
See odoo/odoo#79931
TaskId-2693899
X-original-commit: 09adeb7fe2b4345bd476058b2bf85ac1c08a1d1f
Part-of: odoo/odoo#79956