Before this commit an ir_assets generated automaticaly by the web editor
will generate an url ending with ...custom.addon.bundle_name.ext
After this commit the url will start with /_custom/addon.bundle_name/...
This will make it easier to spot at immediately if it is a custom asset
and thus it is useless to apply the glob. Actually, it will fail on the
/_custom when trying to glob, making it faster.
This is mainly useful to clarify and debug but in a case with mainly
customised ir_asset for one bundle, it may have an impact on speed.
An upgrade script was created for this change.
closesodoo/odoo#120699
Related: odoo/upgrade#4636
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
This comes as a followup of https://github.com/odoo/odoo/pull/120423 where we restrict unallowed users to toggle the field allow_out_payment when writing on res.partner.bank. Similarly, we'll now do the same check at the creation of bank accounts
closesodoo/odoo#120694
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Some glob are more complex than they should.
Since `**` matches no/one or many directories, the use of /**/**/ is
the same as /**/.
Since **.js is similar to *.js except if you except to have a js file in
a directory ending with js. Moreover ** will match any directory
recursively before a js file.
closesodoo/odoo#120880
Related: odoo/enterprise#40842
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
We want to propagate the analytic breakdown on the accrued
entries that user can already create from the PO/SO list views.
task-3096126
closesodoo/odoo#120864
X-original-commit: d4d92029bf7c2a2c6a670170d3207b457dda5c68
Signed-off-by: William André (wan) <wan@odoo.com>
The action `Create Employee` on an applicant would open the form view
with the fields pre-filled, but the employee would not be automatically
created when leaving the view.
task-3301176
closesodoo/odoo#120566
Related: odoo/enterprise#40835
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Some translations could not be exported, as reported in odoo/odoo#114711.
This is due to Babel—the library we use to extract `_t` occurrences from
the sources—ignoring javascript template literals, resulting in any
gettext inside template literals not being parsed and exported as
translatable resources.
From version 2.12.0 of the library, support for javascript template
literals can be enabled by providing the `parse_template_string` option
to the Babel `extract` method.
Unfortunately, the library cannot be updated for now, as our policy is
to stick to the version of packages from the official Debian repository.
This commit refactors some code so that no gettext is inlined within
template literals.
closesodoo/odoo#119996
Related: odoo/enterprise#40457
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
Bugfix: at the moment, if the environment's language is not en_US,
loading a CoA doesn't correctly load the translations: the translations
for all languages are created with the en_US terms.
Steps to reproduce:
1. Create a DB and install l10n_be.
2. Switch to French.
2. Create a new company based in Belgium.
3. Install the Belgian CoA on the company.
Expected behaviour: The accounts should be in French.
Actual behaviour: The French translation of the accounts contains
the terms in English.
Analysis:
When the records are created by _load_records(), the language of the
environment is French. As a result, all translatable terms are created
with translations in en_US and in fr_FR.
See https://github.com/odoo/odoo/blob/39292a02ab34ea86abd5601055901eb968006944/odoo/fields.py#L1762-L1771
Later on, when the translations are loaded by _load_translations,
there already exists a name->'fr_FR', so our call to
translation_importer.save(overwrite=False) doesn't want to overwrite it.
See https://github.com/odoo/odoo/blob/2780c37cfdb8560ac7c725fd27f4fe272f1d3072/addons/account/models/chart_template.py#L787
As a result, we end up with the English terms in both the en_US and
fr_FR translations.
The fix:
Set the language to en_US when calling _load_records().
closesodoo/odoo#120863
X-original-commit: 52ef69aa8423a0fd5d78af1ab018a98dba87361c
Signed-off-by: William André (wan) <wan@odoo.com>
before this commit, on clearing the value from
post_date field in the blog.post model is
not recalculating the post_date value
from the inverse function.
* open a blog post
* clear the post date value
* click go to website smart button
* traceback will be shown due to missing date
_write is not needed because it was done for
method _compute_ranking, which doesn't exist
in v16 https://github.com/odoo/odoo/commit/74e1d6940da7b5f0cc8fe4b2ba60d0bb81990ba5
post_date is computed method with inverse
function which is handled in write, not in _write
after this commit, on clearing post_date value
the inverse function will set the post_date
value from create date as it was in the
previous versions.
closesodoo/odoo#120858
X-original-commit: f2f45cddede53d201e4efbe27a86e208ebf51ab1
Signed-off-by: Ivan Elizaryev (iel) <iel@odoo.com>
Handled error for if e-waybill is already generated and we send request for
e-way bill generation it will give error -
[4026] Duplicate e-waybill for the given document.
Fix - It will fetch the ewaybill details and shows the ewaybill has been already
generated
task-3262244
closesodoo/odoo#120849
X-original-commit: 886536ce4e86cddc06283c5752d9bf17ee4cbeda
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
The previous commit highlighted the fact that the pos is not really
tested on mobile. This commit creates a new class that extends the
TestUi class from point_of_sale, which runs most of the pos tours, and
runs all the same tours on mobile.
In order for these tours to run to completion correctly, a bunch of tour
utils have been adapted to add mobile-only steps or fork a step into two
mutually exclusive steps that run only on desktop or only on mobile. A
tour in pos_loyalty has been adapted to the change in the pricelist
selection utility function.
closesodoo/odoo#120791
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
In odoo/odoo#120070 the pos assets bundle were refactored to stop
including the entirety of assets_backend. In doing so, jQuery.ui is no
longer present in the bundle. pos_restaurant adds an addon for jQuery.ui
to make its widgets work on mobile, but since the original library is
not present, this causes a crash when touch events are available (ie on
touch screens).
This commit fixes that by removing the addon entirely, since none of the
pos depends on jQuery.ui anymore.
Part-of: odoo/odoo#120791
Starting on version 16.0, the HTML/CSS editor is very hard to resize.
This is due to 16.0 introducing an iframe for the website: as soon as
your mouse enters the iframe, the editor loses focus and cannot be
resized anymore.
This commit fixes that.
task-3006138
closesodoo/odoo#120729
X-original-commit: e489abeffc72293544acb18eba23b52ed2224d60
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
In this commit, we will remove unnecessary uses of the checkValidity
function. In the ListRenderer, during a keydown, we do if checkValidity
but it is an async function so the condition is always true.
We have checked the calls and they are probably unnecessary because
the add(...) function will perform a checkValidity.
closesodoo/odoo#120619
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
To reproduce the issue:
1. Install `mrp`
2. Send a RPC to create a new BoM:
- `{"product_tmpl_id": 1, "product_qty": -1}`
Error: It will generate a traceback
Because of the negative product qty, the RPC triggers a SQL constraint
that we try to return. However, the context does not have any `lang`,
hence the traceback
sentry-4088426130
closesodoo/odoo#120614
X-original-commit: badc554b9dd7a299aac8ebca24bec6b90bef779a
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
Signed-off-by: Rémy Voet <ryv@odoo.com>
Steps to reproduce
==================
- Enter debug mode
- Go to "Settings / Technical / User Interface / Views"
- Click on the "View Type" column header
- Click on any record
- Use the breadcrumbs to go back
Issue: the list is not sorted anymore by "View Type"
Cause of the issue
==================
When there is an `orderBy` param passed to `DynamicList`, it takes
precedence over the previous exported state.
We should only use the params.orderBy if it is not the initial one.
Solution
========
In order to know if we are using the initial order by, we need to export
it. With that, we can check if the `params.orderBy` is the initial one.
If it is the same, use the `state.orderBy`
If not, use the `params.orderBy`
opw-3202088
closesodoo/odoo#120839
X-original-commit: 81dba0c1746ba579a01dead8e4712cf83cbaad28
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
Steps to reproduce
==================
- Use an android phone
- Go to Timesheets
- Click on Add a line
- Click on the Hours Spent input
The keyboard is missing the colon `:` symbol
It is then only possible the enter a time in the float format.
Cause of the issue
==================
The inputmode=decimal attribute prevents a user from entering a `:`
symbol
Note that this doesn't happen on IOS, since the inputmode is ignored for
other reasons.
opw-3278089
closesodoo/odoo#120824
X-original-commit: 8b919ae51d7deb34169b7c6970964056ef2eb632
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
When using a different invoicing address for a partner on a sale order,
an error is thrown up. This is caused by checking the wrong partner in
the access token.
opw-3298228
closesodoo/odoo#120822
X-original-commit: bd76e9d6174d2154f8685dbaa2c8dcf1678ac175
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Valentin Chevalier <vcr@odoo.com>
Clicking on the 'Employee' smartbutton on a res.users form view would
lead to a traceback if the user was not part of HR Officer.
task-3279347
closesodoo/odoo#120804
X-original-commit: b5fc8a4bacdf2964f71f2ad5c7d0c6ac30a4a9b5
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Before this commit, tests were using current date to make assertion.
It's best to avoid making tests that use current date, as it might
fail when run at specific time (e.g. at midnight or during holidays).
closesodoo/odoo#120800
X-original-commit: 5bcef0f1d6ab48e408bc5058ea90d85f96da8928
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Duplicate the default Account Payable (211000)
Set the default Account Payable to Deprecated
Create a Vendor Bill with a line
Save
Error will raise
The account Account Payable (211000) is deprecated.
opw-3199157
opw-3229350
closesodoo/odoo#120799
X-original-commit: 0dc11ed2e4e530ddefe4310fa6bef7001f20ecc1
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
Steps to reproduce:
Step 1: Create new MO
Step 2: In page by-products click three dots to show column cost_share
in tree by-products
Step 3: Create new Byproduct and input cost share >100% or <0% or input
two byproducts
where their cost share adds up to more than 100%
Expected result:
Validation error: total byproduct cost_share cannot exceed 100
or Validation error: cost_share values must be positive
Actual result:
Values saves without issue
Issue is due to `move_byproduct_ids` being removed in the mrp_production
overrides of
`write()` or `create()` and having the `_compute_move_byproduct_ids`
populate its values.
This removal is causing the constrains to not be enforced, therefore we
set the constrains
field to `move_finished_ids` since changing of this value will ensure
that the values are
correctly checked.
Note: There will be a decrease in performance since this means the
constrains will be
called whenever the MO's product to produce is changed, but hopefully it
will be
minimal since there is no simple fix for this issue.
closesodoo/odoo#120797
X-original-commit: 9d6ff93d0f5b39e939f632486a97093b59d335ef
Signed-off-by: Tiffany Chang <tic@odoo.com>
The correct behavior for the gift cards should be that the value of the
gift card is equal to the value of the order line.
For example :
-50$ giftcard -> Apply discount 50% on the order line -> 25$ gift card
If we want to apply a discount on a gift card we need to use the global
discount
The commit we are reverting was forcing the value of the gift card to be
the base value of the order line.
This reverts commit 83ceeecde76a859749d0659d6c387d95155c8425.
OPW-3264945
closesodoo/odoo#120794
X-original-commit: 023e2f2571ab7c814ed3cad45871fc221562fb67
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Engels Robin (roen) <roen@odoo.com>
Previously WO duration per unit was not getting updated in WO report, since
there was no code for updating WO duration per unit while triggering immediate
production.
With this commit, WO duration per unit is updated in WO report when immediate
production is triggered.
TaskID - 3251232
closesodoo/odoo#120782
X-original-commit: 1c34d2875741da820212d5d781603fc9b270464a
Signed-off-by: Tiffany Chang <tic@odoo.com>
Create 3 invoices for customer (A: $100, B: $300, C: $200)
Have a customer payment of $500
Reconcile the payment, in the widget add the line in the order:
- Payment line
- Invoice A
- Invoice B
- Invoice C (partial payment)
Reconcile
Check invoices
Issue:
C will be fully paid, the partial payment will be applied to B
After 5b2c1d243c0dd5b049ceae280dd270fc8a59f955
We order the lines by amount currency but the user provided order is
lost. Moving the original fix to point of sale
opw-3240586
closesodoo/odoo#120779
X-original-commit: 89f9028901a8b43aab605c12e3c7bcc2a7dd8d44
Related: odoo/enterprise#40805
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
This PR fixes the `Posting message should transform relevant data to emoji`
test that sometimes failed due to a race condition.
The assertion was too strict, this test just needs to check that the
emoji are properly parsed when posting a message.
Fixes runbot error: 20934.
closesodoo/odoo#120769
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Add a test_logs_assets_check_time test to make stats on the time needed
to validate all asset bundle (will be added to runbot stats)
Add a test_logs_pregenerate_time, mainly to profile this part during
devlopment. This test is -standard and will only run if requested.
closesodoo/odoo#120767
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Steps to reproduce
==================
- Go to a kanban view with lots of records, for example products
- Remove any filter and group by name
There is only 80 groups, and there is no way to get the next ones
Cause of the issue
==================
The `web_read_group` uses a limit, by default of 80
Solution
========
For kanban grouped views, we don't want to set a limit on the groups
opw-3283004
closesodoo/odoo#120758
X-original-commit: bf772181933ce5334da35c8368455963b2478399
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
Before this PR, when you reply to a message or edit a message, the action would
be cancelled when you click somewhere else than in the composer or emoji picker.
This PR remove this behavior.
closesodoo/odoo#120753
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
Display the totals and taxes on pdf invoices in the company currency when the invoice is in foreign currency. This is a requirement from some countries where local authorities need the VAT to be expressed on the invoice in the national currency even if the invoice has been issued in another currency. The tax groups details are also required. The new information is expressed using a rectangle at the bottom right of an invoice. It includes the same information as the detail of totals and taxes above, with the difference that it is in company currency. If cash rounding is activated, the total rounded must not be displayed in company currency.
task : 3256515
closesodoo/odoo#118234
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
For every loyalty program that needs a code to be activated by customers,
it is interesting to display the available codes directly on the checkout page.
It is then easier for a customer to just click on "claim" and use their promotion,
without having to go back to their mail to retrieve the code.
The loyalty programs concerned are : coupons, gift cards, next order coupons.
task-2957014
closesodoo/odoo#109545
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
The commit: https://github.com/odoo/odoo/commit/58a88b7731ace08ca106f3df47dd455520136248
prevents the deletion of a 'free shipping' line
if it is not the last one in the cart.
The fix: https://github.com/odoo/odoo/commit/7004b17ee5433e3b14561358348b42326f549261
calculates the sequence of the 'free shipping' line
so that it is the last one in the cart.
Issue:
In case we have enough points to get the 'free shipping' reward
without the actual products in the cart,
if we want to delete the product, we raise an error.
Cause:
It is no longer possible to calculate the free shipping sequence
as this is based on the non-reward lines (and we have just deleted this line).
Solution:
We have to add a default value for the sequence
in case the 'free shipping' is the last item in the cart.
opw-3269594
closesodoo/odoo#120749
X-original-commit: 67b3f6dee2e108c32ec561ed32734a147299d8d8
Signed-off-by: Lefebvre Thomas (thle) <thle@odoo.com>
Steps:
- Install timesheet app.
- Go to kanban view.
- Enable timer on kanban view.
- Click on task field.
Issue:
- Traceback.
Cause:
- Company field is used in timer but forgot to add in
kanban view.
Fix:
- Add company field kanban view.
task-3266724
closesodoo/odoo#120747
X-original-commit: 92b0881a3644d0128c3c505810a6b6f6fb648386
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- install website_sale;
- install a delivery mode (or create it);
- add a cost to it;
- publish the shipping method;
- make the purchase flow and modify the shipping method.
Issue:
The total price is not updated.
Cause:
`querySelector` returns the first element
that matches one or more selectors.
In this case, it is not the one that is expected.
Solution:
Use `querySelectorAll` to update the price
of all items designated by the selector.
Remark:
An other problem appears with the fix of the first problem
when using a gift card to pay (for example).
Indeed, the latter did not appear as we did not update
the prices correctly.
By updating the programs and rewards, the amounts
have been recalculated on the sale order.
It is necessary to transmit this information to the frontend.
opw-3277204
closesodoo/odoo#120744
X-original-commit: 460f90a59218202c1f77405609fadfc2640b2f9c
Signed-off-by: Lefebvre Thomas (thle) <thle@odoo.com>
Co-authored-by: Feyensv <vfe@odoo.com>
Database: Runbot 16
Exact steps (or video) to reproduce the issue (on runbot):
Dashboard
Sales
Select Last seven days
The figures do not include today
Remove the filter
The Order now shows but the Quotations is at zero. In the Top Quotations and Top Sales Orders sections we can see there is one of each, but the quotation
doesn't show
opw-3251869
closesodoo/odoo#120740
X-original-commit: 6ca41c4266f63ae629307330241aad810bbc950f
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
This commit simply fixes how the activity renderer propagates the
group.progressValue prop to the ColumnProgress component so that
the active value is only set for the filtered column and not for every
column.
opw-3272571
closesodoo/odoo#120733
X-original-commit: 3bd539913e9ca6f9db9bb55caaa4a85b69a912e0
Signed-off-by: Luca Vitali <luvi@odoo.com>
In this commit the resupply subcontractor source location is changed from
virtual production to WH/stock
Task id: 3263796
closesodoo/odoo#120727
X-original-commit: 13f078e4c27767b43740a80bf405e71e91348017
Signed-off-by: Tiffany Chang <tic@odoo.com>
To reproduce (16.1 and >):
1. install pos_restaurant
2. open the bar PoS (NOT a shop)
3. choose a table
4. sell a product & make the payment & new order
5. choose a table (can be the same as before, it does not matter)
6. refund
7. select the previous order > refund
(already a bug, it is not proposed it is empty. But we can force
its selection by going again in the refund tab. Will create a
dedicated task for this issue)
8. go back to the main floor (to force sync the order)
9. go back to the table with the hanging refund order
10. try to pay it
=> server error:
```
bad query: INSERT INTO "pos_order_line" (..., "refunded_orderline_id", ...) VALUES (..., ARRAY[1,'Coca-Cola'], ...) RETURNING "id"
ERROR: invalid input syntax for type integer: "Coca-Cola"
LINE 1: ..., ARRAY[1,'Coca-Cola'],...
```
This happens due to this recent fix:
https://github.com/odoo/odoo/pull/116271
Adding this field in the `search_read` yield the product ID and the name
(ORM default behavior on Many2one fields). As the PoS needs only the ID
we take it from the tuple.
Note: the fix does target originally version 15, but the forward port
code was changed only on version 16.1 and > creating this issue.
After this commit:
Able to refund order without an errors
opw-3292121
closesodoo/odoo#120722
X-original-commit: a2ad09c0fb50a299afa29e01b457ff1699f6d811
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Sens Loan (lse) <lse@odoo.com>
Steps to reproduce
==================
- Go to /web/signup
- In the password field, type something
- Clear the input
Cause of the issue
==================
A bunch of conditions evaluates to NaN inside
`ConcretePolicy.score(password)` when passing en empty string as a
parameter.
Solution
========
An empty password should always have a score of 0 anyway, so we can
do an early return. (The lengthscore would be 0, and we multiply by it
at the end)
opw-3269555
closesodoo/odoo#120711
X-original-commit: 6aa16bb740af14fcebd8f05bdc19c9e8879d77ed
Signed-off-by: Vranckx Florian (flvr) <flvr@odoo.com>
A traceback occurs when merging two MOs when 2 step manufacturing is
enabled.
The issue was introduced in odoo/odoo#106411closesodoo/odoo#120707
Taskid: 3299549
X-original-commit: 242f0f224d8941bca689e20e37c5bca3bba51afe
Signed-off-by: Tiffany Chang <tic@odoo.com>
When an expense sheet move is created, there is only one
outstanding line, but it is usual to pay separately.
That makes the reconciliation step harder.
This makes sure one outstanding line is created per
invoice_line and then if only one payment is made
it can go through the same process as a batch payment
Task-3292188
closesodoo/odoo#120450
Related: odoo/upgrade#4625
Signed-off-by: Laurent Smet <las@odoo.com>
This commit allows a child component of a dialog to change the behaviour
when you want to close that dialog.
To change the behaviour of a dialog, the component must overwrite
env.dialogData.close.
closesodoo/odoo#120520
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Steps:
- In eCommerce activate Filter by prices and Attributes & variants filters
- select one attribute with >1 item (e.g. aluminum legs)
- put a price limit.
- the attribute filter is removed.
The commit will prevent the removal of the 'variants attribute filter'
when an attempt is made to apply a price range.
task-3101343
closesodoo/odoo#120692
X-original-commit: a295faafd059b9aa38b759f7ce4ef7f3108464c4
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>