test_task_postal_no_read` calls `assertEqual`, which internally
creates a savepoint which flushes pending computations.
This is done by flushing the transaction (through the cursor), which
in turn goes and flushes the models.
The environment being used to flush the models is arbitrary, picked
from the set of all living environments associated with the
transaction favoring those with a user set. This means the environment
used to perform the pending computation can be a lot more restrictive
than the operation used to initiate said computation, which may lead
to the computation being flushed not being *possible to perform*.
The issue here is that the test specifically involves a restricted
user ("Portal user", created for the occasion). Logging the set, at
the start of the test function there are 11 active environments
associated with the superuser (uid1) and one (1) environment
associated with that user, let's call it 19 (because that's the uid it
gets when running only that job).
On the runbot the envset seems to shuffle really well and about 2/10
of the runs will have the env(uid=19) in leading position[0], thus try
to flush the *creation of the task* with the portal user, which
specifically does not have access to tasks.
This works around the issue by flushing the task creation in the
`setUp`, however the underlying issues remain.
[0]: This also seems to require some load on the runbots, if the
runbots are pretty much unloaded (no pending builds)
reproduction is never achieved. It is not clear why load
would matter.
Local reproduction was not successful, even using a dump from the
runbot and inducing artificial load (via stress-ng).
closesodoo/odoo#87512
X-original-commit: fc08ff42ec8886f6258bde6586c4293b64c89456
Signed-off-by: Raphael Collet <rco@odoo.com>
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Steps :
Create, confirm and validate 2 overlapping leave allocations :
> Type : T
> Duration : 5 days
Create, confirm and approve a time off request in the overlapping period :
> Type : T
> Duration : 10 days
Go to the allocations.
Issue :
They have respectively 0 and 10 days taken.
Cause :
hr_leave.holiday_allocation_id is m2o, so 2 allocations cannot be
attributed to the same leave request.
_compute_from_holiday_status_id() sets the first valid (in terms of
validity dates) allocation to this field, without comparing the
number of leave days of the allocation and the request.
Fix :
Compare it. If no allocation has sufficient number of days, but their
sum is enough, ask the user to split them.
opw-2781530
closesodoo/odoo#87468
X-original-commit: a0ff3fc5888d8b6a794d40d32b2a546761dfa791
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Steps to reproduce the bug:
- Install mrp_account and accounting
1:/
- remove MRP access to Marc Demo
- connect with Marc
- Go to any product with variant > variants > then open any variant
Problem:
Access error is triggered, we try to calculate the bom_count of this product, but the user does not have manager access to MRP
2:/
- now Give accountant access to Marc
- Go to any analytic account with bom or production
Problem:
Marc can see the number of boms or productions, while he does not have access to MRP
opw-2794179
closesodoo/odoo#87457
X-original-commit: 7701d85e2364bc4b59455338cc771733dbb12e73
Signed-off-by: Arnold Moyaux <arm@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
Step to reproduce:
- In e-commerce go to a category
- Edit the page to add a text block at the beginning
- Save
- Go back to main page
- Search the category
Current behaviour:
- The search bar show the text block as the category description
But the description also contains the html linked to the bloc
which lead to ugly unhelpful description
Behaviour after PR:
- html tags are stripped from the description returned to
the search bar
opw-2781450
closesodoo/odoo#87454
X-original-commit: 25952894b0d07e60c79a212cbc05b4346bb36b1a
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Damhaut Florian (flda) <flda@odoo.com>
Do not allow users to create accrual entries for locked periods.
This would either create an entry for another date, since the date is
changed automatically by `_get_accounting_date` when posting.
Reproduce:
* Set a lock date
* Do an automatic entry for either changing the account or the period
before that lock date
Or it would traceback because the date would be changed automatically
and no matching would be possible when changing the period.
* Set a lock date
* Create an automatic entry to change the period of an entry before the
tax lock date
closesodoo/odoo#87391
X-original-commit: f830b008781c2f6f5644395688654e64edd5c836
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
Before this commit, there could be a traceback when `_loadVideo()` was
called when the `root.el` of the video component was not set when
closing a videoCall.
This commit fixes this issue.
closesodoo/odoo#87278
X-original-commit: 13213f0be3696fd88c0c7b6ffa3169401a13d058
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Prior of this commit the paragraph margin-bottom was forced to '0'
braking the typography's vertical rhythm.
This commit will remove the customisation rules restoring bootstrap
default values for the backend.
task-2798759
closesodoo/odoo#86740
Signed-off-by: Antoine Guenet <age@odoo.com>
This commit simplifies the SCSS of the command palette component.
task-2748052
closesodoo/odoo#83938
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Unify taxes computation between 'account', 'sale' and 'purchase' including:
- computation of price_subtotal/price_total.
- computation of business models total (using the json field)
closesodoo/odoo#80231
Task: 2654784
Related: odoo/enterprise#25620
Signed-off-by: Olivier Colson <oco@odoo.com>
when we are using the sharable support page (url : "/im_livechat/support/"),
There is no "visitor left" message sent to the operator when any visitor left
the channel.
Ideally, when any visitor left the channel from the website or the support page
should notify the operator that "Visitor has left the conversation".
With this commit, the operator will get notified every time when visitor left
the conversation from anywhere.
Task-2210040
closesodoo/odoo#87414
X-original-commit: 8c6affdb7a59436c6fdba1ad0a7c68a7273c0468
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Prior to this commit, when an exception occured during the save of an
ir.ui.view, the traceback was shown to the user and an alert directly
asks the user to reload or cancel the page.
While reloading, the changes that produced the traceback were not saved
and the other modifications were saved.
If the user choose to cancel the reload, the web editor UI was freezed
and there couldn't be any edition anymore.
This commit adds correctly the popover to target the invalid element and
shows the error rather than reloading the page.
The element which caused the error can still be edited. The other are no
more editable.
task-2700198
closesodoo/odoo#87350
X-original-commit: 10b97f37ab5d78b3a2b0f63fa019ee95bb78ea7d
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Thibault Libioulle (tle) <tle@odoo.com>
This commit fixes some inconsistencies in the website_sale tour:
- The step "Upload an image" is removed;
- The tip position of the Product Name step is placed above the field
rather than on the rightside to avoid a horizontal scrollbar.
The "No product defined" text position is improved for empty searches.
task-2700198
X-original-commit: d0600df28e6f646134529c6073c435bdd864bfa9)
Part-of: odoo/odoo#87350
startServer method ease data seeding by providing an environment that
can be used to interact with the underlying mock server.The createWebClient
method was not supported well. Indeed, we could either pass serverData or not.
But we could not pass only the views and take the data from the startServer
method. This issue was addressed.
task-2792108
closesodoo/odoo#87432
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
In #86163 we added a check on the branch name to avoid running the
tooling on stable branches, however this check used bash-specific
syntax. While the hashbang in the pre-commit hook specifies that the
hook should be run using bash, we were using the npm module "husky" to
manage git hooks, which would ignore this hashbang and always run the
hook using sh, causing the hook to fail in all cases.
After some consideration, we have decided to stop using husky, as its
main purpose is to make hook management easier in npm-based projects.
Since we already need a script to enable the tooling, we can do
essentially the same thing that husky is doing but with more control
over the process with no drawbacks.
closesodoo/odoo#87436
X-original-commit: 3104ab16ecf88d4f7b1618db4d62e7f57df34e6c
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
In preparation of test adaptation after introducing a new way to
seed test data, the fake model present on the m2x avatar user test
have been registered to the model definitions instead of being
declared on it's test.
task-2792108
closesodoo/odoo#87433
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
There has been a change in the code for the state_id for Mexico City. Since the beginning of 2022, the new code is CMX instead of DIF.
opw-2801208
closesodoo/odoo#87419
X-original-commit: fd72db46667e4e612a0f1d70a9e3e3ccf163de43
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Desausoi Laurent (lade) <lade@odoo.com>
Before this commit, production created via `_run_manufacture()` without
bom or with a bom without component, will not be confirmed because of b4fd050e20c1
closesodoo/odoo#87412
Task: 2802652
X-original-commit: 27a651f01fa5868295d2dafa7d4e03ce896e64c9
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
The group_public_id and group_id and subscription_department_ids
should only be used when the channel_type is 'channel'.
task-2766712
closesodoo/odoo#84813
Related: odoo/upgrade#3266
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Current behavior:
When you have multistep routes activated for a warehouse and SN/Lots activated
you have a traceback when trying to validate an order in the Point of sale
Steps to reproduce:
- In the Inventory App, set a 2 or 3-Step Delivery for a warehouse.
- Set a product to be tracked by Lots or Serial Number.
- Activate "Ship Later" in a POS shop.
- Set the 2 or 3-Step Delivery route in the "Ship Later" section.
- Open POS Shop.
- Select product that has a Lot/SN.
- Set any Customer.
- Set any payment method.
- Select "Ship Later".
- Validate Order.
- A traceback appears
opw-2779462
closesodoo/odoo#87437
X-original-commit: 696371f3316e3df3784eeaed4b1b9449ce36690a
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
Signed-off-by: Engels Robin (roen) <roen@odoo.com>
Since
https://github.com/odoo/odoo/commit/d2e0b48271dbd8cd7bbdbc5c2c1649c55c51417b,
qweb view from imported module are counted. the issue is that qweb view
created with the wysiwig editor of studio got an external ID from
studio_customization module which is declared as imported
So those views were wrongly counted for the maintenance fee.
Solution
--------
Exclude qweb view from studio_customization module
closesodoo/odoo#87424
X-original-commit: 77db024140e4f7c9ae8e6b5eb95de857afbab0da
Signed-off-by: Christophe Simonis <chs@odoo.com>
Step to reproduce:
- Create a with a link in the decription
- Edit + Save multiple times
Current behaviour :
- Since c2b545fd8d91b7d24380ada07adee02f24623ecf we fetch the full
description with html tags which are rendered via the
- When we resend this message to outlook, the description
will be updated via html2plaintext.
In the case of URL, they will be added as a footnote and thus
duplicated if the url is it's own name
Behaviour after thr PR:
- We could then also send the description with the html tags to
ensure full compatibility between the description
- Using html2plaintext update the descrtiption to markdown, with some
issues, since html is now supported in the odoo editor, using
html on both end will remove the need to use html2plaintext and
the descriptions changes stemming from it.
opw-2746358
closesodoo/odoo#87411
X-original-commit: 4c3b69a30d5724dfef2b179ac8eaeecb8ff3da42
Signed-off-by: Arnaud Joset <arj@odoo.com>
Signed-off-by: Damhaut Florian (flda) <flda@odoo.com>
The proxy test server has been updated, and there is a new url, this
commit updates the default server constant in the code to match the new
url.
closesodoo/odoo#87271
X-original-commit: d1485227096a6bf1d473c6d3c26ca54dbffbe3e0
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Daniel Kosky (dako) <dako@odoo.com>
Make sure related values are correctly propagated to the
resource.resource creation, and discard the inverse update post record
creation when it doesn't change anything
closesodoo/odoo#85601
Related: odoo/enterprise#25664
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
* post onboarding notes in batch
* subscribe users in batch
* Only fetch the menu_hr_root data once, instead of once for each record
created.
Part-of: odoo/odoo#85601
This flat structure makes caching easier if odoo adds shared caches for
example. In addition, the use of idempotent names makes it possible to
compare methods during development.
closesodoo/odoo#85110
Related: odoo/design-themes#554
Related: odoo/enterprise#24622
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
There were inconsistencies in the calls to `_render`.
* the view context could contain information that misled developers.
Indeed, the context and value of the view are not supposed to be found
in the rendering. Thus by calling `ir.qweb` with the name of the
template, we ensure that there is no unwanted information and in
addition the cache key is that of the name of the template which saves
a query.
* the context used for rendering was modified by a method on
`ir.ui.view`, except this is not information used by this model. There
is now a `_prepare_environment` method residing on `ir.qweb`. This
method allows to modify the value dictionary as well as the context in
which the rendering will be done. This preparation of the data as well
as my security check is done only once per rendering. This also saves
some queries
* Freeze options for rendering were inconsistent. It could be that
options on which rendering depends were not part of the cache key. Thus,
depending on the user who generated the generation of the rendering
function, there was or was not information in the template. For example
for automatic branding. This is no longer possible, because it is the
context that is used. The options serving as a cache key are only
recorded for information (for the profiling system for example). A
simplification of the `ir.qweb.field` models could be made.
The report rendering and call `ir.qweb` instead of `ir.ui.view`.
Part-of: odoo/odoo#85110
Update the default requirements according to latest security risks in
relevant dependencies. The baseline required version is kept in
comments, and it perfectly safe to use when security backports are
present. In other words, using the official Debian/Ubuntu packages
on a supported LTS version of these operating systems, with
unattended upgrades turned on, is a simpler safe option.
closesodoo/odoo#87397
X-original-commit: b488bd8f88a56af553c090351ff6b2ecdfb411dc
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Signed-off-by: Olivier Dony <odo@odoo.com>
Current behavior:
When accessing your timesheets with /my/timesheets/ and changing language to something else than english
you get a traceback
Steps to reproduce:
- Have timesheets app installed
- Have atleast one other language than english installed (e.g French)
- Go to /my/timesheets and group the timesheets by date
- Change the language by accessing for example fr_FR/my/timesheets
- You get a traceback, because we try to convert a string into a datetime object wich is not working correctly with different languages
opw-2785268
closesodoo/odoo#87381
X-original-commit: 5e3ee492c97dddb6f9430144429febfa6327d4d0
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Engels Robin (roen) <roen@odoo.com>
Reproduction:
1. Install eLearning, delete sitemap.xml from Settings->Technical->
Database structure -> Attachment
2. Regenerate sitemap.xml by opening odoo.com(or localhost)/sitemap.xml
3. Open a URL, for example,
http://odoo14:6014/slides/slide/tools-and-methods-25
4. A ValueError is thrown
Reason: the URL generation for model slide.slide uses the default
method, which doesn’t filter out the category slides. An example of a
category is: http://odoo14:6014/slides/slide/unforgettable-tools-28 The
tools-and-methods is a category in the course content
Fix: Added a special case for category slides. If it's a category,
redirect to the channel's homepage
opw-2579913
closesodoo/odoo#87369
X-original-commit: eca5ea22624268eaccc5cf9fa7585d51cb6d16cc
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose
=======
Pictures from the digest emails are currently stored on the database
itself, meaning that if the database expires (e.g. after trial expires) all
pictures from previously sent emails won't be visible.
This is an issue since digest tips are meant as a marketing tool to bring
people to Odoo after trying a database.
Digest pictures are now taken from Odoo's server
(https://download.odoocdn.com/digests) so that the pictures will still
be visible after the database has expired.
From this commit onwards, it should not be allowed to change a digest
picture with the same name (to display a gif of a newer version), since
all databases with previous versions would receive pictures of a version
that does not correspond to theirs.
This also means that everyone client's Odoo server will contain pictures
that are never used. This could be fixed if Odoo stored them somewhere
else and didn't make them dependent from the git repository.
Task-2372195
closesodoo/odoo#87343
X-original-commit: 35157677a2a63a2559a72aff21e62e23a3c671a2
Related: odoo/enterprise#25654
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
for orders created on the e-commerce
closesodoo/odoo#87337
X-original-commit: 3c377de0f14fff1b4448220c0a373dab7b800e27
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Prior to this commit archived variants would not appear as disabled
in the shop, the different options will now be greyd out if selecting
them would result in an archived variant.
TaskId-2762122
closesodoo/odoo#84711
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>