When applying the putaway rules, if we redirect a package (with a
specific type), we don't check the category of the package products.
To reproduce the issue:
1. In Settings, enable
- Packages
- Multi-Step Routes
- Storage Categories
2. Edit the warehouse:
- Receipt: 2 steps
3. Create three categories C1, C2, C3
- Parent: All
4. Create three locations L1, L2, L3
- Parent: WH/Stock
5. For each location Lx, create a putaway rules PRx:
- From: WH/Stock
- Category: Cx
- To: Lx
6. Create a product P
- Type: Storable
- Category: C2
7. Create a planned receipt R with 1 x P
8. Mark it as todo, set the done quantity and put it in pack
9. Set a type on the package
10. Mark R as done
11. Open the associated internal transfer
Error: the destination location of the package is not L2 -> an
incorrect putaway rule has been applied
When we try to apply the PR on the SML "input to stock", because
this is a package with a type, we don't provide the list of the
products. Therefore, we have no idea about the product category.
This is a shame in case of a package that contains some products of
the same category. We should be able to apply the putaway rules
related to that category.
Moreover, this commit also fixes two other issues explained in [1]
and [2]. The FW of these commits have been stopped for the current
one because they didn't fix the above use case. Moreover, this commit
simplifies/clarifies the filtering and sorting of all putaway rules
[1] 03e47b165e7f6c59b41509d9229e8e2074aa3f34
[2] e0098eb281d886797a888a6f8fac474bbacb1b09
OPW-3098452
X-original-commit: c99523bc3a4a5a335f1928cf9bb53bb8483b492e
Part-of: odoo/odoo#109669
Before this commit, the bus service would fail to initialize its worker
when loaded from a different origin than the worker script URL.
Moreover, the websocket URL was assumed to be on the same domain that
the bus service.
This PR fixes both issues:
- When the bus service is loaded from a different origin than the worker
script URL, create a data URL and use "importScripts" inside the worker
since it is not restricted to same origin scripts.
- Pass the websocketURL to the worker during its initialization.
opw-3118394
closesodoo/odoo#109701
X-original-commit: c1a480bb9ec133b9f94a5bb505380216a7f9c4ce
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
When you have a journal configure to create add e-fff xml file to
integrate into the invoice, you get an access error when the user that
prints the invoice is not the same as the user that has posted the
invoice.
To avoid this issue, we are calling the '_prepare_invoice_report' with
an edi_document in sudo. The issue comes from that the attachment_id on
the account.edi.document has no res_id and res_model (to be hidden in
the chatter of the invoice). So to get access to such attachment, you
need to have the same 'create_uid' or being a 'Setting' user.
The issue was not present in saas-15.3 because the reports were executed
in sudo, so everything was accessible.
To easily reproduce:
- create a company in belgium
- activate E-FFF edi on the sales journal
- create and post an invoice with the user A
- print it with the user B (that is not an administrator
closesodoo/odoo#109702
X-original-commit: 87716488670b0ba4619d7e8c49e99dfd61ff88d7
Signed-off-by: William André (wan) <wan@odoo.com>
The EDI cron was broken since we applied the batching to the EDI documents processing in this PR: #99227
Now we enable processing multiple invoices at a time.
closesodoo/odoo#109699
X-original-commit: 2e37dfcc22424a61127571254dc09eb615a09eb1
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
The closing control of a POS session doesn't work if the user doesn't
have invoicing rights
Steps to reproduce:
1. Install Point of Sale
2. Go to Settings > Users and open Marc Demo
3. Remove Marc Demo rights on Invoicing
4. Connect as Marc Demo
5. Open a session in any POS
6. Do the opening control and then the closing control of the session
(with a difference)
7. An error is raised
Solution:
Post the difference during closing control using sudo
Problem:
When posting a difference in the closing control, the user didn't have
enough rights to post the statement
opw-3116907
closesodoo/odoo#109684
X-original-commit: 3225fdcaaf20da0aa54db4161cee4cb9b48506ee
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
before this commit, the field and labels are aligned in different lines in the settings.
closesodoo/odoo#109683
X-original-commit: 5844a0446ef9712027aa08fc239bbb858d164b87
Signed-off-by: Arnaud Joset <arj@odoo.com>
This commit sets the theme-color to match the Community brand color
instead of the Enterprise one.
task-3063485
closesodoo/odoo#109181
Related: odoo/enterprise#35322
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
This commit removes link to an Android specific icon.
Also this icon has been overriden by the favicon since
odoo/odoo@fa2cc58ef3.
task-3063485
Part-of: odoo/odoo#109181
Deprecated tags in favor of WebManifest.
Also this icon has been overriden by the favicon since
odoo/odoo@fa2cc58ef3.
task-3063485
Part-of: odoo/odoo#109181
Windows 8 tiles and superseeded by WebManifest support in Windows
10/Edge 79+ (Chromium based).
Also this icon has been overriden by the favicon since
odoo/odoo@fa2cc58ef3.
task-3063485
Part-of: odoo/odoo#109181
In this commit, we shows the label of automatic invoice field.
task-3110526
closesodoo/odoo#108712
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
When you don't have any mrp access rights and want to open a product
template form view, you get an access error. This is caused by the field
bom_count that tries to count the number of BOM without having the
access rights.
So we only add this field to the view, and the action that depends on it
when you have mrp access rights.
closesodoo/odoo#109636
X-original-commit: a655276d556f1d2bf92c3f3160a8306cc673a115
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Previous behavior: when debugging the websockets worker, source code is always minified.
Now, if user is in `debug=assets` mode, the asset won't be minified and it will be easier to debug.
@moduon MT-1900
closesodoo/odoo#109583
X-original-commit: 6360bbdbdcc6f2c150ceaa9f7fb5b0760e0f8940
Signed-off-by: Julien Castiaux <juc@odoo.com>
Co-authored-by: Julien Castiaux <Julien.castiaux@gmail.com>
Since the rewrite of this dialog, some inconsistent behaviors were
present compared to the legacy implementation. This commit fixes some
of them.
First, many2many fields couldn't be expanded as it was the case before.
Secondly, the export list generated by default was wrong, and it has been
fixed by this commit. The defaultExportList that was computed in the as
expected for the direct export is now also used to display the right
fields from the right pane as it ignores the fields that are explicitly
not exportable.
Finally, minor UI issues have been fixed, like a wrong title.
Tests have been added to assert the correct behavior of the dialog when
selecting records.
closesodoo/odoo#109670
X-original-commit: 86b634a120de0843fbd90079e9e457818fd4acde
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
We don't want private class fields to be used in Odoo because they limit
how classes can be patched from the outside, extensibility is one of
Odoo's biggest strength and we do not want to limit it.
This commit adds the `no-restricted-syntax` rule to eslint configs with
a rule that forbids private class fields.
closesodoo/odoo#109664
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
When a user is not in the 'Setting' group, he sees the cmenu item
configuration and display the dashboard groups, but cannot edit them.
The main issue lies in the sequence field handle, hence we hide this
field for users that cannot configure the dashboard groups or the
dashboards themselves.
closesodoo/odoo#109655
X-original-commit: e9699b7f0deab8ffd0a64d27c7bbedc8f4e2daf7
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Masereel Pierre <pim@odoo.com>
Steps to reproduce:
- go to e-commerce;
- add a product to the cart;
- add a gift card;
- remove the gift card form the cart.
(the user must not belong to the group 'base.group_system')
Issue:
A user error appears.
Cause:
The gift card is a product that cannot be added
to the cart like the others.
Therefore, an error is triggered.
Solution:
Make the error trigger only when adding products to the cart.
opw-3114090
closesodoo/odoo#109654
X-original-commit: 9cc699b89688261220aeb39a99fd866c27808d0a
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Signed-off-by: Lefebvre Thomas (thle) <thle@odoo.com>
Before this commit, when a user was on a form view with pending changes
and would click on the browser back button. If the previous action was
the same action, the user would be redirected to the form view but a
traceback would be raised because the form view was not able to handle
the pending changes "in time".
Here "in time" means before the form view is rendered. The form view
when rendered will try to update its display name through its controller
config, but as the new controller will be in fact the same as the
previous one, its config is currently being changed while the previous
form view is still using it. This leads to a traceback.
This commit fixes this issue by making sure that the changes are
properly commited before changing the config for the new controller.
The same kind of issue has been fixed in the action service for the
restore function, but there are no sensible ways to test this particular
use case.
closesodoo/odoo#109653
X-original-commit: e8a95c37e4e9ee4e4a65a3bfb216d3fa55544933
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
In the timeoff overview, the "Off Today" filter was only showing leaves
that were occuring on the current day, hiding all the other leaves of
the employee occuring that same period.
Now it will display all the leaves for that period for the employees
that are currently off.
task-3098759
closesodoo/odoo#108290
Signed-off-by: Kevin Baptiste <kba@odoo.com>
The purpose of this PR is to improve the filters for time off
In Commit,
Filters relabelling:
- Approved Allocations -> Approved
- Active Time Off -> Active
- Archived Time Off -> Archived
- Cancelled Time Off -> Cancelled
- remove the `Current Year` filter in hr leave
- re-sequence filter of the hr leave and and hr leave allocation
task-3090753
closesodoo/odoo#107378
Signed-off-by: Kevin Baptiste <kba@odoo.com>
The fiscal positions for the new taxes should also be
provided, when we create the taxes, so the clients
don't have to manually input them.
Only fiscal positions that exist in the db and with new
taxes are created.
Related: https://github.com/odoo/odoo/pull/108571
task-3116246
closesodoo/odoo#109637
X-original-commit: 362b152cee6252ee6531c15a3e07b5917b36bc45
Signed-off-by: William André (wan) <wan@odoo.com>
Steps to reproduce:
- go to e-commerce;
- add a product to the cart;
- add a gift card;
- remove the product from the cart.
Issue:
A traceback appears.
Cause:
We are trying to find the maximum of a non-iterable object.
Introduced by 7004b17ee5433e3b14561358348b42326f549261
opw-3114090
closesodoo/odoo#109635
X-original-commit: ae074117db7e7da1ba36a9151fae12bc16fb15ed
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
This reverts following commits
1. a63f616c280ff464e331e3ba97265a8c29a86871
2. 5b7c3805a0
Instead of aligning address to left, we use default aligning, i.e. align to the
right for RTL langugages.
Commit n.1 was an attempt to finalize idea of the commit n.2, but it turned out
that left aligning looks just too bad for rtl users. So, this commit reverts
both of them, but keeps span/div changes in commit n.2
opw-3053457
closesodoo/odoo#109634
X-original-commit: 4af9fcf99f118e5dd85fb59d2e63f5b817233f07
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit adds default image to payment methods.
It also let the user set custom images to his payment methods.
Those images will be displayed in the payment screen next to the name.
closesodoo/odoo#109446
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
*: hr_holidays, hr_work_entry_contract
The commit introduces a new standard view component made to implement
in a consistant way the scale/select the appropriate period to display
in a view. This component is currently used by the Calendar view.
Tests have been added for this new component, as its behavior specs must
remain comprehensive. When there is no options or only one, the button is
removed from the view to keep space available, as its purpose is reduced.
This component gives the opportunity to keep the same style and behaviors
for views implementing it (eg: Calendar, Gantt) and should be used in
other views as well as soon as they are converted to Owl.
Other modules have been adapted to use the component name in xpath instead
of the span with the o_calendar_scale_buttons element. Tests have been
adapted as well.
A scss file has been modified to prevent the arrow to be misplaced on touch
devices due to a higher padding in the dropdown item element.
part of task #2867569closesodoo/odoo#109090
Related: odoo/enterprise#35435
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
before this commit, when removing a product from cart raising traceback.
add a product to cart, apply a gift card code to this order from backend sale form.
now when trying to remove the original product from cart raises traceback: max() arg is empty sequence
this is raised to calling max() on empty list, to fix the issue, set a default=10 is passed to max.
closesodoo/odoo#109625
X-original-commit: 526aeb2f3232f32404eb09b68aa2171c97568489
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
before this commit, in the website settings the Mondial Relay field is shown with upgrade_boolean widget. upgrade_boolean widget is the widget that shows the enterprise label and on clicking it, will show end user the wizard to upgrade to enterprise.
actually the module delivery_mondialrelay is part of community edition and thus removing the widget from the field.
closesodoo/odoo#109616
X-original-commit: e08a083ae5a38fb40a2b2e8a47642111f0286805
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
- Many ui/text updates
- Fix To consume field display
- Add Draft/Done filters to Scrap views
- Fix BoM name_create problems due to _rec_name set to product_tmpl_id
Task: 3094741
Part-of: odoo/odoo#108446
currently in the db creation page in the db manager, except phone number and demo data fields use camel case lettering. this pr will make phone number and demo data fields with camel case lettering, which will unify the form.
closesodoo/odoo#108326
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
Before this commit, when saving a language change in My Profile,
nothing happened. The expected behavior is a page reload.
How to reproduce:
- Go to the "My profile" tab in the User Menu
- Edit the language
- Click on save
Before this commit:
The record is save.
After this commit:
The record is saved and the page is reloaded.
closesodoo/odoo#109508
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
`fields.Json` is introduced in v16. There are just few usage of it in standard
code. It's usually used via `widget="analytic_distribution"`. However, user may
add the field to list view via a Studio. To prevent errors, this commits adds
basic formatter for the field.
STEPS:
-In the Purchase app, add a new Menu based on the existing Model "Purchase Order Lines"
-In the list view of that new Menu, add the existing field "Analytic
-Distribution"
opw-3055926
closesodoo/odoo#109573
X-original-commit: d0621a2aec9cdc4bad348804fe5ada974b75f322
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
Before this commit when a color was applied on a text that spans several
nodes, it was wrapping each text node in a font node to which the color
was applied. Because of this, applied gradient colors were restarting on
each text part. (e.g. before a bold section, on the bold section, after
the bold section: each had a distinctly drawn gradient)
After this commit the bold and italic nodes are considered similar to
text nodes and are wrapped inside a common font node to which the color
is applied - using the mechanism that already existed for text nodes.
Actually applied on all visible inline & inline-block elements that do
not contain a font node (and are not buttons).
task-2666200
closesodoo/odoo#109537
X-original-commit: 8c965cad4d3fdbfefbbd5caa43d8c21e3a8e064f
Signed-off-by: Arthur Detroux (ard) <ard@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
Since [1] the gradient text image was reset within each font or span
block (e.g. for applying bold style).
The change was done because Chrome does not inherit the involved styles
when a transform is used, which is the case in animated texts.
After this commit the inherit style is only applied on animated texts.
This lets the gradient span across style changes.
Note that there is no solution yet for animated texts: they still have
a restarted gradient.
Steps to reproduce:
- Drop a Title block in a website page.
- Add a few words.
- Select the whole title's text.
- Make its text color a gradient. (Not the background color)
- Select the second word (avoid picking the word in the middle to
easily see the visual impact).
- Make that word bold.
=> The gradient restarts within the bold word instead of continuing
across the whole text - even though no text animation is used.
[1]: https://github.com/odoo/odoo/commit/187acb938f70a2130d25fa76079221339c742f1e
task-2666200
X-original-commit: 372eeebb47b93890d567185879981e817cdc1326
Part-of: odoo/odoo#109537
On the PR https://github.com/odoo/odoo/pull/107558 some performance improvements were made when computing the weights.
Unfortunately, this caused some slowdown on other cases.
This PR keeps the read_group introduced on https://github.com/odoo/odoo/pull/107558 but reduces the number of 'get' by taking all the information needed only once before entering the for loop.
For comparison, these are the differences on _compute_bulk_weight when going to Inventory/Receipts:
| Before PR 107558 | After PR 107558 | After this PR
| ------------- | ------------- | ------------- |
| 550 ms | 10.30 s | 560ms |
And these when removing the filter by default (leading it to fetch heavier records):
| Before PR 107558 | After PR 107558 | After this PR
| ------------- | ------------- | ------------- |
| 2.27 s | 24.48 s | 1.89 s |
OPW-3107540
closesodoo/odoo#109481
X-original-commit: 4bbf782505e72761c7c77abfe4fbd53e151e5bf0
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Purpose
=======
As an Event seller, I might not use the /shop page
because I do not sell goods, only tickets.
That being said, I do this in multi-currency for example,
and need visitors to be able to pick the relevant pricelists.
Specifications
============
Adding the price currency on the event ticket
so that users will know which currency is used.
Adding a pricelist picker on the website event
front-end and on the ticket registration page
to allow the user to display the prices depending
on a selected pricelist.
Task-3081384
closesodoo/odoo#106980
Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
Purpose
=======
Reduce the daterange widget width in the add
event website modal to avoid unecessary white
gaps.
Task-3081384
Part-of: odoo/odoo#106980
Adding a pricelist picker on the website event
front-end to allow the user to display the prices
depending on the selected pricelist.
Adding a picker to change the ticket pricelist
on the ticket registration page.
Task-3081384
Part-of: odoo/odoo#106980
The current domain on the forum post child_ids field is not guaranteed to work
since it requires the recordset on which it is applied to be a singleton.
closesodoo/odoo#109596
X-original-commit: d9983167a7c534a08854ad5327e36a8343ef1e5d
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit, setting a disabled attribute on a <button> tag in
the arch of a list view was ignored.
How to reproduce:
Going into a list view with a <button disabled="1"> tag.
Click on the button
Before this commit:
The button is not disabled and a crash is displayed on click.
After this commit:
The button is correctly disabled and there is no crash on click.
closesodoo/odoo#109337
X-original-commit: c8ef3262e3aa167a520dcb0d1b229e61e5e2e362
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
All the localisation should be written in english and then translated to the native language of the country. In this case, the Venezuelian localisation was written is Spanish, this PR translate the module in english and add the corresponding PO file in spanish.
closesodoo/odoo#109494
Task-id: 3126154
Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
Before this commit if there is a rounding error in product list prices,
a note is added to the invoices indicating that a discount is in
effect, while that is not the case.
Exact steps to reproduce:
1. Create a new tax with the amount of 21%
2. Make it included in the price
3. Create a new product with price of 1.65$ (1.36$ excluding tax)
4. Open a PoS session, add the product to the error
5. Enable invoicing and validate the payment
To fix this, the float comparison methods should be used.
opw-3121143
closesodoo/odoo#109585
X-original-commit: 238532f396bbc3d4fbe14d75e756307536dfe3c6
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
Signed-off-by: Khanalizadeh Ahmad (khah) <khah@odoo.com>
Issue:
On expense sheet form:
- Choose an employee not like current user.
- Create an expense from expense list.
- Edit expense list and save expense sheet.
=> Error: "You cannot add expenses of another employee."
Purpose:
- Expense list has not `employee_id`.
- When save form, `employee_id` on expense list is current user.
Solution:
- Add `employee_id` on expense list.
closesodoo/odoo#109575
X-original-commit: 5558bfada8212106cee730357620000b726549cd
Signed-off-by: Kevin Baptiste <kba@odoo.com>
foreign_currency_id & currency_id must always be different on a statement line.
However, this happens sometimes when importing statement lines in csv.
closesodoo/odoo#109574
X-original-commit: 0b2cb4c82fa38ca1242c2344546768e481841116
Related: odoo/enterprise#35630
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>