In the customize theme modal, if one option enabled views which were
a subset of the views which are enabled by another option, both options
would be checked on modal opening if all the related views were active.
This is the case for the "choose an image" and the "choose a pattern"
options: the first one enables a view which adds an image on the body
and the second one enables the same view but also another which enables
the fact that the image must be repeated.
This commit solves the issue by always selecting the option enabling
the most views among the checked options in a same set.
opw-1958395
closesodoo/odoo#35465
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The design for accepted answers changed a lot and with it, the
possibility to remove or change accepted answers was gone. This commit
tries to reintroduce the possibility without breaking the design and
by making an unique attribute addition to the XML (stable change).
task-2034497
closesodoo/odoo#35445
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Allow to see the lot/serial number on the order form, only for the users
with group group_production_lot.
opw-2037285
closesodoo/odoo#35443
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
- Set the user language to a RTL language, e.g. Arabic
- Open a list view containing float or monetary fields, e.g. the invoice
list view
The numbers are left aligned while the corresponding columns headers are
right aligned, making the list view confusing.
The header alignment is hardcoded at rendering rather than in the SCSS.
Therefore, `rtlcss` doesn't affect it.
Instead of hardcoding the alignment, we use a proper CSS class so it is
adapted by `rtlcss`.
opw-2044019
closesodoo/odoo#35414
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Install stock_dropshipping module and enable Routes on SO lines
- Create a storable product P with a supplier S
- Create a SO with P and set this line with the route dropship
- Confirm the SO ( a PO has been created to S with P)
- Change P on the SO with an other product
Bug:
The product P stayed on the PO.
So a product linked to a PO line cannot be changed on a SO.
opw:2040249
closesodoo/odoo#35383
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
On the Time Off, spam click to create a new event, each click opens a
new event form modal.
When the modal form fields have not been cached yet, the frontend
fetches them and delay the modal form opening after those fields have
been fetched. As the interface is still available. It is possible to
re-click multiple time during the fetch, each click schedules a new
modal form. When the first finally shows, they all stack on screen.
opw-203577
closesodoo/odoo#35098
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Open the reconciliation widget, with a statement line that has
some move lines to reconcile with
Put your browser in Fast 3G to slow down stuff
then click multiple times on a move line to add it to
the reconciliation chain of the statement line
Before this commit, as many lines appeared in the reconciliation
chain as many clicks were made
After this commit, one can only click once on the lines
linked to #35194
OPW 2042751
closesodoo/odoo#35417
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
A user without stock acces rights was not able to read the fields
added by the stock module
The statbuttons display the number of items available which are
computed fields An accountant (no inventory or sale access rights),
opening the product view will trigger the recompute which will fail
(no access on stock.warehouse.orderpoint)
closesodoo/odoo#32499
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The emoji was displayed in the list of choice but was not correctly rendered
when sent to the server.
Similar to 0e3d5941da but for broken heart
closesodoo/odoo#35367
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Mass mailing themes are redefining some bg-* classes their own way...
unfortunately that way was not working anymore with BS3. This commit
adapts the CSS code to solve the problem but ideally, themes should be
refactored to be more BS4 compliant.
opw-2032131
closesodoo/odoo#35333
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this patch Amount currency was always +ve and doesn't care about about Debit/Credit values.
See _check_currency_amount constrains.
Fixes: #35403closesodoo/odoo#35422
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
It was not possible to manually set a default analytic account as it was
overriden by the onchange, even if no account was returned by account_get
Apply the same logic as in _prepare_invoice_line on sale.order.line
closesodoo/odoo#30282
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
An user with portal access puts a product into the wishlist.
The same product is "unpublished" from the site backend, while still
into the wishlist of the user. The user now cannot access the website,
because because of the record rule website_sale.product_template_public
which prevent the unprivileged user from accessing the products.
OPW-2042511
closesodoo/odoo#35397
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
This commit intend to allow better inheritance in the
account_move_line_creation_process
The new _prepare_account_move_and_lines method only prepare
the move and the lines but does not write and post them.
This is done by the former _create_account_move_line method.
Needed to fix pos_sessions with unbalanced journal entries
caused by round globally option with taxes included in price
I.E. opw-2038814
closesodoo/odoo#35351
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Steps to reproduce the bug:
- Create a quotation and a SO line SOL with one product and route "Dropship"
- Confirm the SO and a PO is created
- Validate PO and process the dropship picking
- Add 4 units to the SO line SOL
Bug:
A new PO was created but the related picking was type "Receipts" instead of "Dropship"
opw:2034398
closesodoo/odoo#35323
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
When the product has a lot of variants which are displayed as checkboxes
or as colors, the jQuery selector was matching as many items, and the
event was triggered for each of them.
The result was the change event of website_sale being triggered many
times, where only one call would be enough.
The change replicates what was made on v12.0 on the same line by commit
f8dad1bb4b.
opw 2036356
closesodoo/odoo#35322
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
In the calendar view
In the partner filter in the calendar side bar
type something, and backspace rapidly to remove everything
Before this commit, there was a error because the framework tried to write something
in the corresponding field
This was because the o2m field was not initialized
with the correct values
After this commit, there is no error
OPW 2043975
closesodoo/odoo#35330
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Before this commit, the field intrastat_country_id was not propagated when refunding an invoice
After this commit, the refund invoice takes the same values for that field
as the invoice it is refunding
OPW 2028333
closesodoo/odoo#35309
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
- Admin (U1) user, Demo (U2) with Sales Manager rights
- Create parent company A and child company AA, U2 has access to A (U1 to both)
- Create 2 taxes, T1 for A, T2 for AA
- For product P, add tax T1 in company A, and T2 in company AA
- U2 creates a new SO in company A with no lines, export Order Lines/Product
- U2 edits the file to add product P
- U2 imports the file
Before this commit, the sale order's line had the taxes for bot company
After this commit, it only has the taxes for the company of the sale order
OPW 2036453
closesodoo/odoo#35294
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
In the planner the url are generated by prepare_backend_url that takes
an action's xml id as argument. The id passed should have the format
'module_name_where_the_action_is.action_name'. In this case the id passed
was product.product_template_action_product but the action is defined in
stock thus the prepare_backend_url was not able to find the associate action
and return a wrong(default) url.
This commit change the action id passed with the correct module.
closesodoo/odoo#18812
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
https://docs.python.org/3/library/stdtypes.html#truth
By default, an object is considered true unless
its class defines either a __bool__() method that returns False
or a __len__() method that returns zero
Since etree elements are iterator, they define a len function.
However it turns out that customerProfileId has always no children.
So bool(find(x)) is always False; the intended meaning was find(x) is None.
opw 1999427
closesodoo/odoo#34922
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
closesodoo/odoo#35246
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Go to CRM/Sales/Team Pileline. Place your cursor on the chart, a tooltip
appears, move your cusror away, the tooltip disappear. Now clic anywhere
on the interface so the page change (i.e. on "x Open Opportunities") and
quickly while the page loads place your cursor on the tooltip, it
appears but when the page change it doesn't disappear.
The problem here is that the graph element is removed from the DOM which
prevent the correct handling of the `mousehover` event used internally
by nv.d3 to show/hide the related tooltip.
The solution is to manually hide the tooltip when the graph element is
removed from the DOM.
opw-2042286
closesodoo/odoo#35172
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The menu Timesheet / Configuration / Settings should only be displayed to the group Administration / Settings.
Without admin access, an access error is raised when clicking on the menu item.
The equivalent menu item in other apps is restricted to Administration / Settings.
closesodoo/odoo#35388
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
When setting the authorization code, a refresh token is generated in
the background and stored in a system parameter.
However, when saving the general settings (res.config.settings)
without changing the authorization code, the refresh token is deleted.
The refresh token should only be deleted if the authorization was
removed.
This was not the case as the set_param is always called and a value is
only computed when the authorization code has changed. The current
value was never retrieved.
Set a ir.config_parameter only when it a value has changed.
closesodoo/odoo#35028
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
When duplicating a record, the language is set to None in the context
when copying a record
new = self.with_context(lang=None).create(vals)
self.with_context(from_copy_translation=True).copy_translations(new, excluded=default or ())
In mail.thread, the usecase of no language in the context was considered
if 'lang' not in self._context:
track_threads = threads.with_context(lang=self.env.user.lang)
but not the case of a language explicitly set to None
This means that, when duplicating a record, the tracked fields mesages
were untranslated.
Fixesodoo/odoo#35213Closesodoo/odoo#35331
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>