Steps to follow:
- Go to a crm.lead
- Schedule an activity
- Click on edit
- Click on mark as done in the popup
- Move the lead to a new stage
-> A missing record error is displayed for the activity
Cause of the issue:
Once the activity has been mark as done (deleted),
The crm.lead record is not updated. The old activity is then
passed to the server where an error is thrown
Solution:
Update the main view after editing an activity
opw-2878984
closesodoo/odoo#95748
X-original-commit: 0a740e819b7f2aa7feb527bb3223b272e4c9f967
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
In BS4 text color wasn't defined for `table-striped`.
In BS5 color text decorations in list views was broken because of BS5
sets the color of all `td` in a stripped table.
Now we simply override the value of the variable to inherit.
closesodoo/odoo#95746
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
For a non well identified reason, the user doesn't have the uom group
to see the field during the test.
this commit adds the group to the user to make it visible during
the test as a simple fix.
closesodoo/odoo#95741
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
With this revision, the expected duration is correctly set
when creating a production order with work orders without the need of
onchanges, through a form.
For instance, this allows an easier implementation to create a production
order with work orders through XMLRPC API calls,
as you will not need to manually set the expected duration value
or to call onchanges manually to set it.
For instance, without this change to remove the `default=60.0`,
the part added by this revision in the test `test_update_quantity_3`
would fail
```
2022-07-11 09:15:14,644 21 ERROR master odoo.addons.mrp.tests.test_order: FAIL: TestMrpOrder.test_update_quantity_3
Traceback (most recent call last):
File "/home/odoo/src/odoo/master/addons/mrp/tests/test_order.py", line 347, in test_update_quantity_3
self.assertEqual(production.workorder_ids.duration_expected, 90)
AssertionError: 60.0 != 90
```
while it just does the same thing than the existing `test_update_quantity_3` test
but without the use of a form / onchanges.
Part-of: odoo/odoo#95733
When iot switch between 2 version of odoo we must clean correctly the branch.
Now -dfx erases each and every file in git directory which is not part of repository.
(like drivers and interfaces)
closesodoo/odoo#95698
X-original-commit: c115f9f873c8ae46b079684ac90fcd6ab9fcadad
Signed-off-by: Masereel Pierre <pim@odoo.com>
Reproduction:
1. Install recruitment
2. Create a new job position with an extra-long title
3. Save and the title of this record is exceed the kanban card
Reason: CSS style doesn’t take account of long title
Fix: Backported the overflow changes in V15 and added o_text_overflow
to the title of the job's kanban view, so the title does not exceed the
border of the kanban card
opw-2849601
overflow change in V15: https://github.com/odoo/odoo/commit/a0ebb4609848a65f9b6a14a94030ad3144a95038closesodoo/odoo#95577
X-original-commit: 25d1c8cd248141aa65f310b3ef3d2d97808b1419
Signed-off-by: Liu Jinjiu (jili) <jili@odoo.com>
The interviewer field was added by #78622, and adds access control for
`hr.applicant` based on whoever was assigned as the interviewer.
Due to the access control implications, it's useful to track the value of
this field in the applicant history.
closesodoo/odoo#95432
X-original-commit: 4b9447972009aa56ddacdba8eba4f7686537a753
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Basically, a Outlook event may contain a videocall URL in 2 different ways:
1) the event location may be a specific URL (such as `https://teams.microsoft.com/...`).
In this case, we use it as `videocall_location` instead of classic `location`.
We use a list of patterns to identify these specific URLs among classic locations.
2) the event may have an attribute `isOnlineMeeting` set to `True` and
the attribute `onlineMeetingUrl` set with the URL. In this case, we use
this `onlineMeetingUrl` as `videocall_location`.
opw-2601669
closesodoo/odoo#74785
Signed-off-by: Arnaud Joset <arj@odoo.com>
Uses a dedicated logger (for easier filtering / silencing) for
results output, and provides rough (module-level) stats in INFO but
detailed (test-level) in DEBUG.
Also updates the global query counter (`odoo.sql_db.query_counter`) to
update after each query rather than on close: with test cursors the
actual underlying counter is only rarely flushed.
closesodoo/odoo#95420
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Problem:
Have a pivot view in some state. Toggle a favorite with a context in
which a key "pivot_row_groupby" is defined. The pivot view should be
grouped (on rows) by that pivot_row_groupby but it is not always the
case. The basic problem is that the key "pivot_row_groupby" is never
considered after the first load (see method load in pivot_model.js).
Solution:
We make the search model used by the pivot view send as groupby for the
favorite its pivot_row_groupby instead of its groupBy (which can be
different). We do something similar for the graph view that presents a
similar problem.
closesodoo/odoo#95688
Opw: 2837428
X-original-commit: ea9f66f99caaa6136912c467e5b80fe605586845
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit fixes a bad call to relativedelta missing a `day` key for an
argument.
closesodoo/odoo#95705
X-original-commit: b59e81b6c34e7a4e2f35cf719c811883b289ddb5
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Create an empty image attachment and load it via an `<img>` html tag in
a document. Upon rendering the image is replaced by the default browser
placeholder instead of the pretty Odoo one.
closesodoo/odoo#95702
Task: 2886028
X-original-commit: 981d56f131f85d33e2415edaef36cfa501d86f0e
Signed-off-by: Julien Castiaux <juc@odoo.com>
The way to have API Key and API Secret has changed to configure a
Twitter application. The guide for this configuration is updated with
this commit.
task-2852404
closesodoo/odoo#95707
X-original-commit: 63d74f03d6cf6cf704fcf7bd6f58541b9f1e2a52
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Install multiple langages, each time translating the website. In a
private browsing session access /contactus, show the page source, the
multiple alternate URL (`<link rel="alternative">` in the `<head>`) are
all pointing the canonical URL instead of the alternative.
closesodoo/odoo#95683
X-original-commit: 3d4b4d3dcff864613a9e7038137e21674425ed08
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Julien Castiaux <juc@odoo.com>
Before this commit, the route used for the project sharing always used
the old one.
This commit changes the url to use the new one to avoid redirecting the
old route to the new one each time the user goes to the Project Sharing
feature.
closesodoo/odoo#95677
X-original-commit: 73e6438f1b294ac274dffccc9c4b97dbfc0e3e50
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Before this commit, the redirection does not take into account the
parameters passed into the url.
This commit uses the full path instead of the path to get the url with
the GET parameters.
X-original-commit: 9570d284324ffef4d11575115f1f232e0191b895
Part-of: odoo/odoo#95677
The rule should apply to both the legacy badge field and the new badge
field, when adapting the css to the new badge field, the selector that
targets the legacy badge field was broken. This commit fixes that.
closesodoo/odoo#95665
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Since BS5 migration [1], we added the possibility to customize the
BS utilities classes using Bootstrap API [2].
But in the mail module files was not added in the
`mail.assets_discuss_public` bundle so no utility class was generated.
Also, missing 'text-black' and 'text-white' are now added in the
compiled SCSS (for `mail.assets_discuss_public` bundle).
Refs:
[1] odoo/odoo#95450
[2] https://getbootstrap.com/docs/5.1/utilities/api/closesodoo/odoo#95661
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Before this commit, when the test is launched at the end of the working
date, the first global time off created will start at the end of the
next Monday and so no timesheet will be generated for this day.
This commit adds a `freeze_time` for this test to have the expected
behavior. That is, a timesheet should be generated per global time off
created.
closesodoo/odoo#95658
X-original-commit: 6a72c81b5b435fc79e139531a8b38d97ed04e994
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>
Following [1], it was discovered that, before this commit, the
img-thumbnail class was properly removed when turning an image into an
icon, document or video but not when turning an icon into an image,
document or video. The working image case actually worked by chance as
we remove all classes starting by img-. The "thumbnail" class was
actually removed instead of the "img-thumbnail" one.
In master, this fixes the issue by adding "img-thumbnail" instead of
"thumbnail" to the list of classes to remove. We also do not need to
consider all classes starting by "img-" anymore.
[1]: https://github.com/odoo/odoo/pull/95287#pullrequestreview-1031639109closesodoo/odoo#95616
X-original-commit: 55ba93da587773fedae64b2911ddc8d04482d94b
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
With this commit, users can no longer have headers that have the sidebar
template and the over the content option at the same time.
Steps to reproduce the problem:
- Edit a website
- Edit the navbar
- Set Header Position to Over the Content
- Change the navbar template to Sidebar
The navbar is not displayed properly and there is a margin on the left
that should not be there.
task-2877421
closesodoo/odoo#95463
X-original-commit: 618fd49642310c7b97ef3b9e6c01f8f691c7b12f
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Task: 2856281
- Remove user_type_id, account.account.type model, internal_type
- Add account_type that is a simple selection field
- Move internal_group and include_initial_balance to account.account
- Because of these changes, type_control_ids on account.journal is also removed
closesodoo/odoo#93212
Related: odoo/documentation#2223
Related: odoo/upgrade#3595
Related: odoo/enterprise#28205
Signed-off-by: Cedric Snauwaert <csn@odoo.com>
Before this commit, the switchTheme option was redirecting the window to
the theme_install_kanban_action url.
After [1] was merged, the editor is instantiated inside the webclient
and the action can now be opened directly from there, without a reload.
For that, the request_save event data can include an 'action' parameter,
which the WysiwygAdapter will use after leaving debug mode to trigger
the action with the action service.
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
closesodoo/odoo#81485
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
*: test_website_modules
This commit restores the display of the website loader (the "Building
your website" GIF) during the installation of a module from the new
content modal, or after completing the configurator flow.
Follows the merge of the "website in backend" task at [1].
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
Part-of: odoo/odoo#81485
Before this commit, clicking on the edit button of a slide viewed in
fullscreen mode would instantiate the wysiwyg, remove it, exit the
fullscreen mode et re-instantiate the wysiwyg.
To prevent that, the editor component never starts with the wysiwyg
shown by default when mounted. Before that, it checks if it should
redirect somewhere in the publicRootReady method (if not, it shows the
wysiwyg).
Follows the merge of the "website in backend" task at [1].
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
Part-of: odoo/odoo#81485
Before this commit, switching languages from the language dropdown while
in edit/translate mode was broken.
Now, the click event on this dropdown is listened alongside links with
external redirection from the WebsitePreview client action, so that the
client action leaves the edit mode while frontend is redirected to the
right language.
For that, a new leaveEditMode method is added to the website service,
which removes the edition classes and unmounts the Editor component.
This will further be reviewed in future commits.
Also, adding a new language from the language switcher dropdown directly
opens the wizard in a dialog on top of the WebsitePreview client action.
Follows the merge of the "website in backend" task at [1].
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
Part-of: odoo/odoo#81485
This commit adds the PagePropertiesDialogWrapper and
AceEditorComponentAdapter as children of the client action, instead of
the NavBar. Both of the components are displayed conditionally based on
the websiteContext. It allows us to remove the navbar xml patch.
With the PagePropertiesDialogWrapper rendered only when needed, it can
open directly the appropriate dialog in the onRendered hook, so that we
can avoid passing the widget to the parent that would later open it.
Follows the merge of the "website in backend" task at [1].
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
Part-of: odoo/odoo#81485
Before this commit, if a user were inside
the PaymentScreen and stayed idle for more
than 1 min, the system would take
them back to the FloorScreen, even if they
were in the middle of a payment proccess.
This would interrupt their workflow and cause
a negative userexperience. For this reason,
if a user has added payments (which means that
they are in the middle of a payment workflow)
the screen will not switch back to the
FloorScreen.
opw-2849939
closesodoo/odoo#95447
X-original-commit: 755e90019c6a7530c9026842dedeb9765969ad1f
Signed-off-by: Masereel Pierre <pim@odoo.com>
This allows removing the AND/OR mix in identifying fields of
ComposerSuggestionView.
Part of task-2741982
closesodoo/odoo#95341
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
Suggestion list view should depend on finding suggestables, not on the existence
of suggestion views (which themselves have to be computed on the suggestion list
view instead).
Part of task-2741982
Part-of: odoo/odoo#95341
The new feature (search count with limit) introduced by https://github.com/odoo/odoo/pull/95589 lacks of test and code readability:
- Add tests to check the result and query generate
- Increase the readability of SQL/python code.
- Change a little bit the SQL request generate: in the subquery, change `SELECT 1 FROM...` into `SELECT FROM` which avoid extra work in the postgreSQL side.
task-2761165
closesodoo/odoo#95641
Signed-off-by: Raphael Collet <rco@odoo.com>
Some modules used Bootstrap minified bundle but this was replaced
in [1] to avoid using of minified files.
We now want to have the same way to import bootstrap by using non-minified
individually compiled Bootstrap files (bootstrap/js/dist/).
Note that in 'hw_drivers', the js and css part was imported at the
same time but the javascript seems never used...
REF:
[1] https://github.com/odoo/odoo/pull/95450
Part-of: odoo/odoo#95628
This allows to create a production order record without
the need to call the onchanges to set the product, uom or bom
or to set them manually during the `create` call.
For instance, this makes easier to create production orders
using XMLRPC when you do not use multiple UOMs.
closesodoo/odoo#95544
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
When archiving a vehicle, the active state of its Contracts/Services
were toggled, which was confusing (an archived Contract would suddently
become unarchived on an archived vehicle).
Now we only archive the Contracts/Services when the Vehicle is archived,
and no unarchiving is done.
task-2898104
closesodoo/odoo#95650
X-original-commit: 0be40d67c28b8575613f59ca5b4d8d6ea99638cb
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Before this commit, when the employee is generated with the salary
configurator, the employee is archived since the employee will not
directly start in the company. Even if the employee is archived and the
timesheets are generated for this employee based on the global time offs
found in the future. The problem is the timesheets cannot be created
for archived employees and so a user error is raised.
This problem could also happen if the user creates an archived employee.
This commit fixes the issue by preventing the timesheets generation when
the employee created is archived. When this employee will be updated and
active field will be set to True, the timesheets generation will be
applied. In the inverse use case, when the user will archive an employee
and timesheets generated for the future global time offs will be removed.
opw-2887727
opw-2870739
closesodoo/odoo#95644
X-original-commit: 160afba28d88ddd9d84856cc90639586bc2ea7b6
Related: odoo/enterprise#29273
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Fockedey Martin (mafo) <mafo@odoo.com>
Steps to reproduce:
- Install timesheet
- Archive an employee
- Create a timesheet
Current behavior:
You can select the archived employee
Expected behavior:
You can not select the archived employee
Explanation:
In commit 17b2b07 the employee_id
field of the timesheet was set to have context active_test to false.
To fix this issue we reset the context for this field in every
timesheet form and we add user errors if the employee is not active
while the timesheet is created or edited.
opw-2887727
opw-2870739
X-original-commit: f034ca05b9602592a5ed140849e20738470ee292
Part-of: odoo/odoo#95644
Previously, the test runner would evaluate an expression to check if the
browser test that is about to be run is ready, but before the test is
ready, this expression may be invalid as the variables used in the
expression may not be defined yet, causing a ReferenceError to be thrown
by Chrome.
In Chrome >=102, errors that are thrown when writing code in the console
or by using Runtime.evaluate over CDP are thrown in the context of the
current tab, which means that they trip registered error handlers in
that tab. In Odoo, this means that we show error dialogs with the
traceback.
In the tour manager, when we are looking for an element to trigger, we
only look for that element inside dialogs if there are any dialogs open
(unless the in_dialog option is false on that specific step). This means
that if an error dialog is open, most tours will fail (which is actually
what we want).
In order to avoid opening a bunch of error dialogs while waiting for the
tour to be ready, we simply wrap the ready expression in a try catch so
that it doesn't throw an error, and simply returns a undefined until the
tour is ready instead of throwing a ReferenceError.
closesodoo/odoo#95635
X-original-commit: 3872dbd63233d4c6d961a3cd896b84e4301a1f84
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Signed-off-by: Samuel Degueldre <sad@odoo.com>