Commit Graph
2735 Commits
Author SHA1 Message Date
qsm-odoo 05d17089c4 [FIX] web_editor, website: review default palette system
Before this commit, this was done:

1) Primary variables (app order):

(a) web_editor: define palettes (color + theme + gray), only 1 empty
                one. Mark the first ones as the selected ones.

(b) website: fill all defined palettes with the website-related
             color key and values (body, menu, logo-height, etc).
             + define "website values" palette.

2) Secondary variables (reverse app order):

(c) website: merge the user palettes on top of the selected palettes
             (so user values overriding values added in (a) and (b)),
             the resulting palettes are added in palettes lists and the
             selected palette numbers are set to select those ones.
             + final selection of "website values" palette.

(d) web_editor: final selection of the selected color palette amongst
                the color palettes.

--

The problem with all of this is that the definition of palettes
in themes (occuring between step (b) and (c)) never received the
website-related color key and values of step (b) and were thus forced
to redefine all of those by themself even if they wanted to use the
default website one.

This commit changes the system so that step (a) and (b) now define
"base" palettes (color, theme, gray, website values) and step (c) and
(d) now merge the final selected palettes with those "base" palettes.
This is in fact theoratically more efficient and allows to not force
themes to define every possible palette value we might introduce.

closes odoo/odoo#47097

Related: odoo/design-themes#216
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-07 11:09:36 +00:00
fja-odoo acdf3cf7f5 [IMP] website: add redirect icon to we-urlpicker
Add an icon to open the url the we-urlpicker currently holds in a new
tab.

part of: https://github.com/odoo/odoo/pull/45397

task-2197008

closes odoo/odoo#45397

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-06 16:25:34 +00:00
Jeremy Kersten 67868583ac [FIX] web_editor: avoid traceback on error
Revert of old editor (35b6182) has reintroduce code invalid.
Now the data is wrapped in message (f8fe314e7)

Remove guarded that raise a warning, it is the default behavior now.

closes odoo/odoo#46870

X-original-commit: 9d3a2903fd7bf946c033ec78e959e3ed86754845
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-04 12:34:31 +00:00
Cocographique 9800c89913 [IMP] website: improve images and layout of References snippet
Part of https://github.com/odoo/odoo/pull/46773
task-2191381
2020-03-03 16:12:23 +00:00
qsm-odooandCocographique 219b29c4e2 [IMP] website: improve edition of Showcase snippet
Also no more scss required for the snippet.

Part of https://github.com/odoo/odoo/pull/46773
task-2191381

Co-authored-by: Cocographique <nmi@odoo.com>
2020-03-03 16:12:23 +00:00
Cocographique 0730d4793a [IMP] website: adapt layout and styles of Text Highlight snippet
Part of https://github.com/odoo/odoo/pull/46773
task-2191381
2020-03-03 16:00:04 +00:00
Cocographique 266446284e [FIX] website: fix default indicators carousel style
Part of https://github.com/odoo/odoo/pull/46773
task-2191381
2020-03-03 16:00:04 +00:00
Thanh Dodeur 560e3af48a [IMP] web_editor, website: adds custom code to head and footer
This commit adds two buttons on the Theme side menu that allow users to
add custom XML to the head and to the footer of the website.

Part of #44633
task-2168391

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-28 13:48:39 +00:00
Romain Derie 4c57e5bb30 [FIX] website: typo in toastr 'Congratulations'
Missing a `s`. Congratulation > Congratulations (fdba9a878f).

task-2144335

closes odoo/odoo#46380

X-original-commit: 7d743029dde14fac18fb3b5331c43fe1d940a772
Signed-off-by: Romain Derie <rdeodoo@users.noreply.github.com>
2020-02-26 16:56:14 +00:00
Romain Derie 4206c1f225 [FIX] website: don't load ir.ui.menu in frontend until needed
Before this commit:
When logged in and navigating on a frontend page, the accessible `ir.ui.menu`
would be loaded in qcontext.
Loading those menus performs alot of SQL request, up to ~2.000 requests on big
databases such as Odoo.com for an user with a lot of access rights.
This is not a problem on low traffic website as this is ORM cached, but when
there is a lot of traffic, the cache is clear very often, thus this code only
is adding a lot of requests for no reason most of the time as the user is just
navigating without any intention of opening the application menu.

Note that this qcontext computation in frontend was pointless in enterprise as
the applications menu in frontend redirect to the backend without using it.

This commit removes that computation from the qcontext. The menus will be
computed and loaded only when the user really needs it, when he is about to
open the application menu.

closes odoo/odoo#46127

X-original-commit: 471ddf85ce619961e46fb281bf721968ff298d3b
Signed-off-by: Romain Derie <rdeodoo@users.noreply.github.com>
2020-02-24 15:43:32 +00:00
Romain DerieandJeremy Kersten 4eafd78847 [FIX] web_editor, website: handle date edition in all lang and format
Before d00c0e317, `Datetime` fields would be editable in frontend but would
have unexpected results, especially in non-English languages, for when the
english lang format had been changed.
It would also crash when saving non-English strings, such as `Lundi`.
For more details, see https://github.com/odoo/odoo/pull/44484#issuecomment-586850490

Since d00c0e317, only date displayed in lang format would be editable, which
case is Event page in Odoo 12.0. Everywhere else, the format is changed for a
nicer layout, either with `widget=XXX` or `t-options=YYY`, such as:
`<time t-field="record.date" t-options='{"format": "MMM d, yyyy"}'/>`
`<time t-field="record.date" t-options="{'time_only': 'true', 'format': 'short'}"/>`

When a date parsing crashes during editor save, the problem is not only that
the date can be saved, but the whole changes of the page are lost, as they
won't be saved either.

This commit attempts to fix every languages cases, regardless of the website
lang or user lang.
To do so, we store the date in the user lang format in a data attribute of
every date field in the DOM. Once the field is clicked (to edit probably),
that value will replace the one displayed according to the widget/options.
That way, dates will always be sent to the server in the user lang format,
avoiding any possible mismatch.

This whole fix apply to `Datetime` and `Date` fields.

opw-2183055
Closes #44484
Closes #45555
Fixes #44047

closes odoo/odoo#45725

closes odoo/odoo#45997

X-original-commit: c0db9bb8027ff926c619aebe6e0a5cdd05808232
Original-signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Co-authored-by: Romain Derie <rde@odoo.com>
Co-authored-by: Jeremy Kersten <jke@odoo.com>
2020-02-21 18:57:59 +00:00
Ravi Singh f47b142a7a [FIX] website: debounce link dialog inputs to avoid useless page loading
When we edit a link on the website, the target page is loaded to find
the anchors. This occured at every typed character which was obviously
not efficient.

task-2187754

closes odoo/odoo#45831

X-original-commit: 06ae0b7b00c837733a9c67772007aee6712b246e
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-20 14:51:13 +00:00
Samuel Degueldre b293ccc7c3 [IMP] website, web_editor: option to add columns on snippet without any
In the previous snippet cleanup, a lot of superfluous row > col were
removed in favour of having the bare content directly in the section,
this streamlines the interface and prevents having many useless UI
elements.

At the same time however, there are some snippets on which you might
want columns so that you can pull the content off-center and give the
block a background color independently of its containing section
(namely: the cover, title and text-block snippets)

this commit adds an option to add columns on those snippets (and remove
those columns completely if they're no longer wanted)

task-2120360

closes odoo/odoo#45712

X-original-commit: a44bfc4f7bba16d700650ecc2369fa1445ecbfb9
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-19 14:48:55 +00:00
Samuel Degueldre 416500f6e3 [IMP] web_editor, website: add callback to editor clone and remove
We recently transitioned to async option methods, this allows us to have
better control on the order of execution in the edition workflow, and
among other things, keep the editor's UI in sync with the current state
of the DOM.

However, some snippet options (such as the number of columns option)
need to remove or clone portions of the DOM, and as such, trigger the
onClone or onRemove methods of the snippets contained in that portion if
applicable. Because these methods are defined on other options, we first
need to make sure all the snippetEditors for this portion are created,
which is asynchronous.

This commit adds support for an onSuccess callback to the
'clone_snippet' and 'remove_snippet' event handlers, such that options
can choose to be notified when the work has been done, allowing them to
wait for it before proceeding.

This commit also adapts the layout_column snippet option to make use of
that new feature, and remove code that was used as a workaround before,
ie: precomputing the expected number of columns after the clone/remove,
and using that number to adjust the width of the columns and update the
UI. We can now just wait for the clone/remove, and use the real number
of columns currently in the DOM.

closes odoo/odoo#45343

X-original-commit: c159d58ce9cfca4a44f159b18eb10d1138977e23
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-13 18:02:48 +00:00
Cocographique d0d3679daf [IMP] website: remove uppercase style on buttons in product list snippet
Part of https://github.com/odoo/odoo/pull/44980
task-2182907
2020-02-13 15:10:06 +00:00
Cocographique 2fa0f4bdb2 [IMP] website: review section margins and icon color in showcase snippet
Part of https://github.com/odoo/odoo/pull/44980
task-2182907
2020-02-13 15:10:06 +00:00
Romain Derie 968638aa1a [FIX] website: prevent undefined in publish toastr
d92f76592c introduced a toastr when publishing a record.
It was designed for the topbar publishing toggle button, but some other
templates ended up also using that feature.
As those templates were missing `data-description` which contains the model
business name, it would show `You've published your undefined`.
This is only related to a very few places having a publish button inside the
page.

This commit fixed that by ensuring every publish button template have the
necessary code.
Also, a fallback is added in case tha `data-description` is missing somehow.

task-2191735

closes odoo/odoo#45141

X-original-commit: 4ab6e36b739060eb16e97eac502fd087a072abf3
Signed-off-by: Romain Derie <rdeodoo@users.noreply.github.com>
2020-02-12 07:53:51 +00:00
Bhavita Bhattandjpr-odoo 4e340cc5f0 [IMP] website: improve code for duplicate and new page
in this commit, throw the wizard to enter the new page name, while duplicating
page button and new duplicate page button added in the page properties dialog.
updated the test case related to duplicate page along with duplicate menu
consideration.

task-2088546
closes #40085

Co-authored-by: jpr-odoo <jpr@openerp.com>
2020-02-11 15:30:10 +00:00
Bhavita Bhattandjpr-odoo 4e162a4e75 [IMP] website, website_link: improve frontend config screens
Following things are done in this commit:
1. changed some labeling and string for more readable and helpful to the user
2. added extra width to the text box
3. added publish/unpublish option for mobile view.
4. track page option auto-activated for any new page,event,job offer,course,
   blog.

task-2088546
closes #40085

Co-authored-by: jpr-odoo <jpr@openerp.com>
2020-02-11 15:30:00 +00:00
Samuel Degueldre 7cc6fdf365 [FIX] website_blog: fix next post loading animation
Previously, when clicking on the next post at the bottom of a blog post,
a spinning loader circle would always appear in the bottom left of the
screen in an incorrect position. This commit removes that spinner.

This commit also adds support for the half-screen cover size, which
until now would animate as though it was full screen. All in all this
just makes the transition animation much more seamless, which was the
point of having it in the first place.

task-2166790

closes odoo/odoo#44198

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-10 17:03:33 +00:00
fja-odoo 1ebc4661dc [FIX] web_editor, *: unblock editor after any option dialog closing
*: website

Some dialog promises were not resolved on close, blocking the editor.

closes odoo/odoo#44953

X-original-commit: 20f97470cdc59a817526305806e94b222f26a0f2
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-10 10:54:02 +00:00
qsm-odoo ef03b02af6 [FIX] web_editor, website, *: editor notify method must be synchronous
* website_form

Some technical explanations:

The method became async because the `setTarget` call which was in there
became `async` since it performed an UI update. As this method being
async is a problem with some snippets, it is best to keep it synchronous
for now. For this, the UI update in `setTarget` is removed and becomes
the responsibility of the caller. Nothing relied on it except one code,
which is solved by calling `onFocus` before the UI update which occurs
on focus, as it is already the case in master.

closes odoo/odoo#44850

X-original-commit: 53bba0660237abbcadc9675fd89ec94a2a31e130
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-07 12:43:25 +00:00
Samuel Degueldre 91fb0d3020 [FIX] website: fix number of column option broken layout
Normally, the number of column option adjusts the width of each column
after changing their number so that they always fit in one row. In
previous versions, the sequence of the code was correct thanks to
jQuery's deferreds executing their then callbacks synchronously if the
promise was already resolved. However, native Promise objects always
put their then callbacks in the microtask queue, and this was resulting
in the column width classes being recalculated before their number had
actually changed.

This commit fixes that by calculating the width of the columns based on
how many columns there will be after addition/removal. It also
introduces a new field on the option that is used to update the UI so
that it displays the correct number.

closes odoo/odoo#44849

X-original-commit: 58804d6ea375629b07748bc442eaccc401c56d1b
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-07 12:34:06 +00:00
qsm-odoo 6fb4ed44a0 [IMP] website, *: make theme custo options act as simple snippet options
* web_editor, theme_bootswatch

Instead of having an entirely dedicated system for theme options in a
third tab of the left panel, those theme options are now simple snippet
options. See the customizeWebsite generic method.

This allows to make any option available in the third tab or on any
meaningful element like the header or the footer. This also allows to
take advantage of all the features of the left panel: dependencies,
visibility update, etc.

Note: same as before, those changes do apply the color/size/layout
immediately on the website, even if not saved. Changing that behavior
is complex and might be the job of another task.

Part of https://github.com/odoo/odoo/pull/41166
task-2088298
2020-02-05 23:49:53 +00:00
Samuel Degueldre 3bb666c226 [REF] website, web_editor: move theme customization to edit mode
Previously, theme customization was done through a modal dialog in the
website module, this was not very user friendly since the rest of the
customization for the website design was done from edit mode, meaning
the user had to exit edit mode to customize things such as theme colors
or fonts. It was also rather confusing to have these seemingly related
things in completely unrelated places.

This commit moves all of the options that used to be in the theme
customization modal into a new tab in the editor's left panel.

This commit is mainly just about rendering the old modal as a third left
panel content. See next commit for deeper changes.

Note: same as before, those changes do apply the color/size/layout
immediately on the website, even if not saved. Changing that behavior
is complex and might be the job of another task.

Part of https://github.com/odoo/odoo/pull/41166
task-2088298
2020-02-05 23:49:53 +00:00
qsm-odoo b3e9bfbac0 [REF] website: reorganize snippets.options.js file
Part of https://github.com/odoo/odoo/pull/41166
2020-02-05 23:49:53 +00:00
Romain Derie 2b0e88a6f0 [IMP] website: allow user to change cover color
Before this commit, the covers from event & blog, which shares the same
template, would be set a fixed bg-primary color which couldn't be
changed.

This commit adds the possibility to change that bg color.

task-2144335
2020-02-04 13:06:08 +00:00
Romain Derie 8fc61fd2b4 [REM] website(_blog/_event): remove filtercolor option on cover
task-2144335
2020-02-04 10:59:22 +00:00
Romain Derie d92f76592c [IMP] website(_blog/_slides): show a toaster when a record is published
This commit shows a toaster when publishing a record through the toggle in the
topbar.
The `_description` field is used to do that, as it is supposed to contains a
'business oriented' descriptive name, see task-37311. Indeed, this field is
used in studio and in mail templates.

task-2144335
2020-02-03 15:25:20 +00:00
Romain Derie 9725e61969 [IMP] website_blog: make footer oe_structure placeholder less visible
task-2144335
2020-02-03 15:25:20 +00:00
Romain Derie 1ecdb5b6b8 [IMP] website(_blog): remove several border in edit mode
This commit removes some noise of the UI in edit mode, to have a more easy
interface for onboarding blog creation.

task-2144335
2020-02-03 15:25:20 +00:00
Romain Derie d64eb2981f [REM] website, website_blog, website_event: remove text size on cover
task-2144335
2020-02-03 15:25:20 +00:00
qsm-odoo 5a6165da84 [REF] website: remove useless edit mode css rule
Part of https://github.com/odoo/odoo/pull/44500

closes odoo/odoo#44500

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-02-03 14:16:54 +00:00
qsm-odoo 8cd6f089dc [REF] website: move edit mode s_popup rule into the right file
Part of https://github.com/odoo/odoo/pull/44500
2020-02-03 14:16:43 +00:00
kma-odoo d98d563b51 [FIX] website: keywords list appear correctly in Optimize SEO dialog
As the keywords are added in the DOM and its' table is also toggled at
the same time, we've to put the toggling of the table after the keywords
pushed in to the DOM.

task-2063206

closes odoo/odoo#44374

X-original-commit: 09c183ab501f834666e9b292ddb9839e2f3ecc1c
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2020-01-31 12:03:36 +00:00
Benjamin Vray 9fb2dad97c [IMP] website: add a new snippet table of content
New snippet table of content with a sticky navbar with links related to
headings in content.

Part of https://github.com/odoo/odoo/pull/40690
task-2118980

closes odoo/odoo#40690

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-30 16:57:43 +00:00
Benjamin Vray 8d3d32ec44 [IMP] website: set anchor offset by fixed header height
When you click on an anchor link, this commit ensures that the scroll
is in the correct place if there are fixed menus on the page.

Part of https://github.com/odoo/odoo/pull/40690
task-1894456
2020-01-30 16:55:31 +00:00
Romain Derie 3028e9a864 [IMP] website: introduce cookies bar on website
With this commit, it is now possible to activate a cookies bar on a
website through the res.settings.

The cookies bar can be edited in the frontend by entering edit mode.

The cookies bar will appear until the user clicks on 'I agree'.

Part of https://github.com/odoo/odoo/pull/41294
task-2087003

closes odoo/odoo#41294

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-29 14:53:38 +00:00
Romain Derie 3bce5277e3 [IMP] website: add consent duration on s_popup snippet
This commit introduce a new snippet option for s_popup to control the
consent duration in days. This value will be used to know if the popup
should be shown or not.
If the user close the popup, it won't be shown until the consent
duration is over.

This will also avoid popup to be shown on exit (display mode) more than
once. Indeed, every mouseout of the screen (changing tab, changing app,
alt tab etc) would show the popup, as well as page navigation.

Part of https://github.com/odoo/odoo/pull/41294
task-2087003
2020-01-29 14:53:28 +00:00
Romain Derie 506d293714 [FIX] web_editor, *: correctly find o_snippet_invisible
*: website

This commit is a safety nest to ensure `o_snippet_invisible` will be
found, even if somehow they appear as one of the editable area elements.

It might be the case with some refactoring, as it was the case between
404fa8164 and 83d99941c, in which case, the step to reproduce were:
  - Add s_popup snippet into the page
  - In the options, select 'Show On All pages' -> It moves to footer
  - Now save and enter Edit mode again
  - The invisible element (popup in this case) is in the DOM, the widget
    is working fine but it is not retrieved as an invisible element,
    thus not possible to edit it

+ lint/dead code

Part of https://github.com/odoo/odoo/pull/41294
task-2087003
2020-01-29 14:52:23 +00:00
Jason Van Malder b266c58d56 [FIX] website: fix first/last process steps lines not showing after edit
First & last lines are on `i:after`. After editing, the i is replaced by
a span, so the line disappeared.

See https://github.com/odoo/design-themes/commit/cae0a546cb8e671cc2797bf975413bac746a2b08
which is the original themes commit.

opw-2177464

closes odoo/odoo#44082

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-28 11:00:42 +00:00
qsm-odoo 766e43a0d3 [FIX] website: prevent duplicate of facebook snippet after CTRL+Z
See https://github.com/odoo/odoo/commit/eb4aac3afaceb20c745f3bae0dd5142c1d2a2e1e

task-2117636

closes odoo/odoo#44048

X-original-commit: a00d095ab9d8fc30c78fcaf17c0e5b66a3c04bb0
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-28 09:46:42 +00:00
qsm-odoo 346a7ca5d4 [FIX] website, *: quick review of new snippet thumbs
website_form, website_twitter

Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo 09249206ed [MOV] website: add s_product_list snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo 1c2eafaad8 [MOV] website: add s_color_blocks_2 snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo 0307677b1f [MOV] website: add s_badge snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo bc6e2e4983 [MOV] website: add s_blockquote snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo fb9aab745b [MOV] website: add s_progress_bar snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo a74cd7ad4f [MOV] website: add s_text_highlight snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00
qsm-odoo 34a8199cfe [MOV] website: add s_process_steps snippet from themes repo
Part of https://github.com/odoo/odoo/pull/42937
task-2088157
2020-01-24 13:02:02 +00:00