Commit Graph
139 Commits
Author SHA1 Message Date
Xavier BOL (xbo) d339af5cfe [FIX] sale_{project,timesheet}: translate service policy selection
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.

closes odoo/odoo#108154

X-original-commit: 90cf43789d849df3908f4636228cb643a005427f
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2022-12-19 09:28:19 +01:00
Victor Piryns (pivi) 9ed8db4f6e [FIX] project: account invoices/bills in project update dashboard
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

closes odoo/odoo#108176

X-original-commit: 3d3f4109a06445b6ce9606770085c763ea206b35
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
2022-12-16 17:20:00 +01:00
Kartik Chavda 5953850736 [MOV] sale_{project,timesheet}: move allow_billable field
This commit move allow_billable field of task to sale_project from
sale_timesheet module.

task-3018123

closes odoo/odoo#106961

Related: odoo/upgrade#4093
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-12-06 18:09:45 +01:00
Kartik Chavda 98285b7ee1 [IMP] sale_project: display price unit in SOL name
This commit display price unit in SOL name_get for timesheet views.

task-2893556

closes odoo/odoo#96330

Related: odoo/enterprise#29650
Related: odoo/upgrade#3704
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-11-30 20:03:12 +01:00
Rohitkumar (roku) f7f3d9610b [IMP] sale_(project): improve the UX for project app
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

closes odoo/odoo#97669

Related: odoo/upgrade#3893
Related: odoo/enterprise#30195
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2022-11-25 17:55:56 +01:00
Manish Bohra c793fdebd8 [FIX] sale_project: allow invoicing downpayment from project
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.

Closes odoo/odoo#104720

closes odoo/odoo#105987

X-original-commit: 8ec5aed363c8e714c109b2eb0fc7da966b6d31a3
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-11-18 08:43:51 +01:00
hiroh-odoo e01e603cde [IMP] sale_(project,timesheet): improve generic UX
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

closes odoo/odoo#96298

Related: odoo/enterprise#29632
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-11-16 08:30:50 +01:00
Adesh Jolhe (adjo) 11ea3fd06e [FIX] {sale_}project,hr_timesheet: translate various messages
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

closes odoo/odoo#105192

X-original-commit: 85ef44cd66474bf5dcda4d7478d566e462d1a550
Related: odoo/enterprise#33717
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2022-11-08 23:14:51 +01:00
damr c63fca37bb [FIX] sale_project: create project from SOL with allow_billable
This commit purpose is to ensure that projects created from a SOL
are created with `allow_billable` set to `True`

task-2992614

closes odoo/odoo#104386

X-original-commit: b9cecb5a77b02542a06f144a01b6f1f90b873c96
Related: odoo/enterprise#33356
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-10-28 09:17:50 +02:00
Panagiotis Kyriakou 7c06316aac [FIX] sale_project: fix project invoice traceback
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

closes odoo/odoo#104300

X-original-commit: 4f1981fb54fe726801318ad66b941a20affa0d4a
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-10-27 14:41:28 +02:00
Maruan Aguerdouh (magm) 31d19afdc8 [FIX] sale_project: clicking on materials button projects updates working
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

closes odoo/odoo#104069

X-original-commit: 67731daf264fb17dbde1d360ba5e285cd193b446
Signed-off-by: Xavier <xbo@odoo.com>
2022-10-25 15:03:46 +02:00
Pratik Awasthi b2d7580cef [FIX] sale_project: fix selection description for product
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

closes odoo/odoo#103985

X-original-commit: 6668d5e5e1111d105f549ae1264eaf34c965caa9
Signed-off-by: Xavier <xbo@odoo.com>
2022-10-25 08:29:48 +02:00
Pallavi Savaliya 78703dd803 [FIX] sale_project: fix the tooltip for service_tracking type
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

closes odoo/odoo#103374

X-original-commit: c78a785ad7080b53a9b1e15fc113c57169f526d8
Signed-off-by: Xavier <xbo@odoo.com>
2022-10-18 13:17:28 +02:00
gawa-odoo b8dca3b174 [IMP] analytic, *: Json field for analytic distribution
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
2022-10-17 10:11:09 +02:00
Pallavi Savaliya 71cdae1c12 [FIX] sale_project: fix the chatter message on fsm product addition
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

closes odoo/odoo#103130

X-original-commit: cdf70448b1776b010b6a17f46eb17c7131e6c4b3
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-10-12 07:35:49 +02:00
Sarika Shekhada 2d89f7d58d [FIX] sale_project: fix the traceback when doing action on the stat button of the project sharing view
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

closes odoo/odoo#102707

X-original-commit: 0df9b1ea93535d127475b89cc9d59ecc5e25b0aa
Related: odoo/enterprise#32538
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-10-08 10:41:50 +02:00
Dhaval BaraiyaandMahendra Barad <mba@odoo.com>, Prakash Prajapati <ppr@odoo.com> 1e48724f8b [IMP] *.*: update the tooltips in various modules
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

closes odoo/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>
2022-10-05 12:04:48 +02:00
Nasreddin Boulif (bon) 0fc02b136b [FIX] sale_project: Allow user to cancel SO linked to project
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

closes odoo/odoo#99736

X-original-commit: fab2bd4428dcfec26b644351951f0855ad98fcd9
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Nasreddin Boulif (bon) <bon@odoo.com>
2022-10-03 15:18:46 +02:00
Vishal Padhiyar 812644b120 [IMP] *.*: update the tooltips in various modules
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

closes odoo/odoo#93261

Related: odoo/enterprise#28225
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-09-20 16:29:13 +02:00
gawa-odooandHabib 7e3403068f [REF] *: Analytic Apocalypse
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.

closes odoo/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>
2022-09-20 12:36:01 +02:00
Vincent Larcin 193f220c86 [IMP] sale_project: add context key when creating projects from SOs
This commit adds the `no_create_folder` context key when creating
a project through a SO.
This context key is used in documents_project to delay the folder
creation until all projects of the SO have been created.

Enterprise: https://github.com/odoo/enterprise/pull/30838
Upgrade: https://github.com/odoo/upgrade/pull/3749

Task-2944247

Part-of: odoo/odoo#99151
2022-09-09 14:41:05 +02:00
damr f3974bea4b [IMP] project,*: improve user experience
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

closes odoo/odoo#98546

Related: odoo/enterprise#30628
Related: odoo/upgrade#3798
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-09-07 23:10:37 +02:00
Xavier BOL (xbo) b8ef0cc4f2 [REF] project,*: convert kanban, list and form views in OWL
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
2022-08-30 20:22:34 +02:00
Panagiotis Kyriakou 06b81a71aa [FIX] sale_project: reduce the activities displayed on project update
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.

closes odoo/odoo#97985

Signed-off-by: Xavier <xbo@odoo.com>
2022-08-11 19:14:57 +02:00
Kartik Chavda 7517bf46d4 [FIX] sale_,(project): set default analytic account and analytic tags in task
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

closes odoo/odoo#97455

X-original-commit: 0a5bc153cf682b29b1c86ac966d8164bd41acbdb
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-08-05 03:38:14 +02:00
Rohitkumar (roku) a819d6a597 [IMP] sale_(project),hr_timesheet: improve generic UX for project
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

closes odoo/odoo#92262

Related: odoo/enterprise#27758
Related: odoo/upgrade#3561
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-08-05 03:38:02 +02:00
Rohitkumar (roku) 2720bc2034 [IMP] sale_(project),hr_timesheet: generic UX improvement for project
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

closes odoo/odoo#94936

Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-08-04 18:35:23 +02:00
Adesh Jolhe (adjo) 540c740ae4 [IMP] sale_,hr_(project,timesheet): generic improvements for project
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

closes odoo/odoo#95245

Related: odoo/enterprise#29089
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-08-03 20:47:50 +02:00
Fabien Pinckaers 3363e55cac [IMP] cleanup of help messages in all modules
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

closes odoo/odoo#97279

Signed-off-by: Fabien Pinckaers <fp@odoo.com>
2022-08-02 00:26:53 +02:00
Raphael Collet d86e582283 [IMP] core: move class Query to odoo.tools
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
2022-07-05 11:34:59 +02:00
Victor Feyens 9750a3c194 [FIX] sale_project: settings user doesn't have access to SOL
Part-of: odoo/odoo#91909
2022-06-23 23:48:30 +02:00
momegahed 28caa8fccc [FIX] sale_project_account: Analytic account is overridden
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

closes odoo/odoo#94034

X-original-commit: 7f69d623265a53be854eca474876bde2a0b14df6
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-06-20 13:26:56 +02:00
Touati Djamel (otd) ab485e9318 [FIX] sale,sale_project: delete service tracking for non service product
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

closes odoo/odoo#93804

X-original-commit: 102951140e3f35ced8653d4bedb82b63bb2c963f
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2022-06-16 16:03:43 +02:00
Raouf 83760b9f10 [IMP] project: improve ux
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

closes odoo/odoo#82253

Related: odoo/enterprise#23257
Related: odoo/upgrade#3185
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-06-02 18:58:14 +02:00
Xavier BOL (xbo) 50ffc33999 [IMP] sale_{project,timesheet}: remove 'delivered_milestone' in invoice_policy
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
2022-05-31 10:29:09 +02:00
Xavier BOL (xbo) c1feb0deaf [IMP] sale_project: get the SOL from the milestone to task if no SOL found
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
2022-05-31 10:29:08 +02:00
Rohitkumar (roku) 61569e9bf7 [IMP] sale_project: fix the SO access error even user has correct sales rights
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

closes odoo/odoo#91167

X-original-commit: f4e371a4b0903cea92c947b3afc36deee05237da
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-05-12 14:51:03 +02:00
Xavier BOL (xbo) 5582af3958 [FIX] sale_project: exclude the Section and note SOLs
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

closes odoo/odoo#91035

X-original-commit: 0eaafbe4e56fd9728ce17a58e2dd3b91abd44359
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
2022-05-11 11:29:03 +02:00
Krzysztof Magusiak 2490982fce [FIX] sale_project: Expecting an ID in write for Many2One
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/88736

closes odoo/odoo#90992

Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-05-11 09:21:55 +02:00
Audric Onockx (auon) c3c5c5ae72 [FIX] sale_project : set project's aa on sol
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

closes odoo/odoo#89660

X-original-commit: 9e7bf074c346c35325e14e14422f2d860d0db74e
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
2022-04-26 12:22:08 +02:00
Kartik Chavda 43644341a6 [FIX] project,sale_project: fix action of milestone stat button
This commit fix button action of milestone stat button.

task-2784776

closes odoo/odoo#89326

X-original-commit: 70f67d8ca012ccc7980a2cc8da1c2fea1fd15678
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-04-22 19:57:46 +02:00
Xavier BOL (xbo) 3fcf7631c9 [IMP] sale_{project,timesheet}: add default values for timesheets action
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
2022-04-08 17:13:30 +02:00
Xavier BOL (xbo) e41a8b924c [IMP] sale_{project,timesheet}: display price_unit when 2 SOLs for the same service
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
2022-04-08 17:13:30 +02:00
Xavier BOL (xbo) 6bd547a4e1 [IMP] sale_project: display 5 sales order items in Sales section
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
2022-04-08 17:13:29 +02:00
Xavier BOL (xbo) ad4b334789 [IMP] sale_project: check if the user can access SO to see SOLs
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
2022-04-08 17:13:28 +02:00
Xavier BOL (xbo) d1d00c0e4c [IMP] project,sale_{project{_stock},timesheet}: display form view if one record
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
2022-04-08 17:13:27 +02:00
Arnaud Joset 9ac53b07db [IMP] sale,sale_management: adaption for subscription override of SO
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
2022-04-07 10:57:49 +02:00
Thibault Delavallée 05c7e84239 [IMP] rating: make methods private
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
2022-04-04 17:48:23 +02:00
Xavier BOL (xbo) e26bdb3282 [IMP] project,*: sort the row displayed in profitability section
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
2022-04-01 15:33:00 +02:00
Xavier BOL (xbo) 518a5becd6 [IMP] sale_project: allow to change the domain for profitability from SO
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
2022-04-01 15:33:00 +02:00