Before this commit, the values of selection `service_policy` field are
given with a function and so the choices are dynamically given according
to the modules installed and the project settings. The problem is the
string for those values are not translated because the ORM cannot do
it automatically since the values are dynamically given and so
those string should be translated with `_` function.
This commit translates the string of those values with `_` function to
be sure the strings are translated in the language of the current user.
closesodoo/odoo#108154
X-original-commit: 90cf43789d849df3908f4636228cb643a005427f
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Current behaviour:
In the project update dashboard, invoices and bills that are created
directly (without sales order or purchase order) are not taken into account
in the calculations for profits/costs.
Expected behaviour:
They should be taken into account, as long as the line on them has the
analytic account line on it.
Steps to reproduce:
- Install Project, Sales, Purchase, Accounting
- Activate "Analytic Accounting" in Settings
- Create a new Project and create a new analytic account for the project
- Create a Bill with a product (storable/consumable) and the analytic account
on the line
- Post the bill
- Go to your project update dashboard and notice the cost of the bill
is not taken into account, but we do have a smart button that goes to the bills
Reason for the problem:
Profits/Costs calculations are done based on the sales/purchase orders,
missing the "orphaned" invoices and bills. A side effect of this problem,
storable products on sales are also not taken into account, since Sales Orders
don't have an analytic account per line before version 16, unless that product
is a service (all services intrinsically have an analytic account)
Fix:
Get all invoices/bills that have lines with the project's analytic account,
and removing from those the lines that were already accounted for.
Affected versions:
- saas-15.3
- 16.0
- master
opw-3058198
closesodoo/odoo#108176
X-original-commit: 3d3f4109a06445b6ce9606770085c763ea206b35
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
This commit move allow_billable field of task to sale_project from
sale_timesheet module.
task-3018123
closesodoo/odoo#106961
Related: odoo/upgrade#4093
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit to improve generic usage of project app.
So in this commit done the following changes:
- switch the id and the priority fields from place for task list view
- add a 'view sales order' button that should open the form view of the SO
linked to the SOL set on the milestone for milestone list view
- add a 'sales order' stat button that should open the form view of the SO
linked to the SOL set on the milestone for milestone form view
- add a 'done' option; represent it in purple in status field
- if there is only 1 assignee, display its name on the card instead of
1 assignee for project sharing kanban view
- add an 'all tasks' menu on the right of the 'my tasks' one
task-2917086
closesodoo/odoo#97669
Related: odoo/upgrade#3893
Related: odoo/enterprise#30195
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- Install `sale_timesheet`
- In Sale, create a so with a 'service' product with invoicing policy
set on `Based on Timesheets` for customer A
- Confirm the SO
- Create a new project and check Billable and Timesheets
- Edit the Project and set customer to A
- Go in the `Invoicing` tab
- Enter the SO line you created before.
- Create employee mappings on the SO line you created before
- Click on the Save manually button
- Click on the Invoice button
- Chose Down payment (percentage)
- Set the percentage to 10%
- Click on `Create Invoice`
Issue:
A traceback is displayed when trying to create a downpayment on a project.
Cause:
Currently we filter the sol that are to invoice (`invoice_status` set to 'to_invoice')
prior to provide them to the wizard `sale.advance.payment.inv`.
As the result is an empty recordset, no sol ids are passed to the wizard.
Thus when trying to create a downpayment, no related sol is provided and
the error is thrown.
Fix:
As the `sale.advance.payment.inv` handles the fact that there are items to invoice
when choosing `regular invoice` there is no risk passing so line with an
`invoice_status` set to 'no' which will be used in this use case.
Closesodoo/odoo#104720closesodoo/odoo#105987
X-original-commit: 8ec5aed363c8e714c109b2eb0fc7da966b6d31a3
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit is to improve the generic UX of the project and
timesheet app.
So, in this commit improve the following:
- set allocated_hous 0 of task when task is created from SO and SOL product
invoice policy in either based on manual or based on milestone
- in project.update description improve the following points,
- hide the 'activities' heading if there is no activity to display.
- hide the 'profitability' sentence if there in no AAL in project's AA.
- rename the 'service on timesheet' product into 'service on timesheets'.
task-2924215
closesodoo/odoo#96298
Related: odoo/enterprise#29632
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, some error messages and others messages are
not translated.
This commit uses the translation function to be able to translate
those messages.
task-3006627
closesodoo/odoo#105192
X-original-commit: 85ef44cd66474bf5dcda4d7478d566e462d1a550
Related: odoo/enterprise#33717
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This commit purpose is to ensure that projects created from a SOL
are created with `allow_billable` set to `True`
task-2992614
closesodoo/odoo#104386
X-original-commit: b9cecb5a77b02542a06f144a01b6f1f90b873c96
Related: odoo/enterprise#33356
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
In this commit we fix two tracebacks that are returned
when the user tries to click on the invoice/vendor bills smart
buttons in the "project updates" view.
Also added credit notes to the "invoices/vendor bills" smart button
of the "project update" view.
task-3033278
closesodoo/odoo#104300
X-original-commit: 4f1981fb54fe726801318ad66b941a20affa0d4a
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Steps to rerpoduce:
- Create a sales order with a subscription that has also materials, we
need that the service product creates a project when a quotation is made
- Inside this project, we go to Project Updates, click on Materials.
Issue:
Materials is throwing an error, so we cannot check the materials in the
project.
Solution:
After the project changes to OWL we need to change the way we pass the
parameters to the 'action_profitability_items', so it matches the new
changes.
opw-3024598
closesodoo/odoo#104069
X-original-commit: 67731daf264fb17dbde1d360ba5e285cd193b446
Signed-off-by: Xavier <xbo@odoo.com>
Before this commit, while selecting the project and task and project only while
creating a product the description was interchanged
After this commit, the description is perfect
task-2969228
closesodoo/odoo#103985
X-original-commit: 6668d5e5e1111d105f549ae1264eaf34c965caa9
Signed-off-by: Xavier <xbo@odoo.com>
Before this commit, tooltip for service_tracking type is mismatch
with task_in_project and project_only.
So in this commit, fixes the tooltip of product in 'task_in_project' and
'project_only' fields.
task-2891983
closesodoo/odoo#103374
X-original-commit: c78a785ad7080b53a9b1e15fc113c57169f526d8
Signed-off-by: Xavier <xbo@odoo.com>
The `analytic_distribution` field is a Json.
It was stored temporarily as a char.
Search is not available yet, so we do queries by hand when we need to search on keys.
Also added a constraint on account_analytic_distribution_model,
so we don't have models with accounts specific to a company when the model has no company or another company.
It would cause an issue when looking at the models from another company.
X-original-commit: 7064c95aa04e5138bb12ae97acfee04ebb67cc0e
Part-of: odoo/odoo#103097
Before this commit, A 'task created' notification is generated
each time the user adds a product from the FSM task even when the
new task is not generated as it's directly linked with particular
fsm task.
So in this commit, check if SOL is linked with the task and if linked then
do not log a message on order chatter.
task-2926348
closesodoo/odoo#103130
X-original-commit: cdf70448b1776b010b6a17f46eb17c7131e6c4b3
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Reason for traceback:
When an internal user clicks on the 'Sale Order', 'Invoice' or 'Ticket' state button, opens
Backend view. But the portal backend does not support chatter. So comes the traceback.
In this commit, we open the portal view.
task-2973173
closesodoo/odoo#102707
X-original-commit: 0df9b1ea93535d127475b89cc9d59ecc5e25b0aa
Related: odoo/enterprise#32538
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
The goal of this task is to review the copywriting of the tooltips
because some of them are not correct in English and others are not
valid anymore. This is also a good opportunity to make an inventory
of the tooltips we have and to add some that could be missing.
task-2860991
closesodoo/odoo#102179
X-original-commit: 5e4cf8f9f6a4372f45aa04a5965f8073bb4ea68a
Related: odoo/enterprise#32298
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Co-authored-by: Mahendra Barad <mba@odoo.com>, Prakash Prajapati <ppr@odoo.com>
Steps to reproduce:
- Go to Projects and find one having field "sale_line_id" set
(example "AGR - S00048" with
"S00048 - Senior Architect (Invoice on Timesheets)")
- Go to Sales -> Quotations and :
1/ cancel
2/ set in draft
3/ edit Project to "AGR - SO00048"
4/ confirm again (see attached)
- Alter Marc Demo access right to have:
Sales -> Administrator
Project -> User
- With Marc Demo, go to Sales -> Quotations and open S00048
- Try to cancel it
Issue:
Access right error.
Cause:
When canceling a SO, we remove the related SO line on the project
however the current user have access to edit SO but not the project.
Solution:
Use sudo().
opw-2959627
closesodoo/odoo#99736
X-original-commit: fab2bd4428dcfec26b644351951f0855ad98fcd9
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Nasreddin Boulif (bon) <bon@odoo.com>
The goal of this task is to review the copywriting of the tooltips
because some of them are not correct in English and others are not
valid anymore. This is also a good opportunity to make an inventory
of the tooltips we have and to add some that could be missing.
task-2862283
closesodoo/odoo#93261
Related: odoo/enterprise#28225
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
The goal of this commit is to get rid of the analytic tags as they were confusing, serving tag purposes as well as distribution on analytic accounts.
Everywhere analytic tags were used as a distribution have been replaced with a new widget that will dispatch distribution on analytic accounts. If there was an analytic account field next to the tags, it has been included in the distribution.
Analytic tags that were used simply as information tags have been removed.
To fill the new widget, there are now 2 kind of rules that will help fill and prefill it.
The first are applicability: previous groups have been removed, and have by replaced by plans. Each account is required to have a plan. These plans define when they are available in the widget: a default applicability per plan and applicability lines that can specify rules following the context of the widget.
The second one are distribution models, that will replace previous default rules but follow the same principles. The accounts (and so the plans) that will be given by the distribution model can override the applicability rules from before.
closesodoo/odoo#98914
Related: odoo/upgrade#3885
Related: odoo/enterprise#30743
Signed-off-by: William André (wan) <wan@odoo.com>
Co-authored-by: Habib (ayh) <ayh@odoo.com>
This commit (and its enterprise equivalent) purpose is to smooth the
user experience and remove unnecessary steps.
The commits:
- Remove all stat buttons except the status and collaborators one from
the project edit form.
- Add multiple small changes to string/name fo fields in views
- Change the custom O2M widget for a standard M2M for the management of
child tasks
- Add the milestone field to the portal page of shared project.
- Remove the wizard 'marked_as_reached_milestone'
- Add the automatic generation of milestone when a SO is confirmed if
some SOL need it
task-2941835
closesodoo/odoo#98546
Related: odoo/enterprise#30628
Related: odoo/upgrade#3798
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, all the custom code for the widgets, form, list and
kanban views are always in OWL and have to be migrate to the new JS
framework.
This commit converts all the widgets, list, kanban and form views used
in the project app in OWL. Some JS tours has been adapted according to
the OWL views, the project right side panel has been reviewed since it
was LegacyComponent (in old component in OWL)
task-2944742
Part-of: odoo/odoo#98380
This commit changes the activities that are displayed on the project update.
(Both in the table of the project update form view and on the right panel in project update)
Specifically it reduces the sale order items to only the ones that are directly
related to the project (the project itself or its tasks)
A test was modified in order to accomodate the change.
closesodoo/odoo#97985
Signed-off-by: Xavier <xbo@odoo.com>
Currently, the project's analytic account and analytic tags are not set by
default in the task. Now it will be fixed.
Steps to reproduce:
1. Install project
2. Activate the analytic account and analytic tags in the user setting
3. Create a project with analytic account and analytic tags
4. Create a task from the kanban view
5. Check the analytic account and analytic tags in the task
Steps to reproduce:
1. Install sale_project
2. Activate the analytic account and analytic tags in the user setting
3. Create a project with analytic account and analytic tags
4. Create a product (Create on Order = task)
5. Create a sale order and confirm
6. Check the analytic account and analytic tags in the task
task-2930761
closesodoo/odoo#97455
X-original-commit: 0a5bc153cf682b29b1c86ac966d8164bd41acbdb
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit to improve generic usage of project app.
So in this commit done following changes:
- when deleting a project, delete all of its tasks in the process instead of
raising an error
- make the list view editable bottom
- add a 'view task' button to open the task form view
- the 'download' and 'print' buttons should be centred
- rename 'planned hours' into 'allocated hours' (or 'allocated days' if the
timesheet encoding unit is in days)
- when a project is linked to an SO manually, he should appear in the
'projects' stat button of the SO; same goes for tasks
- remove the 'profitability' setting
- display the SOL and the quantity in red as well if the milestone hasn't been
reached yet for update right side panel
- add a project field for quickcreate in kanban view
- 'fa-check-square-o x/y' in muted on the project kanban cards
task-2838372
closesodoo/odoo#92262
Related: odoo/enterprise#27758
Related: odoo/upgrade#3561
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this commit to improve generic usage of project app.
So in this commit done following changes:
- add the following filters for project.update search view
- display 'due mm/dd/yyyy' in red if the deadline is in the
past and the milestone hasn't been reached yet for milestone section
- add an 'x Milestones' stat button that should open a list view of all of
the Milestones that are linked to an SOL of this SO for sale.order form view
- add an 'unread messages' filter with separated from other filter
- rename 'create' into 'create project for project wizard
- change to "Create projects to organise your tasks. Define a different workflow
for each project." for project.project action helper
task-2864875
closesodoo/odoo#94936
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Purpose of this PR to improve generic usage of project app.
So in this commit did the following changes:
- Changed recurrence conformation messgae
- Changed Burger menu actions in
project.project kanban view
- Added quick search Description in project.task search view
- In product form view hide button based on condition
- Added sample data in project_milestone_views
- switch the state and the author fields from place and add author
label underneath it's value
- switch the date and the progress fields from place
- Added table-stripes class
- Changed label sprint summary to summary in project_update_default_description
- In project.project form view and project.update right-side panel hide
'collaborators' button on condition
task-2895388
closesodoo/odoo#95245
Related: odoo/enterprise#29089
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit aims at removing unuseful help message to:
1/ reduce translators work, to focus on more useful translations
2/ not sending unuseful information in load_views
3/ reduce help message to useful messages, so that we can mark
fields having a tooltip in the future UI.
4/ some cleanup of existing messages too
The main use cases:
- REMOVED: help redundant with the field name, providing no extra info
- MOVED TO COMMENT: technical help messages, that should not be in UX
closesodoo/odoo#97279
Signed-off-by: Fabien Pinckaers <fp@odoo.com>
Move the definition of class Query to odoo.tools, in order to avoid
circular imports when importing Query in core Odoo modules.
Also reorganize imports in the impacted modules.
Part-of: odoo/odoo#66938
Steps to reproduce:
1- install sales ,accounting, project, timesheets
2- create a new service product p1 that triggers a project and a task
3- create a new sales order so with p1 and validate 1 hour in the task
4- create an invoice from so, an anayltic account is added
5- edit any field of product_id, account_id, partner_id, date
6- the analytic default rule is applied (in this case none) so the
anayltic account is removed
Bug:
the `compute_analytic_account_id` method forces the analytic default
rule even if the field is already set before the changes
Fix:
apply analytic default rule only if the analytic acount is not set and
if it is not a project generated move
OPW-2833912
closesodoo/odoo#94034
X-original-commit: 7f69d623265a53be854eca474876bde2a0b14df6
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Steps to reproduce the product:
- Create a new product:
- Select “Service” type
- Go to the Sales tab:
- Select "Create a task in an existing project" in the `service
tracking` field
- the `project` field becomes visible
- Change the Type of the product to “Consumable”
- Try to save
Problem:
The field `project` remains visible and as it is a required field,
we have to fill it in before being able to save the product.
While it is a feature only for service-type products
Solution:
- The `project` field is based on the `service_tracking` field
to become invisible or not. So when the product is not of service type,
we must remove the tracking service so that the project field
becomes invisible.
- Prevent the user from changing the type of products already used in
a sale order
opw-2858064
closesodoo/odoo#93804
X-original-commit: 102951140e3f35ced8653d4bedb82b63bb2c963f
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
Before this committ:
- Stats buttons were hidden when records are zero
- Some wordings were insignificant
- Existing filters don't allow us to check blocked, blocking and tasks soon in overtime and some other information
- Product form fields need some changes in their order
After this commit:
- All stats button are displayed when records are zero
- Wordings fixed
- New filters added to check blocked, blocking tasks and tasks in overtime soon
- Fields were rearanged
task-2726465
closesodoo/odoo#82253
Related: odoo/enterprise#23257
Related: odoo/upgrade#3185
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, when the `Milestones` feature is disable, the user
can always defined a service product with invoice policy equals to
'Based on Milestones' but since the feature is disabled he cannot add
this product on a milestone and so this configuratiom is useless without
the feature.
This commit removes the item into the invoice_policy field Selection
when the feature is disabled. Moreover, when the feature is disabled,
the existing products with this setting should be updated to be a
service product with `invoice_policy='delivered_manual'`. The quantity
delivered method of the existing SOLs containing those products should
also be updated to allow the user to manually edit the quantity
delivered of those SOLs when the `Milestones` feature is disabled.
However, when the `Milestones` feature is enabled again, only the
products contained in SOL linked to a milestone will be updated because
we cannot assume all service products with
`invoice_policy='delivered_manual'` were a service products with invoice
policy based on Milestones. Also the existing SOLs containing the
products updated will not be updated too to not impact the quantity
delivered.
task-2829542
Before this commit, the compute of `sale_line_id` field searches a SOL
to set to each task containing in `self` as default value for
`sale_line_id`. If no SOL is found in the parent task or the project set
into the task then no SOL will set. Since a milestone can be set to a
task and a milestone can have a SOL set in its model, the task could
have the one of the milestone if no SOL is found.
This commit sets the SOL from the milestone to the task if no SOL is
found in the project or the parent task related to that task.
task-2829542
Before this commit, When user has sale order all docuements right, project user right
and try to open a sale order linked with private project then it raises an
access rights error when a user clicks on sales orders in a project, even
though the user has the correct rights due to invalid access on project_ids
field also only project manager was able to see the project stat button on sale order.
so in this commit, make the project stat button visible to project user
and fix the access error on private project for project user.
task-2792884
closesodoo/odoo#91167
X-original-commit: f4e371a4b0903cea92c947b3afc36deee05237da
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this commit, when a SO linked to the project contained a section
or a note in its Sales Order Items, the `Sales` section displayed in the
project update view displays those Sales Order Items even if there is no
product set and so the UoM will be False for those Sales Order Items.
This commit adds a condition in the domain to exclude the `Section` and
`Note` Sales Order Items in the `Sales` section displayed in the project
update view.
task-2849122
closesodoo/odoo#91035
X-original-commit: 0eaafbe4e56fd9728ce17a58e2dd3b91abd44359
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
When we are writing on a Many2One field, we are supposed to pass the id
of the object, in this case we are passing directly the object which is
working with the ORM, but is not expected in overrides as the
documentation suppose that an int is passed.
community PR refused in stable:https://github.com/odoo/odoo/pull/88736closesodoo/odoo#90992
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Steps :
Create a Project (P) :
> Analytic Account : AA
Create a Product (A) :
> Product Type : Service
> Create on Order : Task
> Project : P
Create a Product (B) :
> Product Type : Consumable
Create and confirm a Quotation :
> SOL > Product : A
Go to the Task consequently created.
Add B to the products.
Go back to the Quotation and create invoice.
Issue :
See Invoice Lines:
> INVL(A)'s analytic account is AA.
> INVL(B)'s is not set.
Cause :
To set the aa on the SOL, we use
SOL.task_id._get_task_analytic_account_id(),
which returns the task's aa or its project's.
Yet we do that only if the task has an aa.
Fix :
Call the method. If it returns something, set it on SOL.
opw-2817811
closesodoo/odoo#89660
X-original-commit: 9e7bf074c346c35325e14e14422f2d860d0db74e
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
This commit adds some default values for the action used in the SOLs
containing a service product shown in the Sales section.
task-2814466
Part-of: odoo/odoo#88219
Before this commit, the `name_get` method is override in
`sale_timesheet` module to add the price_unit when more than one SOL is
shown for the same product in the same Sale Order. This override adds
the price unit only when the `with_price_unit` key is in the context, so
it is only used in the `sale_line_id` field defined in `project.project`
and `project.task` models and also `so_line` field in
`analytic.account.line` model when the user wants to set a SOL for those
models. However, the Sales section displayed in project right side
panel is added in `sale_project` and so we cannot use the override in
that module since `sale_timesheet` is not installed when `sale_project`.
This commit moves the part concerning the `with_price_unit` of the
`name_get` override defined in `sale_timesheet` module to `sale_project`
one. And then, we will use the context key in the Sales section to
display the price unit when there are more than one SOL for a same
product in a same Sales Order.
task-2814466
Part-of: odoo/odoo#88219
Before this commit, by default 10 sales order items are shown in the
Sales section displayed in the right side panel of project update view.
This section takes much place when there are 10 rows by default.
This commit reduces the number of Sales Order Items to 5 records
to display by default when the user arrives in the project update
view with the right side panel. By the way, if the user wants to see
more Sales Order Items, he can click on "Load More" button to see 5
additional Sales Order Items.
task-2814466
Part-of: odoo/odoo#88219
Before this commit, when the user clicks on the Material row shown in
the project profitability section, he can see the SOLs from another
saleman even if he has just the "See own documents" access rights on
Sales app. Moreover, the check to allow the user to click on a SOL name
in Sales section to get either the timesheets and the stock moves
related is done in sudo and so we do not take into account the rules
defined for the current user.
This commit filters the Sales Order Items to show for the user if
he can see the Sales Order(s) related. it removes the sudo to
correctly filter the SOLs and get only the ones accessible by the
current user.
task-2814466
Part-of: odoo/odoo#88219
Before this commit, when the user clicks on a row in Sales section
displayed in the right side panel of project update, the action display
the list view even if there is only one record to display.
This commit passes the `res_id` with the action to the frontend to
call the action and directly display the form view when we are sure
there is only one record to show.
task-2814466
Part-of: odoo/odoo#88219
Before this commit, the sale module could not be used to manage subscriptions in an override.
This commit adapts the sale module to https://github.com/odoo/enterprise/pull/21825
taskid: 2568007
Purpose is to lessen access to internal methods and make them private. No
need to expose internal computation.
Task-2812665 (Rating: Cleanup rating flow code)
Part-of: odoo/odoo#80707
Before this commit, the order of rows shown in costs and revenues is not
fixed and depends on the order of the modules.
This commit adds a sequence on each row and then sort the rows to fix
the order of those rows.
task-2710808
Before this commit, the domain used to find the SOLs inscreasing the
revenues of the project is fixed, so it is not possible to override the
domain without rewriting the method which computes the revenues from the
SOLs linked to the project.
This commit adds a hook to easily modify the domain used.
task-2710808