Commit Graph
244 Commits
Author SHA1 Message Date
qsm-odoo 229fab5fa0 [FIX] web_editor: do not delete empty .oe_structure element
If a snippet contains a .oe_structure element inside of it, it allows
the user to drop other snippets in that location. The web_editor
contains code which removes all empty parent of an element being
deleted. This is done so that, for example, when the last col of a
3-col snippet is removed, the whole snippet is removed.

However, there was an exception to this rule which was not considered,
if one of these empty parent is an .oe_structure, it should not be
removed.

Note: the only snippet which does this is the parallax snippet.
2016-11-03 16:45:27 +01:00
Nicolas Lempereur 76be5eed44 [FIX] web_editor: don't paste two times
When pasting, the paste event is cancelled and done back with the
corrected data.

This works fine on firefox, but this can have unwanted results on other
browser like pasting two times or copying the end of the line at the
beginning.

This commit replace completely the summernote functionality with our
small implementation of pasting corrected text.

closes #14043
opw-690814
2016-10-31 13:27:00 +01:00
qsm-odoo 5f98040430 [FIX] website, *: properly process saving from editor dialogs
* web_editor, website_blog

Since recent refactoring, web editor dialogs automatically trigger
an event when closed (saved or cancel). The problem is that there
still was manual trigger of those events or variants ("save" instead
of "saved").

To prevent multi-saving and be consistent, all save events are now
automatically triggered on save/close (no more manual) and the event
name is "save".
2016-09-27 15:42:31 +02:00
Christophe Simonis b1b700adb1 [MERGE] forward port branch saas-11 up to 6854887 2016-09-22 14:23:07 +02:00
qsm-odoo 5a0a29b528 [FIX] web_editor: prevent crash when deleting multiple snippets in one deletion
Since saas-12, when deleting contents, parents are deleted too if they
become empty (while it was not possible to delete contents in that case
before). The problem here was that the history was recorded multiple
times if one deletion made multiple snippets be deleted and this
sometimes could crash.

Now the history is recorded only on first deletion when the user ask
for it.
2016-09-22 13:44:06 +02:00
Christophe Simonis 6854887ade [MERGE] forward port branch saas-10 up to 477482e 2016-09-22 13:41:33 +02:00
Christophe Simonis 477482ed9f [MERGE] forward port branch 9.0 up to 78f6117 2016-09-22 13:05:29 +02:00
qsm-odoo 9ea6861d7e [FIX] web_editor: allow editing t-field links
There is a hackish feature in the web_editor which forces the
contenteditable to true on links which are clicked and removes it
anywhere else in the page so that only the link is editable after
click. This allows to add text at the end of a link without adding it
outside of the link by mistake.

The feature was badly implemented because, if the link was editable
without having any parent which is editable, the contenteditable was
forced to true, then immediatly forced to false when forcing to false
every page element. This was the case for lots of t-field. By example
the product categories in eCommerce are t-field links which are in non
editable <li/> elements...
2016-09-22 09:41:39 +02:00
Christophe Matthieu ab06013e30 [FIX] mass_mailing: can't change color button snippet when edit mass mailing 2016-09-21 16:14:49 +02:00
qsm-odoo c4784fc75b [FIX] web_editor: activate autoplay feature for videos
The checkbox was there to activate autoplay... but was not doing
anything since the web_editor/website split.
2016-09-20 13:40:53 +02:00
Christophe Simonis 10cde43fd4 [MERGE] forward port branch saas-11 up to 4c2b536 2016-09-16 10:34:39 +02:00
qsm-odoo e634a52cac [FIX] web_editor: mark snippets which can't be dropped in the page
The system was lost with the editor refactoring which came with saas-10
and commit bf39884a5c.
Indeed the show() method of the BuildingBlock class was removed as the
widget is now always showed but the show_blocks() method it called was
not removed (and thus was not called anymore).

As a fix, the show_blocks method is now called again, on snippets
initializations and each time a snippet is dropped or removed.
2016-09-15 16:47:15 +02:00
Christophe Simonis 784eaf28dc [MERGE] forward port branch 9.0 up to 6647e1f 2016-09-15 16:45:13 +02:00
qsm-odoo 5e6df42800 [FIX] web_editor: use valid bootstrap for m2o editor options
The .dropdown is in a .btn-group environment while a .btn-group can
only contain .btn or .btn-group elements.

This induced problems where the m2o options covers the full overlay
environment, preventing clicks on the customize dropdown.
2016-09-15 15:43:32 +02:00
Christophe Simonis 13765b59c3 [MERGE] forward port branch saas-11 up to 19b4f5e 2016-09-14 12:06:31 +02:00
Christophe Simonis fa7430c157 [MERGE] forward port branch 9.0 up to 5be4086 2016-09-14 11:56:05 +02:00
qsm-odoo 965d5a42fd [FIX] web_editor: allow to drop a snippet where its movement began
Before this commit, if we dragged a snippet and dropped it where we
began the drag, the snippet was removed.
2016-09-13 13:18:17 +02:00
qsm-odoo 5e9ebcfb01 [FIX] web_editor: properly call on_remove method of snippet options
The snippet options can define an on_remove method which was supposed
to be called when the snippet is removed. This was not the case since
the method was written so that the options were removed before the
on_remove method was called... (Un)fortunately, the on_remove callbacks
were not doing any critical job in current implementation. In saas-13
however, some elements will rely on this.
2016-09-12 15:35:16 +02:00
qsm-odoo fa3f529d80 [FIX] web_editor: stop resetting bg image of parent snippet on color change
Commit 404ed0f788 tried to solve the
problem but only solved a part of it. Indeed, if the snippet child
has a bg color option but not a bg image option, the event propagation
stops in the parent handler, when it is too late.

Solution is checking that the event comes from the same element on
which the callback is attached to.
2016-09-06 13:00:56 +02:00
Christophe Simonis 55d2e4b7cf [MERGE] forward port branch saas-11 up to bde7f88 2016-09-02 17:23:34 +02:00
qsm-odoo 404ed0f788 [FIX] web_editor: do not propagate event communication between
background and color snippet options

The background and color snippet options communicate so that if a
color is set while a background is already set, the backgrond is
removed. The problem is that the event propagation was not stop
so if a snippet had a background and one of its child set a color,
the background was removed.
2016-08-31 15:28:15 +02:00
qsm-odoo c69f306b5d [FIX] web_editor: correctly display image and focus point in bg option dialog
Before this commit, the focus point the user can move on the image in
the background position configuration dialog was only following the
mouse as we want if the image original width was larger than the dialog
one. This is because the javascript relies on the fact the image takes
100% width of its container. To fix this, the container now does not
take 100% of modal width but the size of its internal image (with a
max-width of 100%).
2016-08-30 10:04:14 +02:00
qsm-odoo 88d8a2ca8e [FIX] web_editor: hide header in customize dropdown when it has no content
In some snippets, the parent hierarchy has many elements. So, when
selecting a deep child of one of those, the customize dropdown had
many dropdown headers showing the parent hierarchy but without any
option for many of them.

Commit de0d9fd666 already fixed the case
where the dropdown only contains dropdown headers. This commit is an
adaptation to hide these headers one by one.
2016-08-29 18:50:51 +02:00
qsm-odoo ca01e7d7c5 [FIX] web_editor: change margin and resize handle icons on focus
The feature was lost because of a programmation error (use of this in
a non-binded function).
2016-08-29 18:50:51 +02:00
Christophe Simonis de0d503421 [MERGE] forward port branch saas-11 up to f0c8224 2016-08-26 16:59:45 +02:00
Christophe Simonis 5c2025a3af [MERGE] forward port branch 9.0 up to c578fb7 2016-08-25 18:23:47 +02:00
Christophe Simonis 9ad5f26b3f [MERGE] forward port branch saas-11 up to 3a2147d 2016-08-20 17:18:31 +02:00
Damien Bouvy d7939282e9 [FIX] mass_mailing: avoid too long URIs by blacklisting fields in editor call
The call to the web_editor is made through an iframe with some get
parameters. While not really a problem in itself, this has the
disadvantage of generating long URIs. In some case, since all the
fields in the views are included as a GET parameter, URIs can be
generated that go up to several thousand characters. Most servers will
return a 414 for such URIs, preventing the edition of the mail
template in the view.

To avoid this problem, this commit extends the 'html_frame' widget and
blacklist 2 fields that can get too long once encoded.

Ideally, it would probably be better to stop sending all the fields and
simply add the *needed* fields one by one, but since it's difficult to
know exactly what fields might be needed and this is stable, I'm gonna
go with this 'workaround' but conservative fix.

opw-685646
2016-08-19 17:13:34 +02:00
qsm-odoo 7a77209149 [FIX] web_editor,website: stop closing web_editor dialog two times
This commit fixes two problems:

* Clicking on the save button of a web_editor dialog closed the dialog
two times because the button was created with the flag "close: true"
and binded to a handler which closes the dialog. This also prevented
to extend this handler by placing the this._super call in a deferred.

* Some web_editor dialog extended the save callback but forgot to use
the this._super, which prevents the "saved" event to be triggered
(currently not used anywhere but useful for custo and master).
2016-08-19 09:07:40 +02:00
qsm-odoo de0d9fd666 [FIX] web_editor: visibility of customize snippet option button
Commit 57c09e8a8e was supposed to fix the problem but only made it
worse in some cases. Since the new option parenting system, the
customize button visibility should not be determined on creation as
parent and own options are appended on snippet focus. Also, removing
the dropdown header if it was alone was a bad idea as this is it which
contains the information of options and all the options have not
necessarily a <li/> tag in the dropdown.

For example, the many2one option has no <li/> in the dropdown and is
the only option of the field snippet. So with the previous commit, the
dropdown header was removed as there is no <li/> in the dropdown other
than this header. So as the header was removed, on snippet focus, there
was no way to determine the many2one option exists, so its on_focus
method was not called.

Now, the dropdown-header is always kept. The visibility of customize
button is determine on snippet focus.
2016-08-12 16:09:57 +02:00
qsm-odoo 369bcf610c [FIX] web_editor: paragraph dropdown style
Before commit a8ee18e172, the paragraph alignment dropdown menu was
too large for its content, so it was ugly. After that commit, it became
too small for its content, which is even more ugly.

This fix sets the width of this specific dropdown so that its content
fills exactly in (as with original summernote).
2016-08-10 11:30:33 +02:00
qsm-odoo 57c09e8a8e [FIX] web_editor: properly handle many2one fields
The many2one fields and their search bar were not working anymore since
the loss of some functionnalities with commit b309f3ab54.

* The dropdown which regroups a snippet options list is hidden if it
does not contain any option. This was not the case anymore because it
now always contains a dropdown title. This is fixed by simply removing
this title if it is alone in the dropdown.

* Snippet options attached to an element whose parent is not editable
cannot be moved/deleted/duplicated as it is supposed to remain where
it is. This is often the case for many2one fields and the feature was
simply lost in the refactoring.
2016-08-05 15:13:54 +02:00
qsm-odoo a8ee18e172 [FIX] web_editor: make save/discard btns visible when too many options
The editor bar is sometimes filled with too many options, and these
hide the save and discard buttons on small screens. To solve the
problem, the description option (which take a lot of space) has now
a max-width and the save and discard buttons are always on top.
2016-08-05 11:55:00 +02:00
Christophe Simonis c956075f5f [MERGE] forward port branch 9.0 up to cadb481 2016-08-03 15:07:24 +02:00
Yajo 4b4bc68815 [FIX] web_editor: broken JS/jQuery helper
A jQuery element is not callable.
2016-08-01 10:02:45 +02:00
Christophe Simonis 285f6bd114 [MERGE] forward port branch saas-11 up to 65a67ce 2016-07-30 13:04:39 +02:00
Christophe Simonis 09e943429e [FIX] website_sale: unable to edit product price
The less refactoring in 5b65befcd8
wrongly removed the css directive that hide some elements in edit mode.

As a side effect, the product price was appearing twice when editing a
product. Commit 44ca4317a9 tempt to fix
it but removed the edition part.

opw:683343
2016-07-30 12:43:21 +02:00
Christophe Simonis f670b3b1df [MERGE] forward port branch saas-11 up to 3aea814 2016-07-29 15:33:51 +02:00
Christophe Simonis cfb0c0dead [MERGE] forward port branch saas-11 up to 7ae5121 2016-07-25 17:17:15 +02:00
qsm-odoo 28ac3a369f [FIX] web_editor: secure the paddings of btn in the editor
Prevent the padding of editor .btn's to change when a theme modifies
them (by mistake or not).

Once again, this is a problem of css isolation between the editor and
the website customization. A theme cannot safely, at this time, do
"#wrapwrap .btn" to isolate its rules because it may override some
bootstrap rules like ".btn-group .btn" which would became less
important. It cannot changes the bootstrap variables either as it is
still used by the odoo ui in some places.
There is no safe good solution to "share" bootstrap theming between
odoo ui and website ui. The safest solution is to force the design
of odoo ui elements that may be overridden by themes (in the end,
it's the same as progressively removing bootstrap from odoo ui).
2016-07-25 17:00:24 +02:00
qsm-odoo 3fe3f55cf5 [FIX] web_editor: allow adding options on predefined bg classes
The editor allows using background image options on snippets which
use a background-image. For this to work, the oe_img_bg css class
has to be on this snippet. The problem is that the class is absent
when using some themes as the select_class method removes it to place
its own value.

Now, the oe_img_bg class is (re)added when a select_class method is
used within the background image option.
2016-07-25 17:00:24 +02:00
Christophe Simonis fc0f023053 [MERGE] forward port branch 9.0 up to 1089dcf 2016-07-25 15:07:47 +02:00
qsm-odoo f0620a9648 [FIX] web_editor,website: allow creating pages from edit menu
The code for page creation from menu edition dialog was there but
invisible to the user because of a wrong qweb template inheritance.
Indeed, the edit menu dialog relies on an extension of the link dialog
template. But this one is extended in-place in another location and
that extension is not considered when the second extension is made
because a t-extend always use the base template. The only solution to
achieve the same result is to copy the edit menu dialog qweb extension
in Javascript.

Note: the feature was still available from the link dialog in page
edition though because this was not concerned by the wrong qweb
extension.

However, adding a page by this way would create multiple pages because
one was created each time a page name was entered (and not only on
save !). So typing "test", then changing its mind and typing "hello",
then rechanging to "test", then hitting the save button created the
"test, "test-1", "test-2" and "hello" pages.
This fix takes advantage of an already present parameter which can
determine if a new page should be created or not. However, a code
refactoring should be done in master for these classes.
2016-07-20 15:59:53 +02:00
qsm-odoo e01cb8f717 [FIX] web_editor: prevent adding snippets by mistake
* Start dragging after the mouse move of some distance
* Cancel drop if the user drops a snippet in the snippet bar
2016-07-19 11:55:02 +02:00
qsm-odoo 73898ccb8b [IMP] web_editor: change image edition toolbar
* Move description button at the end of the toolbar
* Add an "auto" state button for the image width (alongside 100%,
50% and 25%) (when these last three are unchecked, the auto button
becomes checked).
2016-07-05 18:05:24 +02:00
qsm-odoo c259b38ef5 [IMP] web_editor: background + color snippet options
Now, when choosing a background-color when a background-image has
already been selected, the background image is removed on hover/click
of the color option.
However, the opposite operation remains the same. So if you choose a
background-color, you can then choose a background-image and the
colors will be kept.
2016-07-05 18:05:24 +02:00
Simon Lejeune eed7fdb6fe [REF] web_editor: cancel method of RTE should be async
and return its deferred. This commit makes the behavior consistent with
the `save` method.
2016-07-05 17:44:56 +02:00
qsm-odoo 36f31306e5 [IMP] website(_*): adapt tours
Adapt tours according to website/web_editor DOM changes.
2016-07-04 17:24:00 +02:00
qsm-odoo 821d2edf04 [IMP] website,web_editor: snippet option li icons
+ Some content changes
2016-07-04 17:24:00 +02:00
qsm-odoo c12f2cd5cc [REF] web_editor,website(_*): snippets
Refactor snippet structure
* new "cover" snippet
* move the title out of col-md-12
* delete snippets (s_quote_slider)
* rename snippets (FAQ Roller -> Accordion)
* ...

Refactor the way the background images are handled so that themes
can customize the defaults ones easily without ugly xpath or ugly
css.
2016-07-04 17:24:00 +02:00