Since BS5, the <html> receive the 'smooth' CSS value for the
'scroll-behavior' property. As the name indicates, it makes scrolling
smooth (on click on anchor link for example) instead of an instant
jump (although the exact behavior is left to the browser).
The problem is that this auto-smooth from the browser conflicts with
the "smooth drag and drop" code (at least if the scrolling target is
actually the `<html>` element which is never the case currently). Indeed
this code expects to make small instant jump depending on the position
of the user cursor. This commit solves the problem by disabling the
browser auto smooth for the duration of the drag and drop.
Note: a further commit will move back the scrollbar behavior out of the
`#wrapwrap`, this is thus especially needed.
Note: this bug fix could be back-ported, should the need arise (custo
might want to use the 'smooth' 'scroll-behavior' in stable without BS5).
Although the only side effect is slower smooth drag and drop.
X-original-commit: 81ed9bee81bacca7b55598e9af7cac51cd7805cf
Part-of: odoo/odoo#102785
The smooth drag and drop in edit mode (over the website iframe)
currently works correctly. This would not be the case if the scroll was
not on the `#wrapwrap` but left to the `<html>` element. Indeed, special
code handles that case, but that code is actually not needed in case
what is being dragged is outside an iframe and that the smooth
scrolling is performed inside that iframe.
Note: a further commit will move back the scrollbar behavior out of the
`#wrapwrap`, this is thus especially needed.
X-original-commit: 4947ef118c646171fd3358135dcab8f63efa04d2
Part-of: odoo/odoo#102785
An option to edit tables via a specialized overlay was made with [1] for
the backend edition of HTML fields. It was indirectly added for the
website builder where an UI to do that already exists (in the editor
panel). It is actually a problem because of the way it was implemented:
- Rely on the fact this is not the `<html>` which scrolls (which cannot
be considered necessarily true and won't be true by default in a
future update).
- Use 'visibility' property instead of 'display' to hide the UI making
the UI participate in the rendering of the page at all times (and when
the `<html>` scrolls actually shows a white bar at the bottom of the
website page).
It was decided we do not want this UI on the website side. This commit
takes the easy road: just force the fact it is hidden. Indeed, not
instantiating it comes with a bunch of problems as the related code is
spread throughout the editor code. A better implementation will follow.
Note: a further commit will move back the scrollbar behavior out of the
`#wrapwrap`, this is thus especially needed.
[1]: https://github.com/odoo/odoo/commit/7a64a04421171469c58bb94bbe8c55b1e2fdf3f2
X-original-commit: 8c1a719674315eadb6d8f6c925cc4303227fad67
Part-of: odoo/odoo#102785
The `scrollTo` method and related utils (jQuery animate, ...) were not
properly adapted to work in the context of multiple documents. E.g. the
website editor code (outside the website iframe) is calling the
`scrollTo` util to scroll to added snippet elements (inside the website
iframe). In that case, the util was performing some searches in the DOM
outside of the website iframe while it was meant to be done inside. The
result was that the scroll was not considering the website fixed navbar
and scrolled "too far".
Another bug is visible only when the scrollbar is left to be the natural
browser one (not on the `#wrapwrap`). In that case, the `scrollTo` util
simply had no effect anymore as the `animate` override of jQuery was not
adapted.
Note: a further commit will move back the scrollbar behavior out of the
`#wrapwrap`, this is thus especially needed.
X-original-commit: ab417de98068afaaa12995726c7c6445f075ca4f
Part-of: odoo/odoo#102785
Replace some layout magic with some layout determinism; in particular,
the view attempted to have a 4 column layout which is not well supported
in grid form views.
This commit instead create a "normal" structure (outer group > inner
group) for "boolean" group access (e.g. 'Extra Rights' or 'Technical'
sections of the user form access groups, whilst in debug mode).
closesodoo/odoo#102789
X-original-commit: fd854e87d8a138052302afbd3da486f41102c695
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
The fiscal country field could be used to create a new res country or
open the form view and allow to change things such as the country code.
This is obviously an issue and shouldn't be allowed.
closesodoo/odoo#102708
X-original-commit: 0881199fba43e01d6d7613eff00549eac5827480
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Nicolas Viseur <vin@odoo.com>
The invoices and sale orders got a button "Preview" to reach their
frontend/website page. One of the goal is to then be able to enter edit
mode and customize it.
But since we merged frontend > backend with [1] (and multiple iterations
since then), landing on the frontend is not a good idea to do that as
you would then need to click on the "Editor" button to go back to the
backend and be able to enter edit mode. Now we reach the iframe preview
directly.
Note: this will be improved in a further update to not require a reload
of the backend when clicking on the button.
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3bclosesodoo/odoo#102787
X-original-commit: 007ae49e9c94061adf34aa9f911c7a9a0e873e0e
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
The quotation templates got a button to design them, which lands on
their website/frontend preview.
The goal is to then be able to enter edit mode and customize it.
But since we merged frontend > backend with [1] (and multiple iterations
since then), landing on the frontend is not a good idea to do that as
you would then need to click on the "Editor" button to go back to the
backend and be able to enter edit mode. Now we reach the iframe preview
directly.
Note: this will be improved in a further update to not require a reload
of the backend when clicking on the button.
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
X-original-commit: a98ea96b52f6ccfd43e364720001ed4c4bcbcb4e
Part-of: odoo/odoo#102787
Factur-x import is broken since: 4ea13aea05b1d9650a2c9605d24ac7d69583cefa
Indeed, for non FR/DE companies, the `_get_xml_builder` is now returning
None, thus the import `_create_invoice_from_xml_tree` and
`_update_invoice_from_xml_tree` do not work.
closesodoo/odoo#102777
X-original-commit: 6eb6662b53a521adda0588d05f316652b66e758b
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Julien Van Roy <juvr@odoo.com>
Inline fields for numeric and date values shouldn't be as wide,
since they tend to be 'close by' another field (e.g. currency,
periodicity, etc.) in the same 'row' or included in a text zone - in
which case we want the value to be closer to its context, and not
completely isolated in a huge area.
closesodoo/odoo#102775
X-original-commit: 5f5729f8ba79c7919774021310208d41cb8ddb56
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Have a form view in a dialog (action in target=new)
The create/write of that model throws an error.
Before this commit, the "Oh snap!" dialog was displayed, but makes little sense
in a dialog.
After this commit, the old UserError dialog is displayed.
closesodoo/odoo#102764
X-original-commit: d36f1708219f63fae5a86b6c1e81b328ca96b347
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, in a list view, if you clicked the discard button
for an invalid row, it would not be discarded and the discard button
would disappear.
Why did this happen?
Invalid fields in the record were not deleted.
How to reproduce?
- Go to a list view with a required char field
- Edit the char field of a record with an empty string
- Click outside the record (it becomes invalid)
- Click on the discard button
Before this commit:
The record is not discarded (its values do not change and it remains
in edit mode) and the discard button disappears
After this commit:
The record is correctly discarded and the discard button disappears
closesodoo/odoo#102763
X-original-commit: 73ba2217ec56819ff979020a43d0c13f8ff0b697
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
When [1] was merged, it did not adapt correctly external providers
redirections. As now the /shop pages can be viewed inside an iframe, the
external redirections must be opened in the top window.
[1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
task-2687506
closesodoo/odoo#102723
X-original-commit: 3a32b9e1efa6277b345dc9239334680651690df7
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Quantity done will be always editable. Different use case:
1. If there is not location/package/tracing/owner -> same behavior than
before
2. If the details are needed:
- Immediate transfer. In case of increase the quants are reserved and the
`qty_done` on `stock.move.line` is increased depending the reservation.
If the quantity couldn't be fully reserve then default `stock.move.line`
are create (depending the putaway rules or multiple ones if the products
are tracked). In case of decrease, the quantity reserved are unreserve
but the `stock.move.line` are not unlink until the validation.
- Planned transfer. The quantity done will fill the reservation. If the
picking is not assign, it will reserve the quantity needed. In case of
decrease, it will only unreserve the extra quantity (compare to the
initial demand). To unreserve the quantity bellow the intial demand, the
`stock.move.line` could be unlink or use the `unreserve` button.
force_qty in `_action_assign` is needed because we don't reserve only
base on the initial demand (`product_uom_qty`) but sometimes on the
quantity_done.
In order to never block the user. The action_show_details is always
available. If the id is not available, it will save and open the record
(we take the record based on the new existing line with same product
and highest id).
closesodoo/odoo#102738
Task-id: 2960983
X-original-commit: cacc677a08066bc23e1c89df36027599d05f2a08
Related: odoo/enterprise#32555
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
This commit cleans the tax groups:
- it removes the negative tax groups
- it makes sure that there is only one tax group per tax rate
- all the taxes with the same rates are attached to a single tax group
This commit splits the taxes to make the distinction between the goods and services.
In addition, the fiscal positions are also updated accordingly (make sure to map to another
one having the same scope: goods/services and type: sale/purchase).
These changes are based on the reliable feedback of LPDE (Didier Six). No tax were removed
from the old version. Only some were split, the others were kept (but modified).
In addition, the tax report is updated to the 2022 version and the new tax report lines
are linked to the taxes.
task-2674047
closesodoo/odoo#102749
X-original-commit: a4c5171e1a79242bba201affba9d94bb9e137e94
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Julien Van Roy <juvr@odoo.com>
The aim of this commit is to improve the test skipping code of the oss modules
by avoiding to hardcode the chart_template_ref (xml_id) directly in the error
message.
Before this commit:
The TestOSSSpain test class was failing when the l10n_es module wasn't
installed instead of being skipped.
After this commit:
The TestOSSSpain test class is correctly skipped instead of failing.
closesodoo/odoo#102770
X-original-commit: c8018174c483183f95cda2bd805eb003e2ab90f5
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Brice Bartoletti <bib@odoo.com>
Before this commit, project task kanban quick create does not
display the avatar on user_ids due to m2m tags widget.
so in this commit, replace the many2many_tags widget with many2many_avatar_user.
task-2871552
closesodoo/odoo#102771
X-original-commit: 02226e70f0367033e279e937dc439422ef8956f5
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Before this Commit, project > reporting > tasks analysis > drill down the
graph/pivot view > list view was editable and allowed creation of new records
After this Commit, project > reporting > tasks analysis > drill down the
graph/pivot view > list view is not editable and does not allow creating
new records.
task-3000758
X-original-commit: ff2bed424064ef5cf049ae8ad0d47f65d33bf5b9
Part-of: odoo/odoo#102768
Steps:
Create a expense with product having no cost and having the
total amount directly added from expense sheet.
then create an innvoice.
Issue:
While adding journal lines in hr expense the amount per unit
was calculated as the total amount of product such as quantity into the
price per unit inside the invoice.
Cause:
expense's total_amount was passed as price_unit instead of expense's unit_amount
and due to that total amount was multiply by qty so wrong value was passed.
Fix:
If unit_amount of product is non-zero then pass the unit amoun for invoice or
pass the total_amount if unit_amount does not exist.
task-3000758
X-original-commit: d47ca52a2cb8eb7146094e7d172f41f6aa3621a2
Part-of: odoo/odoo#102768
In house implementation of automatic scoll when dragging an element to
the edges of its container.
closesodoo/odoo#102756
X-original-commit: 290a6213a6e36fc2e5d11216b59a6aaf79554196
Related: odoo/enterprise#32568
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
Co-authored-by: Julien Mougenot (jum) <jum@odoo.com>
Co-authored-by: Simon Genin (ges) <ges@odoo.com>
Reproduce:
Go on a kanban view, with enough columns so it goes off the screens.
Scroll on the right, try to drag anything beyond the original (before
scrolling) limit of the screen. The cards are stuck floating at that
limit. Note it didn't prevent the drop to work properly where the mouse
was.
Issue:
The useSortable hook gets an owl ref, which is used as a limit to where
things can be dragged and dropped. Originaly and logically, it was the
current component ref, the renderer. But for some unknown reason, this
space was not getting wider than the initial screen size. It may be a
problem with the flexbox layout.
Tried solutions:
- A first solution was to add the overflow-x-scroll css property to the
renderer. It works, but now the horizontal scroll bar is no longer
always visible. You have to scroll all the way down to see it. UX wise
this is not acceptable.
- We could remove the clamp mecanism inside useSortable to let the drag
and drop motion go anywhere. This works, but decrease the quality of the
interaction. It looks cheap and not polished.
Final Solution
Finally, we decided to pass a ref to the o_content div from the layout
component down to the kanban renderer. If the useSortable is given this
ref, it works as intended. While it may seem too much, it is not
unreasonable to propose a reference to the most parent element of the
view contents to the renderer.
X-original-commit: a569305acaa1c812ede739c267e2e9530945f65f
Part-of: odoo/odoo#102756
This commit fixes the number of cells created in the ListView's footer
when the optional field's button is present.
Steps to reproduce:
- Open Accounting > Customer Invoices
- Switch to ListView
=> the footer (containing totals) has one less cell
closesodoo/odoo#102222
Forward-port-of: odoo/odoo#101954
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
This commit fixes the pager's position in a grouped ListView when the
optional field's button is present.
Steps to reproduce:
- Open Account > Intrastat Code list
- Unfold "Commodity" group
=> The group's pager is misplaced
Forward-port-of: odoo/odoo#101954
Part-of: odoo/odoo#102222
The commit odoo/odoo@babf7634e0 broke a
previous fix in odoo/odoo@6228500a3f
allowing the chatter to grow beyond its original size.
This commit restores the `flex-grow: 1` on the chatter's container but
also limit its maximum width (like in saas-15.3) to avoid it becoming
unreadable.
closesodoo/odoo#102767
X-original-commit: 3db27dc6c2e22b2b86650d1828f8e52929c43df6
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Romain Estievenart (res) <res@odoo.com>
Add missing exclusion `o_list_record_remove` class used to allow text
overflow mixin.
Steps to reproduce:
- Open the Employee app
- Plan creation
- The trash as an overflow ellipsis => bug
closesodoo/odoo#102758
X-original-commit: a2ee880237724463b90fc43df69b689b82756fe4
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: Romain Estievenart (res) <res@odoo.com>
Allow `o_state_selection_cell` to have the overflow mixin to allow the
resize of the kanban state column on list view without text overlapping.
This commit follows https://github.com/odoo/odoo/commit/e22abffdc230c2ae494a85fdf7fd8d6b488be3ea
Steps to reproduce:
- Open the helpdesk app
- Click on VIP Support tickets
- Go to the list view
- Check the kanban state column and try to reduce it's size
=> The text is overlap
X-original-commit: a9f83d6d2e9f53a6a562044303c5bcb5ab5f1a9c
Part-of: odoo/odoo#102758
The component `section_and_note_one2many` doesn't take all `width`
available and so in some case when there is too content or the form view
is too small the `table` overflow outside the form.
This commit forces this component to take `100%` of the `width`
available.
Steps to reproduce:
* Open Sales
* Select a Quotation
* Reduce the size (width) on the Browser => BUG
closesodoo/odoo#102743
X-original-commit: 32b0d75385889f037f574cbc515aa2895583f99e
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
*: exhibitor, meet, track
Before, there was a weird bar above left column of the track screen,
of a different color than the one over the content column. The side
column titles were not centered and aligned with content (for small
screens) and background color was used strangely as well as the
borders.
Harmonize the small space above meeting / exhibition / tracks
online screens. Add a small space above both columns, in small screens
as well (creating space between the blocks, having different purposes)
above online screens of meetings, ehibitors and tracks. Remove css that
can be removed and replace it with bootstrap standard classes.
The spaces uses the website background color. The side column title are
centered vertically and match the titles in the main column when the
screen is small.
Task-3006773
closesodoo/odoo#102721
X-original-commit: 65e8e1b8c501cccecc675437429c9ba3f415a09e
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Due to the 'transform: none' applied on images and icons on mobile, some
animations do not work in mobile. This commit makes an exception to this
rule for animated images/icons.
task-2984828
closesodoo/odoo#102713
X-original-commit: 78098b3db96e796ae6a09bd0f4bec1eb0c384d28
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this commit, the frequency fields were not aligned. This is due to the
new CSS grid system in the form views for inner groups.
This commit reorganize the arch itself to have the the relevant fields and their business
modifiers in the same cell of the inner group. It not only makes sense technically, it does so
in business terms as well.
closesodoo/odoo#102578
X-original-commit: d4118297dd6116fbd2ccefe27b09e9e4b7d5b412
Related: odoo/enterprise#32475
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Have an InnerGroup which has a first div visible all the time
and a second div conditionally invisible.
Before this commit, when the second div was invisible, the first was not
displayed.
After this commit, the two divs are displayed correctly.
X-original-commit: c69836e3c53e1efb61f66612c266a31aa9b54816
Part-of: odoo/odoo#102578
Go on Timeoff > Configuration > Accrual Plans
Before this commit, when no rules were set, there was no visual feedback.
This was because that feedback only appeared when the form view was in readonly,
which is virtually never the case now because of the always edit feature.
After this commit, there is the relevant visual message if no rule is set.
X-original-commit: 599554adc3883fa2742764d8f948258dee2ef89e
Part-of: odoo/odoo#102578
Currently the "abort" function in the pos_adyen module did not include
all the information necessary to cancel the current payment.
With this commit this information is added and the status is correctly
returned to the JS in order to have the correct status on the payline
https://docs.adyen.com/point-of-sale/cancel-a-transaction#cancel-from-registerclosesodoo/odoo#102747
X-original-commit: 897e9ed1ae5b828017b0cff02281685e757d5e14
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Masereel Pierre <pim@odoo.com>
in b1d57adf6ff3 the size of the header added to source files while
concatenating them was reduced, but the corresponding offset use when
generating source maps was not adapted, causing source maps to drift
further and further from the actual source location the further in the
compiled asset the line is.
This commit fixes that by decrementing the header offset as needed.
closesodoo/odoo#102651
X-original-commit: 4d4585ee6c905c2a3adc4692098c1a3544417629
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Samuel Degueldre <sad@odoo.com>
Reason for traceback:
When an internal user clicks on the 'Sale Order', 'Invoice' or 'Ticket' state button, opens
Backend view. But the portal backend does not support chatter. So comes the traceback.
In this commit, we open the portal view.
task-2973173
closesodoo/odoo#102707
X-original-commit: 0df9b1ea93535d127475b89cc9d59ecc5e25b0aa
Related: odoo/enterprise#32538
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit prevent showing the `displayed_image_id` to non internal users.
task-2895909
X-original-commit: 6da6fc00d332b823d8694059cf80e10620b9d47d
Part-of: odoo/odoo#102633
Steps :
- On a new DB (no demo data). Say created at 15:00. - Go to planning.
- Add a shift for today.
- Set the dates from 08:00 to 17:00.
Issue :
The 'Allocated Time' = 02:00.
Cause :
We used to count from the resource creation min to the departure max. So, in this case, not from 08:00, but from 15:00.
While this might seem logical, it confuses users in onboarding.
Fix :
Calculate the whole time, regardless of the resource lifespan.
Notes :
- Similar issues solved with this commit :
> Once the shift validated, the avatar progress bar uses
the same allocated time.
> Same in Project Task gantt view.
- When contract is installed, if the resource does not have a contract, the Allocated Time = 0. Now, it is calculated from the resource calendar.
task-2983993
closesodoo/odoo#102732
X-original-commit: 6a61d1c4c56075ade36f6f32e7a61f1f6c771a6f
Related: odoo/enterprise#32547
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit fixes the properties field alignment to make it more similar
to the form's group layout (using grid and its gap).
Steps to reproduce:
- Open CRM
- On a lead's form view
- Add properties
=> labels from second column aren't aligned with fields above
closesodoo/odoo#102730
X-original-commit: 5a1c14fe5761e964a2370883bf209b474e498918
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Before commit:
The `jsvat.js` library used to be lazyloaded but was added to the bundle
in the manifest during the conversion to owl and the lib was loaded at
startup every time.
After commit:
The `jsvat.js` file is lazy loaded using loadJS when the component is
first selected so the lib is only loaded when it is actually needed.
The lib is also loaded before running the tests to prevent the asynchronous
call from making the tests fail.
closesodoo/odoo#102740
X-original-commit: 07845e522fb9212126e9f206b4166040e4eea166
Signed-off-by: Géry Debongnie <ged@odoo.com>
This commit replaces the `group` element containing the "Connect Stripe"
button by a `div` element to allow it to contain more elements than the
button without having the elements' `attrs` conflicting with each other.
task-2982357
closesodoo/odoo#102579
X-original-commit: f99b067dbfedca361605f0fc63c7913333950b64
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>