# Purpose
This PR's primary objective is to ensure that the timesheet uom is working in accordance with the company settings in a multi company environment.
Prior to this PR:
- The timesheet preferences sent to the front end were always those of the default
company of the user.
- The timesheet related widgets initialisation process (adding the correct ones in
the fieldRegistry) was performed before the front end treatment of cids and coockies
which prevented applying the front end selected company settings.
After this PR:
- A dictionnary is used in the session in order to structure the companies info.
- The company timesheet preferences are sent to the front end through the company dict.
- The uom info is sent to the front end through the session.
- The timesheet uom is now managed from the frontend and is now in sync with the settings.
- Timesheet widgets are initialised during the AbstractWebClient init and are in sync with
the multicompany front end settings
task-2168337
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#66551
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit's primary objective is to ensure that the timesheet uom is working in accordance
with the company settings in a multi company environment.
Prior to this commit:
- The timesheet preferences sent to the front end were always those of the default
company of the user.
- The timesheet related widgets initialisation process (adding the correct ones in
the fieldRegistry) was performed before the front end treatment of cids and coockies
which prevented applying the front end selected company settings.
After this commit:
- A dictionnary is used in the session in order to structure the companies info.
- The company timesheet preferences are sent to the front end through the company dict.
- The uom info is sent to the front end through the session.
- The timesheet uom is now managed from the frontend and is now in sync with the settings.
- Timesheet widgets are initialised during the AbstractWebClient init and are in sync with
the multicompany front end settings
task-2168337
Closes: #66551
Before this commit:
- Some semicolon where missing
- There was a typo in the variable name
After this commit:
- The above problems are solved
task-2168337
Closes: #66551
The underscore (_) library has a bug in which the _.each method does not
work with object which contains a "length" property. This is because it
does look for that key and if it is a number, it will assume that it is
an array with that length value. Nicely done...
If that length value is set to 0, then it will just do nothing, since it
thinks that it is dealing with an empty array.
Note that if the value is set to an object, _.each is smart enough to
notice that it cannot be an array, and will do the correct thing in this
case.
Usually, our _.each calls are safe, since we usually iterate on arrays,
or on object with safe keys, or on object with values that cannot be a
number.
But there was 2 unsafe calls in basic_model, which leads to strange
bugs: some code is skipped, and the form view is then confused. The
motivation for this fix is the fact that onchanges are not applied at
all, if there is a length field set to 0.
To fix this, we can just avoid using _.each. Note to every Odoo JS
developers reading this: new Odoo code should avoid using the _ and $
libraries, because we do not really need them, and we want to keep our
dependencies to the strict mininum.
OPW: #2465808closesodoo/odoo#66126closesodoo/odoo#67172
X-original-commit: 8dbd1efef899fb637acca3c318ae99cb23838b8f
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
* This feature will be useful when the user needs to "reschedule" an event.
It is more convenient to open the CalendarView around the original start date of the
event instead of "Today"
* Add a test to ensure that the context key is correctly passed to the view as the initialDate
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
* Add a new error message upon deleting the partner linked
to an active user.
* Improve the error message wording upon archiving the partner
linked to an active user. Add the linked users names at the end of
the message.
* If the user has 'write' access on res.users, raise a RedirectWarning
instead of a ValidationError, to offer an easy access to the related users :
- If there are multiple Users, redirect to a list view.
- If there is only one User, redirect to the form view.
* Adapt the test_access_deleted_records from test_orm.py to use a more
basic model : `res.partner.category` (with less business logic), because the
new unlink error message is dependent on a condition that will throw an error
in case of multiple unlinks of the same record (MissingError).
* Force close the frontend archive confirmation Dialog since _toggleArchiveState
may be interrupted by another Warning/Error Dialog. If the new Dialog was the
redirectWarning, and the user chose to be redirected, the first Dialog would
stay open even thought the context already changed.
* Modify the placeholders for a partner Name/Company
-> placeholders will change according to an Individual or a Company.
* Adapt the main_flow tour to correctly select the partner name field on
mobile (tested in enterprise).
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
The color_picker widget, that can be seen for example in the track form
view for event tracks, had an issue: if the user clicked on it, then
pressed TAB, a traceback was displayed.
The problem comes from the fact that the color picker widget inherits
from FieldInput, but is not a fieldinput, so many expectations made by
the FieldInput code do not hold, such as the code run when handling
navigation (by TAB and such keypress). Because of that, the code in
_onNavigationMove crashed, because it expected an input.
Since this is a bug fix, I simply disabled the navigation in that case,
so no crash happens. Sadly, this widget has still a big issue: it
clearly does not work as most users would expect: pressing TAB or arrows
should update the selection. But this would be a more complicated
refactoring, for a bug which is clearly not critical, therefore this
commit implements the simple and safe solution.
Also, we disable the focus outline to minimize the wrong expectation.
Seeing them kind of implied that one could update the selection with the
keyboard.
Note that the widget color_picker was moved from another addon to web/, without
any tests nor documentation.
OPW 2467369
closesodoo/odoo#67195
X-original-commit: 580456b6ab36d16195eae9ffd776ff245ecd936e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The formatTraceback function relies on _t to add the error message to
tracebacks, it was recently moved around while refactoring but it seems
that its dependency was forgotten and not imported. This causes the
attempt to call _t to crash, which will try to format the error, which
will again try to call _t and crash, until the browser itself crashes.
This commit fixes that issue by adding the required import.
closesodoo/odoo#67079
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
A previous commit (934e0896160272542dd00) modified QUnit to make sure we
can display better tracebacks in debug=assets mode. However, this
commit did not apply to errors coming from failing promises.
To fix this, we can simply keep a reference to the error in that
specific case.
closesodoo/odoo#67048
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
In Firefox, the error stack generated by anonymous code (example:
erroneous code in a template) is not compatible with the stacktrace lib.
The error stack could contain lines like :
"anonymous web.assets_common.js line 9786 > Function:442".
In order to make it usable by the stacktrace lib, we will remove
the words "lines", ">", "Function:442" to get:
"anonymous owl.js:1695".
Traceback:
Before:
Error: QWeb error: Invalid loop expression
anonymous web.assets_common.js line 9786 > Function:442
fn owl.js:1567
render owl.js:1617
renderFn owl.js:4595
__render owl.js:4391
__prepareAndRender owl.js:4379
__prepare owl.js:4325
anonymous web.assets_common.js line 9786 > Function:175
...
After:
Error: QWeb error: Invalid loop expression
anonymous owl.js:1695
fn owl.js:1567
render owl.js:1617
renderFn owl.js:4595
__render owl.js:4391
__prepareAndRender owl.js:4379
__prepare owl.js:4325
anonymous owl.js:1695
...
closesodoo/odoo#67020
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Purpose of the task is to improve the mobile UI and kanban view of
the service, contract, odometer, menufacturer and vehicle.
So in this commit,
- Remove the record link from odometer and service kanban view.
- Added the stage in service kanban view.
- Display the Expiry Date in red when contract is expired.
- Redirect to model view when we click on kanban card of the
manufacturer and add the properties dropdown to open the record
- Also improve the some ui for small screen
closesodoo/odoo#62292
Taskid: 2348332
Related: odoo/enterprise#14959
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
* hr, hr_holidays, im_livechat, mail, snailmail, website,
website_livechat
This commit removes `patchMixin` and improve `utils.patch`.
`utils.patch` now supports native classes and has a new parameter
used to patch class members.
`utils.patch` is now used everywhere `patchMixin` was and it must
be used to patch classes.
closesodoo/odoo#65967
Related: odoo/enterprise#16278
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Co-authored-by: ged-odoo <ged@odoo.com>
Since commit odoo/odoo@c96e3b96f3
the TouchEvent constructor was added to the test utils.
In FireFox (no touch mode) and Safari (desktop) this constructor
doesn't exist and so the test suite won't start anymore.
This commit, inserts TouchEvent constructor only when it's supported by
the browser. So now we can run the tests in FireFox and Safari again.
closesodoo/odoo#66846
X-original-commit: 296fd86ddf90cff8d5b8f095d0c51b1c5a8b59ca
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Signed-off-by: rfr-odoo <rfr-odoo@users.noreply.github.com>
Currently, When we load the Year view of the calendar then
the view is not properly scrolled top due to padding at the
top.
Calendar is scrolled to the current month but due to top
padding in year view it was not scrolled top when initially it
was loaded.
So in this commit, remove the top padding and use padding on month
so it will not have initial scroll when scroll to the particular month.
Set default calendar view to 'month'.
closesodoo/odoo#66811
Taskid: 2428655
X-original-commit: adbade3c1a000c476644e616d66af5cb982249cf
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Warning: this commit savagely patches qunitjs sourcecode. I know... I
feel bad.
Since we updated the way debug=assets work, we have a new problem in the
qunit test suite: the tracebacks displayed by QUnit are relative to the
bundle file, not the original file, which is annoying in practice.
There is really no good way that I could find to integrate with QUnit to
perform that task, so I had to do it the ugly way: modify QUnit from the
inside to use the StackTrace library to annotate the traceback with the
proper information.
closesodoo/odoo#66771
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, the module system logged module errors by displaying
the stack. Fun fact: the stack in Chrome does display the error message
(which is why nobody complained too much about bad error messages), but
this is not true in firefox.
Also, and this is a bigger issue, when we serialize the error stack like
this, we prevent the browser to apply sourcemaps, if any. Which means
that errors in debug=assets are not easy to understand.
With this commit, we display the raw error, which means that in
debug=assets, this will be nicely formatted by the browser when displayed
in the console.
Before this commit, the datetime range selection was lost when the quick create dialog was opened.
closesodoo/odoo#64948
Taskid: 2342252
Related: odoo/enterprise#15915
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit improves the calendar behavior.
* Before this commit, the invisible attribute were not evaluated in the calendar popover.
* Several alignment, label, improvements
taskid: 2342252
Before this commit, the way we managed the clipboard button in an error
dialog was the following:
1. crashmanager create an error dialog and give it the error information
2. error dialog does some processing to format error traceback and
display it
3. crashmanager wait for it to be ready, then will manipulate the dom to
add the clipboard button, by using the information it knows (NOT the
processed information bye the dialot)
This is obviously a mistake, so what we simply do in this commit is add
the clipboard button in the error dialog, so it has updated information.
Note that we also fix two other small issues:
- errors coming from promise crashes (unhandled rejections) were not
decorated with correct file information
- chrome traceback was not correct because it has some native
information that does not correspond to a stackframe
closesodoo/odoo#66660
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Let's assume the following scenario:
- have an action in target new (e.g. a form view)
- in the dialog, have an action/object button with confirm
attribute
- when clicking on that button, a confirm dialog opens
- if validated, the following action returned by the server
is again an action in target new
Before this commit, the confirm dialog remained in the DOM.
This issue occurred because it's parent wasn't correctly set (wrong
use of `this`), so when the first dialog was destroyed, the confirm
dialog wasn't automatically destroyed in turn.
OPW~2440712
closesodoo/odoo#66597
X-original-commit: 98f9cb4f692a15494cd8ef298673fe1c949c423c
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
before this commit: when there is only one page in the notebook tag and
there is a boolean field in form to show/hide that notebook page based on
invisibility attrs, if we toggle boolean field notebook hides, that's OK
but when we toggle boolean field again then notebook page is displayed but
it is not active and due to that content of notebook page is not displayed.
after this commit: when there is only one page in notebook and it has attrs
for invisibilty, when we toggle boolean field to hide/show notebook page
then notebook page as well as content is toggled.
task-2449053
closesodoo/odoo#66582
X-original-commit: a0b5ecd344d6ac79d8e4d194cfabf3d639259c73
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Since commit 2716828f25, the error dialog
has an additional JS lib dependency, which means that it may needs to
perform a request before it opens up. However, a test in the
crashmanager was only waiting for a next tick, which is possibly too
short for a network request.
So, depending on the network speed (and on the test order), this test
could fail. To fix it, we simply make sure that the test also wait for
the library to be loaded
closesodoo/odoo#66546
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, in sample mode, cover images might be displayed
in kanban views. It isn't what we want as those images are real
images from the database, not sample ones, but randomly linked to
the sample records (the id of many2one fields is randomly generated).
This commit tweaks the SampleServer to always set many2one fields
pointing to model 'ir.attachment' to false.
task-2368505
closesodoo/odoo#66381
X-original-commit: f7b2a5825e3786be53d04276af4c4c403b7a293e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The support for "active_test" context key has been introduced in c2918c1
However, the context key is ignored in many mocked ORM methods (if not all).
This commit adds support for the `search` and `search_read` methods.
Note: this is done to easily write some tests in odoo/enterprise#16363
and it might be usefull to test futures features (or fixes) using this
context key.
closesodoo/odoo#66393
X-original-commit: 0ad1c1631eb233b3e8f98b40f8c0813d0ad7acbe
Related: odoo/enterprise#16447
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Before this commit, the 'mounted' method of the ControlPanel in
the client report action was called twice.
It happened because the client report action updated the ControlPanel
before being actually mounted, so mounted was called once when the
traceability report was mounted, and once when the update was applied.
Ideally, this should not be an issue (this isn't an issue with owl).
However, in Odoo, we mix layers of Owl Components and legacy
widgets. In these situations, the above scenario isn't properly
handled (and can't be).
As a consequence, in mobile (enterprise), it crashed because an
handler bound in mounted (thus twice) was only unbound once.
This commit avoids the issue as the update was actually useless.
Steps to reproduces (Mobile):
* Go to Inventory (Stock)
* Open the "burger menu"
* Select "Products" -> "Products"
* Select one product in the list
* Click on the "Forecasted" ("stat button")
* Select one "SO line" (sale order) to go to the form view
* Go back to the previous view using breadcrumb
* Optional: Go to another app if the screen can't scroll (e.g. go to Sales)
* Scroll the view => Bug
closesodoo/odoo#66497
X-original-commit: d3854dbf7a6e0c0f9ac00c11716908bc175808d7
Related: odoo/enterprise#16507
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Before this fix, the extra button was out of the right edge of the
screen.
On desktop, m2o external buttons have to overflow over the right padding
of the parent element. This is done to avoid to reduce the size of the
input when the button appears (when a value is set).
But on mobile, there is not enough padding and we therefore prefer to
reduce the size of the field if an extra button should appear.
To fix this, we simply ignore these rules on mobile.
Note that the css selector that really cause this issue was the one
related to '.o_row' and the second one has no effect.
Steps to reproduce:
- Go to "Inventory / Operations / Scrap"
- Click on "Create"
- Choose a product and set UOM field
Related task-ID: 1929043
closesodoo/odoo#66463
X-original-commit: 2fc36e91d95b81f79d0a23f3958011c55a7ff105
Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
The recent change in the way debug=assets works (which now bundles all
files in a bundle instead of serving them statically) had a negative
impact on the stacktrace displayed in the error dialog in debug=assets:
it now display the bundle/linenumber instead of the actual file/line
number.
This is not a huge deal, most of the time, because the errors displayed
in the console display the correct information, and the debugging
process should work as before. But it can certainly be annoying in some
cases.
With this commit, we use the Stacktrace.js library to dynamically fetch
the sourcemaps and to decorate the displayed information with the
correct file and line numbers.
closesodoo/odoo#66318
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Let's assume a <groupby> node in a list view containing a button
with an invisible modifier referencing a many2one field, e.g.
```
<tree>
<groupby>
<field name="m2o" invisible="1"/>
<button string="do it" attrs="{'invisible': [('m2o', '=',
False)]}"/>
</groupby>
</tree>
```
Before this commit, the m2o field was correctly read, but it's
value wasn't processed by the model, so the modifier wasn't
correctly evaluated.
Issue reported on PR https://github.com/odoo/odoo/pull/65316/closesodoo/odoo#66330
X-original-commit: fa7a185663f21c1c4060765c8c137b296df3a350
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
In a4d170ad9 there were some improvment to not show event totally empty
on the day calendar view because of different style (font + padding).
The lower part of the text was still a little cut, this commit try to
improve this for week and day view mode by removing 5 additional pixels.
opw-2422700
note:
Also fix the fc-short for fullcalendar Odoo, we had this 2019 change:
fullcalendar/fullcalendar@e879c43
that made it not working without title (odoo use case), in 2020 it was
reverted when refactoring for 5.0:
fullcalendar/fullcalendar@7c7ce1eclosesodoo/odoo#66109
X-original-commit: b856d312be19b0fdf636600a76c4d9b427eedb7c
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
This commit adds a class to be able to show/hide
other fields depending on a checkbox status.
This class is needed to have this behavior on desktop but also
on mobile.
Related task-ID: 1929043
Before this commit the palette was rendered each time it was opened.
After this commit if the palette has already been rendered only the
selected color is being updated in the palette (and its colorpicker).
task-2439295
https://github.com/odoo/odoo/pull/65223
X-original-commit: 7f19f63b18bc7d17a393b3535492c7f90595ca39
Co-authored-by: Samuel Degueldre <sad@odoo.com>
before this commit: when searchbar has autocomplete and user press Tab key then
focus goes out of searchbar input while it should keep focus on searchbar so that
user can do search on other term.
after this commit: when searching on searchbar and pressing Tab key will keep focus
on searchbar input so that user can search again.
task-2393772
closesodoo/odoo#66239
X-original-commit: ae90842be8a87999e0cdbbf00b86b1bbf92992ce
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
before this commit: when there is a horizontal scroll in view say for example
kanban view where there are too many columns and user scrolls horizontally and
go to form view by clicking on any record and then come back to kanban view
horizontal scroll is not preserved and user is moved to scroll position 0
this is due to commit: https://github.com/odoo/odoo/commit/19eacf7d23c9413de4430a3422b5ed74b37ef242
after this commit: scrolling horizontally and then go to form view and come
back to previous view will preserve scroll position, we also consider case for
kanban view where there are too many columns and user click on 'Add Column'
user will be scrolled to new column element.
task-2418275
closesodoo/odoo#66230
X-original-commit: 171036aefe21799f7a791cc3cd73a7d249aa0b00
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The update of fullcalendar (ebce7719b) in 14.0 made #45881 not working
(they both happened in same month).
opw-2214445
closesodoo/odoo#65503
X-original-commit: 3ad005a49e44ce35800edcb8a178fc3544d99633
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Have grouped list with reference a m2o or a reference field
Select some records, edit them
Before this commit: the names of the reference fields and m2o disappeared
That was because the saveRecords function did not take into account a grouped list
manual forward port of #65999
After this commit: it works as expected
closesodoo/odoo#66043closesodoo/odoo#66175
X-original-commit: 8b6e86927941dce2018ea93f191b59856ea67e4b
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Have a list with multi_edit enabled
Have a widget boolean_toggle displayed on some field
Select some records to be in multi edit mode
Before this commit, the record on which the boolean toggle button was clicked was written
and then the multi edit feature was triggered and wrote on all the records
The first write is unnecessary and counter intuitive
After this commit, only the write with all the multi edited records is done
X-original-commit: 23fcaeda6830f2dc0de17337f9c3da8faf0338ce
before this commit: when form view have buttonbox or notebook tag and form does
not have sheet tag then form will have horizontal scrollbar in screen, this is
because we added scss mixin which always add negative margin of 32px because we
added mixin by considering form will have sheet tag and because of that when
form does not have sheet tag it shows useless horizontal scrollbar.
after this commit: if formview does not have sheet tag and form contains button
box or notebook tag then form will be displayed properly without unnecessary
horizontal scrollbar.
task-2411627
closesodoo/odoo#63961
Related: odoo/enterprise#15519
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Because of the way Odoo works at its core, we do not know before hand
which files will be loaded as an asset in the browser, because it
depends on the installed Odoo addons. This is why it is historically
difficult to integrate Odoo with standard JS tooling, and this is why
Odoo needs to use a custom javascript module system.
However, there is a way to use native JS modules (and gain all the
benefits from it: IDE autocompletion, ease of refactoring, intellisense,
...): we can write JS as native JS modules, but convert them at runtime
into Odoo custom modules. This is exactly the strategy applied by this
PR.
This has a lot of benefits, but there is a downside: we can no longer
serve statically JS files in debug=assets. This would be a dealbreaker,
if we did not have sourcemaps.
So, this PR introduces
- support for native JS modules
- add a specific asset controller `/web/assets/`
- generate sourcemaps (for debug=assets mode)
Note that part of the complexity of this work is cause by the debug=assets mode, where we need to have a fixed route for the debug asset bundle (so we do not lose breakpoints when debugging), but we still need to safely regenerate the bundles whenever the JS code is modified.
closesodoo/odoo#63177
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
The previous work on adding support for native JS modules needs to adapt
some existing files, which have an incompatible name (with a '/').
Also, we convert a few JS file in /web to the native JS module system,
to show that it can work.
Part of PR 63177
Co-authored-by: Simon Genin (ges) <ges@odoo.com>
with this commit, we fixes UI glitch on image widget when image is too small,
when hovering over too small image Edit and Delete icon will ne displayed but
it is displayed with glitch, so to avoid that glitch we added min-width to
icons div.
task-2376452
closesodoo/odoo#66077
X-original-commit: 7aaad8480dde97b2d04b4148e4e54beb57b7f141
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, select the "No" option of a boolean field in the
search bar autocompletion menu would crash.
closesodoo/odoo#66058
X-original-commit: ad5d642c455d3215857f25e0d69c593324178d29
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit:
* When a o_status class is set on a label element it is not well displayed
in project.task_type_edit, event.event_stage_view_form and helpdesk.helpdesk_stage_view_form
since this commit has been introduced 288b24cbdf
After this commit:
* o_status labels are correctly displayed.
task-2453268
Related PR: odoo/enterprise#16173closesodoo/odoo#66048
X-original-commit: 6bb64722a11fb6c7ba216aff5ae1c11159c92559
Related: odoo/enterprise#16300
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, clicking on the copy button on a
CopyClipboard field triggered the quick edit.
Now, clicking on the copy button won't trigger the quick edit
but clicking on the field's value will.
task 2455358
closesodoo/odoo#66035
X-original-commit: 050efe415ba7821305390be125ab3a9b059f3273
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The hex and rgba inputs styles were not matching other inputs ones when
focused.
closesodoo/odoo#66057
X-original-commit: 850581c49c84042bd5b40b632798c56789a1c60e
Signed-off-by: Samuel Degueldre <sdegueldre@users.noreply.github.com>
Before this commit, the form renderer would call "on_attach_callback"
only when the whole _render process was over. The problem was that this
process is asynchronous and this callback should be invoked as soon as
the widgets are appended.
As such, any asynchronous operation is performed before appending the
content in a new function "__renderView".
Task 2346540
closesodoo/odoo#65991
X-original-commit: 953fb092636b9919aaa6c6a6cfaffd003ba951d5
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
When copy-pasting text from rich text, the content may contain
unwanted formating instructions. Unsure it's escaped to avoid
propagating the content.
X-original-commit: 42f596a5b50e530fd5dc3f8c2939bc5b4e5921af