Called by click or changes with enable or disable.
Called only one time by selection.
Receive all changed inputs.
For e.g.: allow to the designer to use this method to open modal or other option.
In some case margin could be applied via CSS and not via mb* classes
(e.g several themes with different aspects but a shared snippet). This
commit allow this if custom CSS margin matches a CSS mb* class value
(currently 0, 4, 8, 16, 32, 48, 92 and 128).
* don't duplicate fa classes needlessly,
* keep img-* classes which may be used on icons with a background,
* copy overlay when we transform a tag to a span
* listing of modules in website already bypassed session user
* altered authenticated endpoint so it does the same
* sudoed a few read accesses & name_get in groups
* other accesses are list/form views, menu only accessible to
system_user
* new-API-ified some calls & unified listing of installed modules
1. A menu with `/page/website.***` should be flagged as `active`
if the current url is `/page/***`. This is a retro-compatibility
patch for c9d41679fb, so the
menu is marked as active without having to rename it, by
removing this `website.` thing.
2. If you defined two menus with as url `/page/test` and `/page/test2`
Both menus were flagged as `active` when you browsed the url
`/page/test2`, because it started by both menus urls.
Fixes#3059Closes#3070
In the top menu bar, the `active` class is set when the
menu url matches the page url (the url in the browser url bar)
A while ago, we made so all urls
`/page/website.***'
were automatically redirected to
`/page/****`
Therefore, if the menu url still contains this `website.` prefix,
the active class wasn't set on it, while it should.
Fixes#3059Closes#3070
When saving a template in version 8.0, html would be saved as it should
be displayed once on the site. In particular, if some text should be
escaped once send to the browser, it will be saved as such.
But when rendering, a text node content is unescaped two times:
* for translation which seems wrong since we already use .text of a node
which already escaped it, doing it one more time is bad,
* when rendering the template, since the html template is stored in xml,
This commit remove superfluous unescaping for translation, and add an
escaping when saving the changed template content.
closes#7967
opw-646889
When dropping the snippet "Newsletter Popup", a modal appeared to choose
the newsletter. Once the button "Continue" was clicked, the modal was not
hidden and then it was impossible to scroll.
Since saas-6, all snippets should start by a s_, so we can know exactly what is
the current snippet, and retrieve the slide from the drop-snippets bar.
If none snippet match, we use the old method which consists to find the snippet
which have the biggest intersection of class betwwen dropped snippet, and all
snippets in drop-snippets bar.
A other way without update the JS code will be to had many fake class in the
snippet declaration and in the snippet code to be sure that it match the right
snippet.
Pasting from the website to the website could for example copy
t-field="..." which then would easily add an error if e.g a field
is copied to an area where it is not available.
This fix strip the data-oe-... attributes of nodes added to the DOM
when pasting.
closes#7653
opw-644968
* Correct inheritance of async method
* Correct calls to do_hide/show
* Fetch the template in `willStart`
* Correct bootstrap structure for the layout, remove useless branding
and dom depth
* Each planner page is now in its own bootstrap grid
* Compatibility between both webclients