Registering a payment on an invoice with a writeoff, was creating the correct accounting entries although when going back on the payment form and clicking on 'journal items', the writeoff line was missing.
https://github.com/odoo/odoo/commit/36b4d78a2678806b25aaa5650b64496f9da9d205
fixes most post-onchange focus issues for x2many fields, but does not
account for "button columns" properly. More precisely, the current
widget is computed via a position index taking buttons into account in
an array that ignores them. This caused the index to be out of bounds,
resulting in a traceback. This commit fixes this issue.
Before this commit, pressing tab then enter was generating a traceback because
the event creation and modal deletion was done twice.
This commit adds a protection to be sure that we are doing only one event
creation.
When a product has multiple company taxes and b2c prices is enabled, price is
not computed properly and adds to the base price every company tax present.
This patch filters the company set on the company so taxes are computed just
for that company.
This commit closes#18840
Depend of the previous commit which add right to public user. #18881
Fix/imp about the #19777
Replace cron of garbage_collector by a call from autovaccum. Don't try to find
which session is expired or not to avoid to check each one by one, but use a
stupid heuristic to delete all old session older than 5 weeks by default.
(overridable in autovaccum: model.power_on(**dict(wishlist_week=10)) e.g.)
Use 'display: none' instead of class hidden, to avoid flickering at load and
let jquery work with .show / .hide without removeClass('hidden').
Without it, the animation of the first product that you add in your wishlist
will be wrong because Wishlist menu is not visible while you don't refresh.
Remove all old test that check if we was the public user or not and that make
the PR not working ;)
Courtesy of @yajo for dev, and @rdeodoo for quick review/testing
Current behavior before this patch:
- Only authenticated users were able to set items as wishlisted.
- A product template is displayed as wishlisted if the first variant is so.
Desired behavior after this patch:
- All users are able to wishlist items.
- When a user logs in, his dangling wishlists join him.
- A product template is displayed as wishlisted when any of its variants is so.
This commit closes#19777
Before this commit, error thrown by scripts injected in DOM won't return a
clean error on window.onerror.
It would open the crash_manager's show_error's dialog that wouldn't display
any informations except "Script Error." and "Traceback:".
This is because of browser's security reason: it will just give you a
'Script error.' as message and nothing else for security issue.
Now, this kind of error will show a clearer message informing that it is
probably originating from a Javascript file served from a different origin.
There is now also the possibility for developers to handle/override the
behavior when this kind of error is catch to prevent the dialog to open for
example.
Might be of use:
https://blog.sentry.io/2016/05/17/what-is-script-error.htmlhttps://stackoverflow.com/a/7778424https://danlimerick.wordpress.com/2014/01/18/how-to-catch-javascript-errors-with-window-onerror-even-on-chrome-and-firefox/ (Search for Script Error)
Before this commit:
1. you could not edit a menu URL because the input was hidden.
This was due to radio options being switched (new page is now selected choice)
when you create a menu.
But when you edit, there is no choice and the input should be shown.
2. if you set a menu url to an email address, the display link would be prefixed
by a / and so it would open mysite.com/mailto:XXX instead of just the mailto
Now:
1. Input is now hidden only when you add a new menu, not when editing a menu.
2. mailto link now works as expected: it will open your desktop mail software
When you was in debug=assets and that a less file was malformed, the
error was not displayed correctly.
Now we load a minimal layout (bootstrap style)
This commit closes#19799
From now update_json route with display=1 return the cart_qty and not False.
It is usefull withtout extra cost for other modules like wishlist or ... that
previously render all the template just to know the new qty.
Now you cannot arrive on payment page withtout product in your cart and get a
blank page, you are now redirected to the /shop/cart page
When the order are altered due to a change of stock availibilities, we now log
it into the order_line itself or the saloe_order if a line has been deleted.
That permit to display the warning later when the user come back to one of the
page that display the cart resume. (/shop/cart or /shop/payment at this moment).
Remove useless empty file
Make xpath correctly using wrap feature and don't re-copy all contents
Replace old base.get_context with web_editor.context
This solves a bug that should be solved differently when possible. When
automatic footer option is enabled, <ul/> become non editable because of
<xpath/>. So adding a link does not duplicate the <li/> elements but the
<a/> elements.
We should be able to choose any location for an MRP repair, you should
be able to repair a product in production if a finished product has been
consumed and must be repaired.
We must be able to choose a location even if we are not in multi
location.
Because the stock.move.line view (when Show Operations is checked on the
picking type) does not take into account the show reserved setting on
the picking type, it is better not to show the checkbox when show
operations is checked. We add an onchange to always check the "show
reserved" settings when "show operaions" is checked.
When a picking or a manufacturing order is in state cancel, we shouldn't
be able to modify it as we didn't move anything and it won't have any
impact on stock
Since procurement is dead, selecting a SO line
on task to reinvoice it get the list of so line
description in dropdown.
Define a 'name_get' method is required. So avoid
performance issue, we only customize it (order name
and product name) with a context key, like we did
for Sales Order.
We initially only ran action_explode on manufactured move, but it should
be for done for classic move to make it work in classic deliveries
(confirming a move for a kit should cancel the originl move and add new
moves for the kit's components).
The 'xmlrpc'-based configuration parameters have been a misnomer since
the introduction of the generic HTTP service, years ago.
Hide these options from the server parameters, and replace them with
more appropriate 'http' ones:
--xmlrpc-interface -> --http-interface
--xmlrpc-port -> --http-port
--no-xmlrpc -> --no-http
The config entries for these have been adapted as well.
The old parameter names are still silently supported in both
command-line arguments and config files. However they are
stored with the new names in the `tools.config` dict,
and when saving config files (with the -s option).
Also clarified and cleaned up the descriptions of the HTTP/WEB server
parameters.
And finally, added a short version `-p`, for the `--http-port` option.
Credits to @dreispt for this (via #19518)
Closes#19518Closes#19778
This commit applies the following changes to the MRP settings:
- Ticking 'Work Orders' installs quality_mrp;
- quality_mrp is removed if 'Work Orders' are disabled;
- The quality_mrp section has been removed;
Discarding a new record triggers the 'history_back' action. This makes
sense if the record was discarded from a normal form view, but not so
much when in a modal, where the expected behaviour is to close the
dialog.
This commit overrides the function in the action manager which handles
the switch to the previous view. It checks whether a dialog window is
open, in which case it simply closes it.
When we create and edit a new product from a Many2one, we don't want to
see the stat button 'Invotory Valuation', so hide it in the view when
the record has no id.
The wiggling effect of the edit button when clicking on the form
(hinting that to change the form you should edit it) could happen
several times.
With 85d1e76 there was also a visual deffect on the Edit button when the
wiggle happened several times, because bounce are stacked but the CSS
class was removed after the first bounce was removed.