- Instead of raising an error, we simply exclude sub-tasks of the current
task from the domain of the 'parent task' field
task-3584963
closesodoo/odoo#143282
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- In 'project sharing' create a task T in project A.
- Add 2 subtasks to task T in project A.
- Share project A in edit mode.
- Access the view form of task T as a portal user.
- Click on the subtask button to navigate to the tree/kanban view of subtasks.
- Select the kanban view.
- Create a new task on the fly, resulting in a traceback.
Issue:
- When a portal user creates a new task on the fly from the subtask kanban view,
a traceback occurs, and the expected behavior of creating a new task Y in
project A is not met. Additionally, task Y should not be a subtask of task T.
Solution:
- Resolve the traceback issue when creating a new task from the subtask kanban
view as a portal user in project sharing.
- Ensure that the new task Y is correctly created in project A and is not
set as a subtask of task T.
task-3584963
Part-of: odoo/odoo#143282
Steps to reproduce:
- Access the 'project.task' module.
- Create a subtask.
- Attempt to save the subtask after adding a project to it.
Issue:
- Saving a subtask becomes impossible when a project is added, causing an
obstruction in the process.
Solution:
- Rectify the functionality to enable successful saving of a subtask even after
adding a project, ensuring a seamless process for subtask creation and
association with projects.
task-3584963
Part-of: odoo/odoo#143282
When we use the `|` (or) version of this rule the ORM generates two
sub-queries when checking the company. This causes sub-optimal and in
some cases really bad planning for the queries and thus PG takes hours
to complete them.
Example (formatted):
```sql
SELECT "mrp_routing_workcenter".id
FROM "mrp_routing_workcenter"
LEFT JOIN "mrp_bom" AS "mrp_routing_workcenter__bom_id"
ON "mrp_routing_workcenter"."bom_id" = "mrp_routing_workcenter__bom_id"."id"
WHERE "mrp_routing_workcenter"."workcenter_id" in (1)
AND ( ("mrp_routing_workcenter"."bom_id" in (
SELECT "mrp_bom".id
FROM "mrp_bom"
WHERE ("mrp_bom"."company_id" in (1))
)
)
OR ("mrp_routing_workcenter"."bom_id" in (
SELECT "mrp_bom".id
FROM "mrp_bom"
WHERE "mrp_bom"."company_id" IS NULL
)
)
)
ORDER BY "mrp_routing_workcenter__bom_id"."sequence",
"mrp_routing_workcenter__bom_id"."id",
"mrp_routing_workcenter"."sequence",
"mrp_routing_workcenter"."id"
```
If we use the single term version the generated query has only one
sub-query:
```sql
SELECT "mrp_routing_workcenter".id
FROM "mrp_routing_workcenter"
LEFT JOIN "mrp_bom" AS "mrp_routing_workcenter__bom_id"
ON "mrp_routing_workcenter"."bom_id" = "mrp_routing_workcenter__bom_id"."id"
WHERE "mrp_routing_workcenter"."workcenter_id" in (1)
AND ( ("mrp_routing_workcenter"."bom_id" in (
SELECT "mrp_bom".id
FROM "mrp_bom"
WHERE (("mrp_bom"."company_id" in (1))
OR ("mrp_bom"."company_id" IS NULL))
)
)
)
ORDER BY "mrp_routing_workcenter__bom_id"."sequence",
"mrp_routing_workcenter__bom_id"."id",
"mrp_routing_workcenter"."sequence",
"mrp_routing_workcenter"."id"
```
In this version PG is able to produce a better query plan resulting in
better execution times.
Also, the `company_id` field is required on some models, so the "= False" comparison is useless.
closesodoo/odoo#159123
X-original-commit: 1b5c41f36801fb886ec591f29dba42787d698526
Related: odoo/enterprise#59378
Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
Co-authored-by: Christophe Simonis <chs@odoo.com>
Issue:
------
The `partner_autocomplete` module is an automatically installed module.
This module is not included in the dependencies
and can therefore be uninstalled.
If `partner_autocomplete` is uninstalled and we go to a shared project
with a portal user for example, we get an internal server error,
as we don't have access to the `partner_autocomplete` files.
Solution:
---------
Remove the `partner_autocomplete` files from the manifest file
of the `project` module.
Note:
If the widget is not found (in the very rare case of uninstalling
the `partner_autocomplete` module), we will use the
default widget (and create a log).
opw-3774575
closesodoo/odoo#157965
X-original-commit: 65331aee3b7c74752aed23e136f08ff1fb5d282d
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Thomas Lefebvre (thle) <thle@odoo.com>
we forgot to enable the feature in the description of project.update
model.
closesodoo/odoo#158257
X-original-commit: fedb0c6f4f79e762602185dee86ce8a558000783
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Currently, the `plan_id` used to create analytic accounts is not the one set in the settings.
Steps to reproduce:
-------------------
* Go to the **Settings**
* Enable developper mode
* Select **User & Companies** > **Groups**
* Select `Technical/Analytic Accounting`
* Add user
* Go to the **Project** app
* Select **Configuration** > **Settings**
* Under **Time Management**, enable Timesheets
* Under **Analytics** > **Analytic Plan**, select Projects
* Create a new project
* Go into the settings of the project
* Under the **Settings** tab, select the internal link for the **Analytic Account**
> **Observation**: The Plan is set to Projects
* Go to **Conffiguration** > **Settings**
* Under **Analytics** > **Analytic Plan**, change Projects to Departments
* Create a new project
* Go into the settings of the project
* Under the **Settings** tab, select the internal link for the **Analytic Account**
> **Observation**: The Plan is still set to Projects
Why the fix:
------------
When creating, an analytic account, the plan is computed with `_get_all_plans()`.
https://github.com/odoo/odoo/blob/e365e22485dc45f1cbe87ae93395b022a4724a3c/addons/project/models/project_project.py#L894-L903
Inside `__get_all_plans()` the plan is computed as follows:
https://github.com/odoo/odoo/blob/e365e22485dc45f1cbe87ae93395b022a4724a3c/addons/analytic/models/analytic_plan.py#L106-L07
However, the setting that the user changes in the frontend corresponds to `analytic.analytic_plan_projects`.
https://github.com/odoo/odoo/blob/e365e22485dc45f1cbe87ae93395b022a4724a3c/addons/project/models/res_config_settings.py#L18-L22
This seeting is not company-related. It can be used on projects even if they have a `company_id` set to false. We fallback on `_get_all_plans()` if the user did not specifically choose a plan in the settings.
opw-3751661
closesodoo/odoo#157247
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
When creating a sub-task from a task form view in portal, the domain of
the stage should exclude personal stages and include only the one of the
project.
taskid:3551354
closesodoo/odoo#156776
X-original-commit: 3be073e73b5866d7b5da8cc549146be5efb5d7d0
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
to reproduce:
=============
- make a task recureent
- change its state to a closing one
-> Validation Error
Problem:
========
- when creating the next occurence, we insert the followers of the original
task in the new one, but it happens that we create a `mail_followers` twice
which violates an SQL constraint of `mail_followers`.
https://github.com/odoo/odoo/blob/ea170be9089ee6c784664475ac4ec1218d23dccd/addons/mail/models/mail_thread.py#L253-L262
the create method will create `mail_followers` for the task and as the condition
that follows is truthy in this use-case `_insert_followers` will be called
and create `mail_followers` again.
- In previous versions we didn't face this issue because the creation of
occurences was done by a cron, so the condition was never truthy thanks to
`and self.env.user.active`.
Solution:
=========
to make sure the conditon stays falsy, we set `mail_create_nosubscribe`
in context to `True` when creating the next occurence.
opw-3742737
closesodoo/odoo#156945
X-original-commit: 64ca453bc36740ce4afcd46c1afbbb31abffdf7c
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Abdelouahab Laaroussi (abla) <abla@odoo.com>
How to reproduce the bug :
- Go to one project from portal user
- Open a task
- Create a subtask of this task
- Open the subtask
- Click on "Parent Task" button
=> Traceback
Fix :
- The search view is not loaded when opening the parent task
- We add manually the search view id in the action opening the
parent
taskid:3551354
closesodoo/odoo#156183
X-original-commit: 536638a92d6d7b242e27ae6f73431c61267b4eeb
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
The tour isn't working if you run it on mobile mode, it gets stuck at
some points.
To fix this issue, a mobile step was added, and one trigger was edited
to work with mobile mode as well.
task-3709501
closesodoo/odoo#155789
X-original-commit: 224d3dfb9bbcc53bd2902407800b6fa88d9b8716
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
decided to add the domain condition in the project.task user_ids field definition,
which means we can remove identical domains in views
Task-3698867
closesodoo/odoo#155044
X-original-commit: c6978c3fc4f828d970d45ebdaa4a35b44f3d09ce
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Reproduction:
1. In project -> task, create a new task
2. In the description, make a table of 1 row 2 columns, type two line
long string in the second cell
3. Create a row above, type anything short, save
4. Add the portal user as follower, e.g. search user joel
5. In an incognito tab log in with portal portal, check the task and the
table is out of the field
Fix: we should not fix the columns' width when create a new head row in
the table, for extra long table, it should be scrollable
task-3559104
closesodoo/odoo#154715
X-original-commit: 997b2f2817efe06ea37e5aca278507e0ef878635
Signed-off-by: Jinjiu Liu (jili) <jili@odoo.com>
Signed-off-by: Antoine Guenet (age) <age@odoo.com>
**Issue Description**:
From versions 16.3 to the master branch, a sub-task should never be assigned to a project automatically. However, when accessing `Sub-tasks` through the smart button and creating a new one, the context pass variable such as `'default_project_id': 4`. This leads to the sub-task being created with an assigned project immediately.
**Steps to Reproduce**:
1. Open `Project` app.
2. Enter any project, then navigate to any task.
3. Within the task, go to `sub-task` tab.
4. At the top center of the page, click on 'Sub-task' smart button.
5. Then, create a new sub-task using the 'New' button.
6. You will observe that the sub-task is immediately assigned to a project, which should not happen.
**Proposed Solution**:
By removing the passing of the default_project_id variable from the context when open a sub-task action, we ensure that sub-tasks are not automatically assigned to a project, as intended.
opw-3708537
closesodoo/odoo#154101
X-original-commit: c45ac4c9584f961ea0cdedffdf2b4bbe9058e8d9
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Ilya Rudy (ilru) <ilru@odoo.com>
Before this commit, to render the table, the project task list
view computed the list of selected records once for each cell,
and then iterated over that selection to check whether selected
tasks were all associated with the same project (to set the
stage_id field readonly if not). However, computing the selection
requires to iterate over all records, so the rendering was O(n^2).
As a consequence, the rendering of (not so) large tables was very
slow (~1s for 80 records).
With this commit, we compute only once for the whole table whether
the selection contains records from different projects.
closesodoo/odoo#153611
Signed-off-by: Géry Debongnie <ged@odoo.com>
Steps:
- Install project.
- Go to settings and select Custom Email Servers.
- Add alias domain.
- Then go to the project.
- Create a new project.
- The gap between the email alias and project title is too much.
Issue:
-When we create a new project the gap between the email alias and project name is too
much when only the project is installed and there are no options to display.
Cause:
-The "margin-top-4" taking much space.
Fix:
-After this commit the space between email alias and project name is decreased
by changing the space.
task-3550638
closesodoo/odoo#153277
X-original-commit: b01b2f2f4d2e31648e3c98b8991eaafc886ca542
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Oversight in 06919a232251cbd68a28500757aef5cd2e3363a0
Need to handle `default_child_ids` and `default_tag_ids` as well.
closesodoo/odoo#153397
X-original-commit: 7d521b129c82e38afe50cd8b81cb2081c157aceb
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
Steps:
- Install project module
- Activate customer rating from settings
- Create new project with out company
- Add stages, then in final stage set in rating email template
to 'Project: Task Rating Request'
- Create a task and move the task to that final stage then
- Check the emails in settings, the subject line is look like
': Satisfaction Survey'.
Issue:
- When there is no company set on the project, on that time company name
is missing in subject line.
Cause:
- In task satisfaction survey email template only set the company
name based on the project only.
Fix:
- By adding the current user's company name to the template subject line,
the problem will be solved.
task-3626702
closesodoo/odoo#153103
X-original-commit: 8cf35cb51d97c0259e98765f899e3f2f8b98f52e
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
ba1a550#diff-36973ac6e1f20b32a00fbcdc1f811c923bbb44ca15a0e068018e904ff565644fR97
The previous PR added some constraints on what can be used on the
context of views. The key word 'force-email' is no longer relevant and
will be removed from the context before reaching the next view/python
code.
This commit's purpose is to remove the force_email that were forgotten.
In order to still open the simplified partner form view, the ref of the
view is given in the context instead. While at it, we also fix the
create option given on the partner_ids field that was inconsistent.
affected version 17.0 - master
task - 3538000
https://www.odoo.com/web#id=3538000&menu_id=4720&cids=1&action=333&active_id=4105&model=project.task&view_type=form
Please enter the commit message for your changes. Lines starting
closesodoo/odoo#149806
Related: odoo/enterprise#54549
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Restrict collaborator portals to:
- Change unallowed fields on subtasks
- Create/Update/Delete tags.
They can only link, unlink tags to tasks.
task-3698146
closesodoo/odoo#152992
X-original-commit: 32c21d651c32c978f3cf67105e1c2eca9de2334d
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
Commit [1] moved (almost all of) the code of formatFloat from
views/fields/formatters.js to core/utils/numbers, to make it
accessible in the frontend. A formatFloat function was kept in
formatters.js to handle the false case, which makes no sense in
number utils, but is useful for fields. However, a lot of imports
have been updated to use the numbers.js instead of formatters.js
(i.e. they no longer benefit from the support of false), whereas
they are actually formatting field values, so they should have
kept using the formatFloat from formatters.js
This commit adapts the places where the formatFloat to use must
come from formatters.js, not numbers.js.
[1] https://github.com/odoo/odoo/commit/054ca0a19aaf297f420a1b478b93ae26f1b943b8
task 3722043
closesodoo/odoo#152810
Related: odoo/enterprise#55919
Signed-off-by: Michaël Mattiello (mcm) <mcm@odoo.com>
For a first iteration, Russian translations were done using DeepL using
1 large .pot file of all the standard modules to translate (e.g. no
localizations, no test modules, etc). Unfortunately for some reason
doing a msgmerge with the existing ru.po files didn't seem to work, so
old "Translators" metadata at top of files were lost (maybe they will be
re-added during next Transifex sync?)
Part-of: odoo/odoo#152285
Steps:
- In mobile install project
- Project.project form view
- Go to the project settings
- In Alias Domain(Custom Email Servers)
- The input alignment is not good
Issue:
- The input should go under the alias domain in project.project
form view in mobile
Cause:
- Here they adding extra bootstrap class so that's why it will be
showing in correctly
Fix:
- By removing the bootstrap class of 'oe_inline' the problem will be solved
task-3550702
closesodoo/odoo#151829
X-original-commit: 2819d6e076404140f5c26e76829a8f5bb171cf14
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- create a project and a task inside
- set date_deadline on the task
- copy the project
=> the copied task has date_deadline = False
Source:
- date_deadline copy property wasn't changed to True when the field
was merged with planned_date_end in 17.0
Fix:
- copy was removed as its default value is True
closesodoo/odoo#152006
X-original-commit: https://github.com/odoo/odoo/commit/56073896a69d9f68ce7e7938d9dec7ef094e19b3
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- first install bridge module 'project_account_budget'
- open any project and go to project updates
- in right side panel you see 'Profitability' button
- click the profitability and switch to mobile view
Issues:
- heading of table are not vertically centered
Solution:
- Add style to vertically align center of heading
closesodoo/odoo#151839
Task: 3633405
X-original-commit: 249f8700b9c982c765d712cd27e93bbd7bedfe3e
Related: odoo/enterprise#55460
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps:
- In mobile open project
- Project.project form view
- Share project
- Invite people, the 'email' is displayed twice in the kanban view
Issue:
- In mobile when project share invite people, the 'email' is displayed
twice in the kanban view
Cause:
- This will be coming because of the context for show_email
Fix:
- By removing of context show_email it will be working fine.
task-3550702
closesodoo/odoo#150528
X-original-commit: b7fe981d0984bf265a970b0b132dec2172f42bf8
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- open project updates of any project by clicking three dots
- add some update of project
- switch to mobile view
Issues:
- in kanban cards of project update, no spaces between progress bar and date
Solution:
- add some space between progress bar and date to have better experience
Task:3633405
closesodoo/odoo#145774
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This commit fixes some layout issues from the portal redesign.
The aims of this commit is to :
1) fix some issues with the column layout, mainly in the quotation section.
2) fix some spacing issues by using the right classes and better units.
3) fix the typescale and the information architecture with the right
heading tag.
4) fix some layout issues within the column layout and fixing unconsistent
layouts shared between different items.
5) fix an issue about the first information of the sidebar often
being hidden when scrolling, due to the sticky position of the sidebar
task-3651084
Part-of: odoo/odoo#147496
Steps to reproduce:
- Open the 'project.task.calendar' view.
- click on the date to open private task
- Observe that personal stages are clickable.
Issue:
- The personal stage should not be clickable in the 'project.task calendar' view
Solution:
- Disabled the clickable behavior for personal stages in the 'project.task
calender' view
task-3637218
closesodoo/odoo#150133
X-original-commit: 48c5d2b7bc036fb530ab7f665894c30174cb2518
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Before this commit, when the task_count is too huge, the number of
open tasks displayed in each kanban card of project returns `NaN` value
the reason is because, for instance, the number is 1026 and using `value`
will format the value and return `NaN` when the soustraction is made
between 2 numbers formatted (task_count - closed_task_count).
This commit introduces a new field called `open_task_count` to get
the number of open tasks and use it in the kanban instead of doing
the soustraction between `task_count` and `closed_task_count` fields
since we cannot really format the result.
closesodoo/odoo#149637
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps:
- Install project.
- Go to the project.
- Create or edit the project name to excessively long.
- Then go to Kanban view.
- The project name would overflow.
Issue:
-Before this commit, in the project's kanban view, if the project's name was
excessively long, it would overflow.
Cause:
-When the name is excessively long it would overflow out of the div element.
Fix:
-After this commit the name is now shortened by applying the 'me-5' Bootstrap
class.
task-3676094
closesodoo/odoo#149007
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Step:
- Navigate to the project module.
- Select any project.
- Click the status button on the Kanban view's top left.
- This action redirects to the project update Kanban view.
- Notice that the status field is unexpectedly editable.
Issue:
- In the project module, accessing the project update Kanban view allows
unintended editing of the status field.
Cause:
- Due to the new modifications made in the kanban view where the user is allowed
to perform selection from the view itself, the status field also resonates the
similar behavior.
Fix:
- By adding the 'read-only' attribute in the Kanban view specifically for the
status field, we can restrict the unintended modifications to this field.
This implementation ensures that users cannot edit the status field directly
from the Kanban view.
Task-3610481
closesodoo/odoo#144336
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Before this commit when the user creates a task with a subtask and
save the form view and then go to the form view of the subtask and
set as project the same than the one set on the parent task, he cannot
save the form view. The reason is because the framework JS considers
there is nothing to save since in fact , the project set is the same
than the parent by default, it is just not displayed in the interface
thanks to the value of `display_in_project` field. The reason is
to be able to let the user choose if he wants to see the subtask in
the main views (list/kanban) of tasks linked to the project or just
below the parent task.
This commit fixes the issue by forcing to update the `display_in_project`
field even if it is not in the active fields since it is invisible
in the interface and only the widget set on the project field will
read and update it.
Steps to reproduce:
==================
- Install Project app
- Go to the project app
- Create project A
- Create a task inside that Project A
- Go to the form view of that task
- Create a subtask
- Save the form view
- Go to the form view of the subtask
- Set the project A as project for that subtask
- Save the form view
Current Behavior:
================
The form view cannot be saved because the framework JS considered
there is in fact, nothing to save since `display_in_project` is
not in the active fields and there is no force_save="1" set on the
field in the view definition.
Expected behavior:
=================
The form view should be saved.
closesodoo/odoo#149035
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps:
- install to project_enterpise module
- Go to project > all tasks in the Gantt view
- Group by customers
- Filter any customer
Issue:
The wrong domain is passed in the search method so traceback occurred.
Cause:
Currently, we don't replace `child_of ` operator with `ilike` in _search_on_comodel method so
child_of is passed in the search method and orm is not handled.
Before this commit domain:
`[('name', 'child_of', 'admin')]`
After this commit domain:
`[('name', 'ilike', 'admin')]`
Fixed:
We correct the domain.
Issue in this commit-
https://github.com/odoo/enterprise/pull/41257/commits/57eb5b72796e0aeff6d8368219281760acb7c307
task-3625825
closesodoo/odoo#144989
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
The parser of the library we use to extract strings to be translated
(python-babel) doesn't handle escaped newlines in the same way as the
JavaScript parser. The resulting mismatch makes the content that uses
them untranslatable.
for example:
```js
const hey = _t("slt \
çv ?"
);
```
is exported as "slt \nçv ?", while the content of the variable is
"slt çv?"
This commit removes faulty occurrences from the code base and re-exports
the corresponding POT files.
*: point_of_sale, pos_sale, project, web
closesodoo/odoo#145971
Related: odoo/enterprise#52617
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
Steps:
- install project ,website,saleorder
- open project ,share a saleorder project to admin from the share button
- then go to website,click on projects
- pen the shared project
- In that the size of the chatter is small
Issue:
- The size of the chatter is abnormally small
Cause:
- The problem occurs because the width of the chatter is less
Solution:
- By increasing the chatter size the problem can be solved
task-3549279
closesodoo/odoo#148770
X-original-commit: a2efc1a0a1b831f4dd356661d1ef40e9174af73b
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
issue:
Currently, the project task count in kanban view calculates all closed and
opened task.
cause:
In this commit 03235ae in task count both closed and open task considered.
fix:
In project kanban view we only show task count for open task.
closesodoo/odoo#148641
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>