Since the recent fixes on multi website, the customization modal
is restored but is a lot slower the first time we use it (around 20sec
to save an option on my machine). This was because when we change an
option, all the others options are sent to the server to be (re-)saved
and, on the first time, the multi-website system has to duplicate them
all to make them website-specific.
Now, we only enable/disable views which are modified by the user.
The write method did not work properly for views anymore as soon as it
was called on a multi-records recordset which contains at least one
view which is not website specific. In that case, it used the cow
system for that view (and thus created a specific copy)... but forgot
to continue the write method for the other views, leading to strange
results.
The code used the xml_id field instead of the key field at some point,
so the modal was not fetching the proper views.
This commit also removes the useless code in there.
Before this commit, extra_info was never considered enabled since it was
checking the original view and not the current website view.
By default disabled, when you enable the view, multiwebsite duplicate this
view to enable it for the current website.
+ fix redirect to kanban adress after editing the billing address instead of
the step 'choose your shipping address'
task-1878245
In bootstrap 3, label was in bold by default. And we use label-optional to make label normal.
Update sass to have same behaviour:
required field in bold
other fields in normal
task-1878245
When the user chose a very wide logo for the website navbar, it
overflew over the menu items (making the "+" feature look broken).
This in fact occurs since commit https://github.com/odoo/odoo/commit/4bc79da943c71e762e1f6dedbe3a641042bfef3f.
Its goal was to avoid top menu flickering due to that "+" button
feature. To do that, menu items were hidden with an height of 0 during
loading, then, once the correct number of items needed for the "+"
feature was computed, they were made visible to the user. Another
problem was due to the logo image loading. When it is not loaded yet, we
cannot properly compute the number of items which is needed. To solve
that problem, we fixed the size of the image container instead of
setting the height of the image itself.
But fixing the size of the image container only created a new bug: very
wide logos overflow this container. This commit solves all the problems:
1) The height of the image is set to be equal to the navbar links.
2) The height of the navbar is not forced, meaning that if the user
decides to change the height of its logo to go against (1),
everything will be adapted accordingly.
3) During loading, the menu items are still 0px tall, hidden and made
visible once the "+" feature is enabled.
4) The "+" feature is only enabled once all the navbar images have been
successfully loaded.
task-1878245
Revision on https://github.com/odoo/odoo/commit/ec8c505bc1c9ec21939e9ffef53a9cc6f63f30c7
The commit above changes the way threads are rendered: the template
now uses a thread object, instead of a list of messages.
However, it was not handling messages that have been filtered from
the searchview. As a result, it was not possible to filter messages
at all.
This commit re-adds the possibility to filter messages, by providing
information on the domain of the thread in the template.
Task-ID 1877502
Before this commit, the search option buttons were not
hidden when clicking on the zoom-in/zoom-out button next
to the searchview.
This is due to updating the control panel with the list
of buttons as the searchview buttons, instead of the
container. Since the visibility of the searchview buttons
is defined on the container, the toggler button and the
search view options lost synchronization.
This commit fixes the issue by providing the container
that is shared between search option buttons.
Task-ID 1877502
Before this commit, only thread windows in the backend had the
method `getID`. However, it should also be the case for the thread
windows in the frontend (website livechat), as the template of any
thread window makes use of this method.
Before this rev., there was a race condition making some tours
randomly fail on runbot, when the following steps occurred in that
order:
- load webclient
- as soon as the menu is ready and visible, click on a root menu
which thus leads to a doAction
- in the meantime, an RPC is done by the webclient to retrieve
the (optional) default action of the user (if there is no
state in the url, which is the case for tours in general)
- when that RPC returns, this action (if any), or the action of
the first menu is executed, thus leading to a second doAction
- the ActionManager using a DropPrevious, the first doAction is
dropped and thus the action linked to the clicked menu is
never shown, making the tour fail
This rev. uses the state of the ActionManager's DropPrevious to
prevent the default action from being executed if another action
is already being executed, thus removing that race condition.
Note that this fix is temporary, as the community webclient is
currently being refactored.
This commits add a container to make row full width, it also use bs4 classes to
make the content centered.
It also clean useless DOM.
Task-1878245 (chatter)
As an `form-group` can contains element having `form-control` class and other
not having it, we should not force height on `form-group` elements.
Typically, we could have:
div.form-group
input.form-control
button
Forcing height only on `form-control` will make the input thinner than the
button.
We have JS which tooks care of customizing the color and background
options of .carousel elements so that the active carousel item is
edited instead. The recent snippet refactoring added those options on
.carousel-item elements directly, so that slide and carousel options
are separated in the customize menu. This however made the options
complex to use and some of them impossible to use. This also added color
and background options on non-snippet carousels like for the products in
the shop, which was not meant to be. This commit goes back to the old
system for now.
Note: using "[class*='s_']" as a selector to match snippets is not
correct as it matches the elements whose classes contains 's_'... and
in our case the body was matched because it has the class
'editor_ha*s_*snippets'. A proper way would be to use this selector:
"[class^='s_'], [class*=' s_']". But even then, this is not really a
good way.
task-1878245
The menu item dialog is an extension of the link dialog where all the
.form-group elements which contain a .link-style option element are
removed. A new link style option was recently added but with the wrong
class, preventing it to be removed for the menu item dialog.
task-1878245
By default, all btn colors are suggested in the link dialog (alpha,
beta, gamma, delta, epsilon, link, primary, secondary, success, info,
warning and danger). In lots of themes (and the default one), primary
= alpha and secondary = beta, which led to having two suggestion with
the same apparent color.
A new system was introduced to automatically remove the duplicates...
but this system also removed the button preview as it considered it to
be a duplicate.
This commit also adapts the preview to BS4.
task-1878245
The calendar view does not make many sense for timesheet. Moreover
recording timesheet from it is strange since there is no end date
on the timesheet model.
Removing this view avoids confusing for users.
Task #1883326
This commit redesigns all portal screens, improve bootstrap compliance
and increases maintainability. See sub-commits for details.
Closes https://github.com/odoo/odoo/pull/26849
* account, project, purchase, sale, website_crm_partner_assign
- Create a single template to be used for all doc's entry in order to
simplify maintenance
- Make the entire entry clickable using bts4 classes
- Fix an alignment issue between title and badge
Empty space were used to compensate the icons size.
Unfortunatly icons may have different sizes and the surrounding text
barely match the empty space provided, causing misalignment.
Rev. db9b91ff removes a use of a mutex where it could end up in a
deadlock situation (and where the use of the mutex wasn't
necessary). However, it caused an issue as the following scenario
didn't work anymore:
- in a form view with a one2many with fields A and B (required),
with an onchange on A setting B,
- add a row and set a value for A,
- click on 'Save' directly (before the onchange RPC returns)
- whereas it should wait for the onchange to return before
trying to save, it tries to save directly but faces an unset
required field, and displays a warning to the user.
The reason is that, before saving, the FormController asks all its
widgets to commit their value (through a call to commitChange).
This call was, prior to db9b91ff, done in the mutex. The onchange
RPC being itself done in that mutex, we thus waited for the
onchange to return before calling commitChanges. After db9b91ff,
since there was no longer a mutex, commitChanges was called
directly, and the editable list returned a warning as one of its
required field was unset.
This commit ensures that commitChanges is called once all onchange
RPCs are done, by waiting the mutex to be idle.
Before this rev., if the user clicked on a tag to open the color
picker, and then clicked in the dropdown, but not on a color, the
color picker closed itself, and it was no longer possible to open
it again.
This issue came with the migration to BS4 and its following fixes.
As the color picker is now a classical BS dropdown, it closes
itself automatically, so we don't need to manually close it on
focusout.
Task 1878254.
Since 6dc37ee461 a d-none class was added to hide the menus in the
navbar during the start of the navbar. A timeout was set to mimic the
old behavior and let enought time to bind events on menus.
When the project app was installed alongside with all other apps on the
runbot, there was not enough place in the navbar. This resulted in a
race condition at the begining of the project tour.
With this commit, the d-none class is immediately removed and then the
menu are started (binded to events) before the tour has the hand to
continue its next step.
The view 'res_config_settings_view_form' doesn't exist in the module
l10n_be, so as the field wer are referencing in the xpath is added in
module account, we inherit 'account.res_config_settings_view_form'
instead.