When Odoo Editor was in a separate repository, it made sense to have a
separate demo page and README file. It doesn't anymore.
closesodoo/odoo#94516
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Loading assets for Odoo Editor's tests was a problematic matter since
some were in the lib folder while others were in src. This solves that
issue by finally creating a route for these tests, like web has one for
QUnit tests.
Part-of: odoo/odoo#94516
Odoo Editor uses chai/mocha for testing. Since it was moved into Odoo,
we need chai's global constants to be recognized by eslint. The same
thing applies to DOMPurify.
Part-of: odoo/odoo#94516
Odoo-Editor, having originally been developed with the purpose of being
a standalone library, was put into a `lib` folder. Since in the meantime
the library plans were aborted and since its presence outside the `src`
directory makes translations unavailable for it, this moves the editor
to `src/js/editor/odoo-editor`.
task-2880723
Part-of: odoo/odoo#94516
Purpose
=======
possible values of Default Bank Supense Account (in accounting settings) are Current Liabilities
when they must be Current Assets.
Specification
=============
to solve the issue we added Current Assets to the possible values of this field.
opw-2855788
closesodoo/odoo#95233
X-original-commit: 2730b80942d3d32f72bae922cb06a61ecfa38c0f
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: abla001 <abla@odoo.com>
Steps:
- Go to website/configuration/ecommerce categories
- Change `Chairs` website to `Website`
- Go to `Website 2`/shop
- Write `ch` in the search bar
Autocomplete returns `Chairs` even if it's not available in `Website 2`
opw-2884856
closesodoo/odoo#95219
X-original-commit: 2f99929accc4b71156d235019f7b78a2dd4c75e5
Signed-off-by: Achraf <abz@odoo.com>
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
This commit fixes the behavior of the tooltip
enabled by the zoom option which displays
the full image when the field is hovered.
Before the commit, the preview_image option was
not used by the field and the full value was used
for both the field image and the tooltip.
A test has been introduced to check that the
field uses the right images sources when both
attributes are present.
closesodoo/odoo#95208
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit ensures that the slideout footer is visible by the visitor
before start its animations. Now to start an option in the footer
slideout, you have to scroll enough for the element to be visible.
Steps to reproduce the fixed bug:
- Enter edit mode
- click on the footer
- choose a slideout effect other than "Regular"
- set an animation to an item inside the footer and select "Everytime"
in Animation Launch
=> the element is animated only once on page load (because the footer is
actually directly in the viewport but behind the content of the page)
task-2878421
closesodoo/odoo#93133
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The search model should always return [] as groupBy if searchMenuTypes
does not contain "groupBy". This allows a kanban view (for instance) to
define easily that it should not never be grouped.
closesodoo/odoo#95179
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The SDK of Adyen Checkout is quite large (≲ 1MB) and was always loaded
on all frontend pages before this commit, which hurt the loading
performances.
This commit restricts the loading of the SDK to pages that include one
of the payment forms (either 'checkout' or 'manage').
task-2899271
closesodoo/odoo#95121
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Interrestingly enough, those missing ending square bracketsdoesn't have
consequences on the way the browser interprets these attribute
selectors... Anyway, for consistency sake, let's close them properly.
closesodoo/odoo#95070
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Interrestingly enough, this missing semicolon doesn't have consequences
in the CSS bundle generated... Anyway, linter will be happy.
Part-of: odoo/odoo#95070
Before this commit, the loading indicator is shown immediately after
each network request. But this is distracting, and may cause an
impression of slowness, since it shows that the web client is working.
However, the feedback is very useful.
So, it has been decided that we would only display the loading indicater
after a delay of 250ms. All requests shorter than that duration will
just not show anything.
closesodoo/odoo#95037
Task: 2900450
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
It allows to always have a OdooResponse Object and don't allow redirect
to external except when you allow it explicitly with local=False.
Always return to a local url:
/website/add
/slides/slide/<model("slide.slide"):slide>
/microsoft_outlook/confirm
Allow previously external redirect without reason, now blocked
/website/lang/<lang> -> open redirect
Allow external redirect for good reason and url is controlled by code.
/social_facebook/redirect_to_profile/
PS: HTTP Code 303 is a better default for generic redirects. It's not
historically the default for werkzeug.utils, but it is what we want in
general. Contrary to 302, there is no browser-dependent behavior, and
no risk of asking the user whether they want to accept the redirect if
the original method wasn't GET. It's always a non-permanent GET on the
target location.
closesodoo/odoo#95019
X-original-commit: 77f8d9c5d96a9274785ffc2ad83b95ea157d26ad
Related: odoo/enterprise#29000
Signed-off-by: Olivier Dony <odo@odoo.com>
Signed-off-by: Jérémy Kersten <jke@odoo.com>
Introduced with [1] the goal of this tour was to check some lazy loading
stuff regarding the edit mode.
It was then "wrongly" adapted with [2] where the tour actually still
started in the frontend and then clicked on a the new UI button (top
left floating icon of the frontend > backend task) to indirectly enter
edit mode.
While it was working, that's not what the test was aiming to test. The
test should remain as it was, testing the edit mode. While the edit btn
is now in the backend and not the frontend, the tour should just start
there.
Note that this commit is required as the behavior the tour was now
relying on is removed by the previous commit: the Edit button is not
entering edit mode anymore.
Instead of adding a new step to click on the Edit btn, let's just start
the tour as before on the step where you can click on Edit.
It will make the test less dependent of other behavior. This is
especially true since that frontend "Edit" button will most likely
change again or be removed (and introduced back?). We don't want the
tour to rely on this.
If those new UI button need to be tested, it should be in another test.
[1]: https://github.com/odoo/odoo/commit/6f4c60fe1bb6e460ec6da00c59a9825271893729
[2]: https://github.com/odoo/odoo/commit/99b50d18e220aedf14de806f4bf1b2d35c32de35closesodoo/odoo#95002
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
As result of moving the "website into the backend" [1], two new entries
have been added in the user-dropdown: one that redirects to the
backend ("Apps") and another one to edit the current page ("Configure
this page").
This commit removes the one to edit, since the same action it's already
in the floating nav (.o_frontend_to_backend_nav) and keeping two
actions would have be redundant.
For the same reason the "Apps" one could have been removed too, but it
has been decided to keep it to ease lambda users' efforts to find their
way to the backend.
This commit refines the design too, adding icons for all entries and
adapting the user-dropdown layout.
[1] https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2898212
Part-of: odoo/odoo#95002
As result of moving the "website into the backend" [1], a new floating
nav has been introduced allowing the user to go to the apps_switcher
or to edit the current page.
This commit slightly refine the design and changes the animation
behavior that it's now triggered on :hover rather than onClick.
It also changes the "Edit" btn url that it's now pointing to the backend
rather than to the editor.
As positive side-effect, these changes improves mobile's UX, allowing to
toggle-back the navbar by simply touching the outside area.
Also, thanks to the use of SVG, it solves the annoying issue of .fa
icons transformations forced to 'none' on mobile.
note: as a preexisting FIXME note says, an xml template should be
created for this component. This commit is intended to improve the
behavior with the current temporary implementation.
[1] https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2898212
Part-of: odoo/odoo#95002
This commit fixes an inconsistent behaviour in tours using the website's
"Edit Menu" dialogs.
When adding a mega menu, two dialogs are displayed:
- The main "Edit Menu" dialog, from which you can open
- The "Menu" dialog with the mega menu label input
When these two dialogs were opened, and closed successively (click on
"Ok" to confirm the menu label, then click on "Save" to save the new
website menu), the tour was sometimes triggering the primary button of
the wrong dialog.
Two issues were leading to this inconsistent behaviour:
1/ Sometimes, the tour would click twice on the same primary button,
and would not wait for the current dialog to close.
To prevent that, extra_triggers are added to the steps to check that the
first click was correctly taken into account (and so, that the upper
dialog, that was the active dialog, was closed).
2/ Other times, the tour would click on the wrong dialog primary button
(it would click on the inactive dialog's button that would save the menu
without validating the label first).
This was coming from the web_tour.TourManager inaccurate
$modal_displayed property, which was defined and used in two different
javascript threads of execution. It could reference modals that were
not the actual modals from the DOM, when used in _check_for_tooltip.
To prevent that, that property is set inside the method it is used in.
It could be defined as a const and not a property, but this way the
commit history is left untouched.
runbot-4000
runbot-4001
runbot-4004
runbot-4005
closesodoo/odoo#94924
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Simplify and improve barcode implementation
This PR rework the way barcode is implemented. It introduces a new `barcode_service`, which basically replaces `barcode_events`. The barcode service is meant to be the reference for all code that needs to detect a barcode.
While we are at it, this PR improves the code, remove dead code, and simplify the implementation. It will be followed by a rework for the barcode widgets and barcode handlers, to make them work with the new owl views.
closesodoo/odoo#93387
Related: odoo/enterprise#28527
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Note that more 'non printable keys' are escaped now, like 'Home'.
This seems like a bit naive solution but it avoids having to list
every key.
The only issue we might have is if a device sends the whole value in the
'key' property directly without sending sequentially several keydown events.
As a reminder, 'ctrlKey', 'metaKey', 'altKey' properties are used
because we also want to ignore keys pressed while this modifier is
active. For example, if you press CTRL+e, we want to ignore 'CTRL'
AND 'e'.
Useful references:
https://w3c.github.io/uievents/tools/key-event-viewer.html
Part-of: odoo/odoo#93387
Before this commit 'tab' was escaped because isSpecialKey was true.
This was strange because this key was defined in 'endRegexp'.
So, there were only 'enter' key who worked as a barcode end key.
Note that it wasn't a big deal if 'tab' was used because checkBarcode
was executed anyway after a timeout.
Now the barcode value is directly checked if the strind ends with
'enter' or 'tab' (by-passing this timeout).
Part-of: odoo/odoo#93387
As we now use 'inputmode=none' on the barcode field, the mobile virtual
keyboard doesn't open anymore. So, there is no need
to have to blur barcode input after receiving a value.
There is no issue to keep the focus on this field. We only did it
to close the virtual keyboard as soon as they pop up after each scan.
Part-of: odoo/odoo#93387
And remove most of barcode_events. The goal is to have a service that
can be used by components to reliably detect a barcode action. For now,
we keep barcode_events around, but the goal is to completely remove it
as soon as all the code using it is updated
Part-of: odoo/odoo#93387
(To be commited with [#94024](https://github.com/odoo/odoo/pull/94024))
Duplicating an email sent from Odoo would raise an error because some required fields could not be set.
Setting those fields on duplication does not make sense, duplication is to be disabled on e-mails.
As this applies to some messages and no use-case could be found for the duplication of messages or notifications,
both also had duplication disabled.
Task-2857244
closesodoo/odoo#95138
X-original-commit: 6f9656fc4ceeecd304f600b7cd65d649618ad182
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit fixes some inconsistencies of the progressbar
field widget since it was converted to Owl. Some behaviors
were wrongly adapted and edition was not enabled in kanban
views. It was also missing an option to allow editing the
field value in readonly mode.
closesodoo/odoo#95033
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The issue:
1.) Switch to German language (or any language that uses , versus . as a point separator
2.) Create a vendor bill
3.) Add items
4.) Click on the pencil/edit icon next to the tax field (below subtotal)
5.) Separator used is . instead of ,
The fix:
the field will use the right separator depending on the currency.
closesodoo/odoo#95147
X-original-commit: 3cca50bfca14f3748d16c43c25119dbe90972f7f
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
The total value of the invoice can be reported in the edi using the
field <ImportoTotaleDocumento>. This commit uses the amount_total of the
invoice to occupy this field.
Adapt the l10n_it_edi_sdicoop tests to include this field in the
expected xml.
closesodoo/odoo#95175
Task-id: 2894623
X-original-commit: 2e0c6def4d9be3b73e874304813ed3bb685ade95
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Daniel Kosky (dako) <dako@odoo.com>
Cause:
The tests fails because the expected price is not the right one.
It is because that when installing the l10n module, it changed
the current company currency (if no localisation set) but not the
pricelist.
Solution:
For the tests, change pricelist currency of the main website
with company currency.
opw-2899730
closesodoo/odoo#95080
X-original-commit: ddc802dc3be5e02166ffefe917ebaa3cfdd02e8d
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Leftovers of previous fixes of this issue.
closesodoo/odoo#95162
X-original-commit: dffc184862018670008ff4da839fc520a72bddca
Signed-off-by: Christophe Simonis <chs@odoo.com>
When sending an invoice to the SII edi, the field TipoDesglose is
required. In case we have a foreign customer outside of Spain, we are
filtering the taxes information based on the tax scope (services or
goods). In case the tax scope is not filled in, TipoDesglose is not
provided and this will cause the request to fail, with no clear reason
for the user. We should add an UserError message to make it clear enough
so the user can fix it himself.
closesodoo/odoo#95164
X-original-commit: 7a6b3544d7c3a855489a0d5f7075691e25264e2d
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Alex Thuyls (alt) <alt@odoo.com>
Before this commit
When removing the last word of an html container, the last space was
not transformed into an `nbsp`. This caused google chrome to not
render the space.
Task-2809312
closesodoo/odoo#95124
X-original-commit: cd4f1c4bce66817640eea20f0b297095d48ea647
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
This commit removes the css class `.o_kanban_counter_label` which is no
longer being used in Odoo.
The class above is supposed to add styles to text labels inside progress
bars in kanban view mode. However, this feature is no longer used, since
contextual information is already given either by tooltips
(`progress-bar o_bar_has_records`) or by text on a side
(`o_kanban_counter_side`).
Task-2898427
closesodoo/odoo#94884
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Actually we send request to check if the terminal is available when we poll
the status of a payment.
We remove it and need check the availablity before we start the session
closesodoo/odoo#95102
X-original-commit: 215c8fc7cebdb566a008bf2badb6a934af84150a
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
This will allow to reduce overrides in enterprise, and we want to display the
feature in community soon as well.
Part of task-2871070
closesodoo/odoo#95085
Related: odoo/enterprise#29036
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
After the payment apocalypse, `payment_test` was cleaned and stripped of
all useless parts. It was a very basic testing acquirer that allowed to
enter fake arbitrary payment details, choose whether they should be
tokenized, and then pay. It was intended to test the payment flow of
various applications (Sales, Subscriptions, Invoicing, ...) for a single
scenario: successful payments with immediate capture.
In order to extensively test an app's payment flow (explore other
scenarios), we need `payment_test` to have additional features.
Now, `payment_test` will allow profound testing of these features:
- separate authorization and capture
- customer fees computation
- tokenization
- refunds
- on the /pay page, users will be able to select the status of the
payment
- on the payment transaction form view, users can change the status of
a payment 'pending' to either succeed or fail
- on the payment token form view, users can change the state of future
transactions made with that token
task-2512196
closesodoo/odoo#78083
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: xlu-odoo <xlu@odoo.com>