- Remove the class "text-uppercase" from "add to cart" and "buy now"
buttons.
- Increase font size of the product page breadcrumb.
- Rename "Default" into "Featured" in the sort by of the shop page.
- Add a scrollbar on the cart popover.
task-2574300
PR-73234
After this commit, the cart quantity (in the navbar) increase after
the animation instead of before the animation.
We also changed the animation of the cart quantity to have a small
zoom when the number changes instead of an hide followed by a fade in.
task-2574300
PR-73234
Transpile odoo-modules into async function rather than simple functions.
The aim of this change is to support top-level await.
closesodoo/odoo#74629
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
Trying to delete forward a non editable was erasing the first
character of the non editable.
Trying to delete backward one character after the contenteditable false
made the cursor jump before the contenteditable.
closesodoo/odoo#74623
X-original-commit: 9b7d9ad3771579ccb60a1be526f5d7571f64e638
Signed-off-by: Antoine Guenet <Zinston@users.noreply.github.com>
The generator was quite confusing and also
did not provide enough flexibility for when to
stop traversing and under which condition it is
going down the tree.
This refactor was necessary for a future commit
that require to use the new parameters `isNodeDescendantTraversable`
and `stopFunction`.
X-original-commit: c8d44120b49ac967ac12f3715bdaf83cdff3c4c6
Steps to reproduce:
- Install Expenses module
- Go to Expenses (list view)
- Select multiple expense in `To Submit` stage
- Click on Action -> Create report
Issue:
Report is directly in Submitted stage.
Cause:
Submitting report on creation.
Solution:
Do not set 'sumbit' satge on report creation.
opw-2586184
closesodoo/odoo#74615
X-original-commit: 7cb6cfad0dc8254c3668f6d3c5a0be1a85051ab3
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
This reverts commit 3190bbe8be9685bc936d92b9840d567be120b85c.
It introduced a bigger problem where the m2m table would have a width
of 0 and not be visible when switching page in the notebooks.
closesodoo/odoo#74619
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This tests should be part of the basic l10n test to ensure that the UI
is valid and can be opened.
closesodoo/odoo#74605
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Progress bar on image upload was introduced with #65828 in saas-14.3.
Since, it has been broken in saas-14.3 with 3765ac1 which broke the flow for
image unrecognized by PIL, see the other commit of this PR.
It was also completely broken in master (saas-14.5) with the wowl refactoring,
where no progress bar were shown at all. It would show empty toastr.
This was fixed with #74027
This commit introduces a complete testing suite for that progress bar:
- Single image upload
- Multi image upload
- Success upload
- Unsupported error
- Unrecognized error
task-2607393
Closes#74122closesodoo/odoo#74454
X-original-commit: 381d432faf8d19e71ff1d63c29a14064a6d7f57f
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Since 3765ac1f1f16, uploading an image not recognized as such by PIL would not
behaves as it should.
Step to reproduce:
- Enter edit mode, drag & drop a snippet with an image
- Double click on the image to open media dialog
- Upload a local image of type `.webp`
- 2 toaster are shown:
1. A progress bar toaster with a generic message "File could not be saved"
2. A generic warning toaster on top of the previous one with the correct
error message "[..] format is not supported. Try with: .gif [..]"
Instead, only the progress bar toaster should be shown, and the error message
should be displayed in it.
task-2607393
Closes#74122
X-original-commit: c143e7d27ce25c88854fc3c2980f399add848cb3
BEFORE: e.g. navigating with arrows in a dropdown menu when the home menu is showed conflicts (focused item changes in the same time in the dropdown and in the home menu)
AFTER: the home menu will not receive keydown events that are stopped by the hotkey service.
Taskid-2578926
closesodoo/odoo#73130
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
As the dropdowns have been reworked in the new webclient framework, here
is an improved version of this preliminary design.
Implemented specs:
- nested dropdowns open themselves horizontally (at right by default)
- keyboard navigation is fully adapted to this new design
- up/down focus previous/next item in opened menu
- tab/shift+tab focus next/previous item in opened menu
- home/end focus first/last item in opened menu
- right/left open/close a sub dropdown
- enter selects the focused item
- escape closes the current dropdown
- add "loop" behaviour for keeping pressed down arrowup and arrowdown keys
Taskid-2578926
This commit encapsulates the positioning logic of the Popover component
into a reusable hook. It also improves this logic by adding more
positioning directions and functionalities.
Before:
- only 4 directions (top, bottom, right, left : all middle aligned)
- the whole window viewport serves as a direction toggler
Now:
- 12 positions are available and are composed by 4 directions and 3
variants: {top,bottom,right,left}-{start,middle,end}
- the positioned element container is configurable. Default: window
Description:
When you use this hook, you make sure that your `popper` element (the
one you would like to position) is always placed at the given `position`
from the `reference` element. If positioning it so the `popper` element
is clipped off the `container` element, sensible fallback positions are
tried. If none is fully visible without being clipped off `container`,
the original position is used.
Usage:
usePosition(
reference, // [mandatory] HTMLElement or function giving HTMLElement
options // [optional] configure behaviour through options object
)
Options:
- popper (string): a t-ref reference. If none, component.el is used
- container (HTMLElement)
- margin (number)
- position (string): {top,bottom,right,left}-{start,middle,end}
Taskid-2578926
Margin has been added to both Order and OrderLine allowing the user to have a better view on his profitability. Margin also has been added to the order report as a measure.
Related task id: 2455794
closesodoo/odoo#66689
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
The `tz` field was no longer clickable on the employee form
because the warning tooltip was getting the click event even
though it was not visible.
closesodoo/odoo#74600
Taskid: 2591003
X-original-commit: 630b4db8a2f0a0faf2dd2230c76d9dc682a9bacb
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Before this commit, all items from the same category were grouped
together because we were sorting items within categories rather than
sorting all items after getting them from the various categories.
closesodoo/odoo#74598
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
In some use cases, the seller in point of sale needs to add a note on an
order line that has to be displayed on the receipt. So we've added a
field on the order line to set a note.
The note is also set on the invoice if the order is invoiced.
closesodoo/odoo#71598
Task-id: 2556994
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
As validation transactions are authorized rather than captured, they are
refunded with a void request. Before this commit, a voided validation
transaction was mistakenly flagged as canceled while it should have been
confirmed.
This commit makes the distinction between a voided regular transaction
and a validation transaction.
task-2612977
closesodoo/odoo#74581
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
Currently, the default invoice origin for the sale action_view_invoice
is being passed as a list by using the mapped method. This causes that,
when an invoice is created from this view, the origin is set to ['SOXXXXX'].
With the fix, we properly pass the origin as a string so the origin is set
as SOXXXXX, which should be the expected. Notice also that the context is
only passed when dealing with a single SO.
closesodoo/odoo#74579
X-original-commit: 3ad1310eb88581333bb8ccb28b859abcbadabe42
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Steps to reproduce:
- Install "Point of sale" and "l10n_fr" modules
- Switch to french Company
- Go to user preference and change language to "French"
- Create a new POS with french certification installed
- Run the POS
- Try to change quantity of a product
Issue:
Impossible to encode a quantity with decimals (add a line at 0 instead)
Cause:
The popup return value is a string.
The value is used before coverting it to float.
Solution:
Parse quantity value like a float before using it.
opw-2608707
closesodoo/odoo#74578
X-original-commit: 6a265e2c334b55ad796c015a072d0c1b0be738b5
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
Even in the interface, when we empty a string, the value
in the database is '' and not NULL. So, we should let the user
put the field to '' again. (as it is not required)
This will require un update, but otherwise, it just relaxes
the constraint.
closesodoo/odoo#74572
X-original-commit: bc64805e27c9f31f446680aa2398affb945ffd83
Signed-off-by: William André (wan) <wan@odoo.com>
The goal is to take into consideration that in case the TAX ID
is issued by the same member state as the vendor's,
then VAT charge is not reversed.
The VAT ID must be foreign as from the vendor's point of view.
closesodoo/odoo#74566
Task: 2596204
X-original-commit: c92ebc91e261827dfafa602eae5408de2a072609
Signed-off-by: William André (wan) <wan@odoo.com>
Edit a website menu label with:
& < > " ` '
This is what is shown after saving:
& < > " ` '
This is happening since ea4dbcd240: characters &, <, >, ", `, and ' are
now always escaped. Before that commit, only < and > where escaped and
only when an image was inside the label.
With this change, we unescape the label when we are editing a menu.
opw-2609413
closesodoo/odoo#74558
X-original-commit: ab77054987287444c5f6141b047a63bab4b67baa
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Step to reproduce:
- Change the language to any language other than english
- Go to PoS and open a session
- Click on "Client" and select a client
- The button 'Select Customer', 'Deselect Customer' and 'Change Customer'
are not translated.
Cause of the issue
- The term 'Change Customer' was missing in pos.pot
- Translation was not enabled in JS file
This fix complete the one "done" in commit 00e177b
opw-2596436
closesodoo/odoo#74565
X-original-commit: da5b236f7375d35309a59d8e548309d5381a81cb
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Hook to be overridden when we need to add some field to product and use it in variable factor from price rules.
closesodoo/odoo#74561
X-original-commit: 6ec768d084da6bd7344c45750a2a5037ec366143
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
We are getting the order lines out of the main receipt template, to be
able to override it the sweden localissation module, and so having lines
separated depending on the type of products.
closesodoo/odoo#74554
Related: odoo/enterprise#20004
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Before this commit, the payment function `_get_validation_amount` was
overridden by Stripe to specify a validation amount of one currency unit
while that amount was in fact never passed to Stripe in the validation
flow. The amount stored on the transaction was therefore incorrect.
This commits removes the override to let the default amount of 0 being
set on validation transactions.
task-2612977
closesodoo/odoo#74543
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
Prior to this commit, not all operations of the Stripe webhook were
encapsulated in a try/except clause. If a `ValidationError` was raised
outside of that clause, it was returned as-is to Stripe.
This commit encapsulates the whole webhook event processing with a
try/except clause to make sure that only an empty string is returned to
Stripe, hence properly acknowledging events.
task-2612977
*base_automation,iap,im_livechat,point_of_sale
This commit introduces a new file in core/utils: hooks.js
This file contains custom hooks (useEffect, useService, useBus...).
The useHotkey hook is tightly related to hotkeys, so it has been
moved to core/hotkeys.
closesodoo/odoo#74535
Related: odoo/enterprise#20003
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Previously, when killing the server, the longpolling bus stopped but
didn't start polling again after a few seconds, this was caused by the
fact that ConnectionLostError wasn't treated like a legacy error and
remapped to an object with a message, meaning it didn't trigger
guardedCatch callbacks.
Since ConnectionLostErrors should be handled much the same way as
RPCError when interacting with legacy code this commit simply adds
ConnectionLostError in the same places we already have RPCError during
error handling of legacy errors, but delegates behaviour to the new
lostConnectionHandler when appropriate.
closesodoo/odoo#74530
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Steps to reproduce:
- Create Bill from Purchase order
- Raise Refund for the Same Bill
Current Behavior before commit:
Field Unit Price is readonly in PO line as invoice is already created.
Expected behavior:
Price should be editable as Qty Invoiced is Zero after Refund.
With this commit, Price unit will be readonly based on `qty_invoiced`
closesodoo/odoo#74526
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
1. Activate 'Deliver Content by Email' in the Sales>Configuration>Settings
2. Create a mail template with Product Template for 'Applies to' and
a dynamic field (e.g. ${object.company_id.name}) in the body
3. Add this mail template on a [DEMO] product 'Automatic Email at
Invoice' field, in the Sales tab
4. Create an invoice with [DEMO], confirm it.
5. If the ID of the invoice does not exist as a product.product, you get a
traceback
The reason is that the model used for the template rendering is the
one specified on the template, but the res_id given to the composer
is the one from the invoice.
opw-2476169
closesodoo/odoo#74519
X-original-commit: 67bdd9cada7b06bc73d7bebedb7f10547e425055
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
Commit 3d90d02 removed the integration with the Flexcheckout API but the
dedicated views were left behind, as it was not possible to remove them
in stable version.
This commit removes the unused views in master.
task-2494916
closesodoo/odoo#74505
Related: odoo/upgrade#2699
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
Before this commit, the current dialog (in the action service's state) was either an empty object
when there was no dialog, and a filled object when the dialog was present.
After this commit, when there is no dialog, the dialog state is null.
closesodoo/odoo#74442
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Have an action in the breadcrumb (A)
Do an action (B) that has a button which spawns a dialog with a onClose callback executing an`history-back` event.
This may be useful when the action (B) acts as a selection buffer between (A) and the dialog.
(e.g. stock_barcode: execute `stock_barcode_client_action` from a picking)
Before this commit, the history-back event just closed the dialog without going back to the action (A)
This was because the wrong condition was used to determine if the dialog was still alive or not.
After this commit, the action (A) is displayed when closing the dialog from any point.
Remove the custom messages and replace with the default odoo tracking message that uses tracking_value_ids as parameters
Journal Items will log all changes of tracked fields in the chatter of the associated Entry - including one2many and many2many fields (by overriding _mail_track)
references original task 2061399
closes task 2469621
closesodoo/odoo#72023
Signed-off-by: William André (wan) <wan@odoo.com>
This commit adds an option to disable horizontal scrolling in the
smoothScrollOnDrag feature options and use it when dragging and
dropping a snippet into the editor to prevent the wrapwrap from
scrolling horizontally when an element overflow the page (e.g. an
animated element).
task-2215118
closesodoo/odoo#74518
X-original-commit: fdbc109780f336c4b7dcac31585beaad682e029a
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
*: web, website_livechat, website_sale_comparison
Before this commit, bottom fixed elements (e.g. the livechat button)
hid the buttons to go to the next step in website sale when these
buttons are located at the bottom of the page, on some screen sizes.
After this commit,
- A bottom fixed element is hidden if this element hides a button at
the bottom of the page.
- Bottom fixed elements are hidden if a modal is open
to prevent it to hide buttons or any important part of the modal.
task-2501400
closesodoo/odoo#74515
X-original-commit: a851db9495fe9d8c1951f218a71e4d4a427cf96d
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The configurator takes care of the organization of the links to the different
pages. Some links are put in the menu and some are put in the footer. The order
is predefined. If too many links are present in the menu then a sub-menu 'Company'
is created and some links are put in it. For the 'News' and 'Succes Stories' features
a website specific blog is created.
Links have the following order in the menu and are present only if their corresponding
website.configurator.feature has been selected in the configurator excepted for the 'Home'
and 'Contact us' links which are default links:
- 'Home'
- 'Shop'
- 'Event'
- 'Courses'
- 'Services'
- 'Pricing'
- 'Company': if more than 8 links in menu and more than 1 item in this submenu
otherwise the three following links are in the top menu.
- 'News'
- 'Success Stories'
- 'About us'
- 'Appointment'
- 'Contact us'
Links in footer:
- 'Privacy Policy'
- 'Help': if website_helpdesk installed. This is not a website.configurator.feature.
- 'Forum'
Community: https://github.com/odoo/odoo/pull/71993
Enterprise: https://github.com/odoo/enterprise/pull/18930
Upgrade: https://github.com/odoo/upgrade/pull/2682
task-2518565
closesodoo/odoo#71993
Related: odoo/enterprise#18930
Related: odoo/upgrade#2700
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
The goal of this module is to be able to write tests that run and test the
`website` module business code with all the website modules installed (like
website_blog, website_sale etc).
This is, among other things, useful to test the configurator behavior.
Testing the configurator inside the `website` module would require the tour to
install modules, which is against our testing suite policy.
Such tests end up in `@standalone` testing suite, run only in nightly, meaning
anyone can break stuff without knowing. Such tests are way, way less efficient.
Community: https://github.com/odoo/odoo/pull/71993
Enterprise: https://github.com/odoo/enterprise/pull/18930
task-2518565