<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Odoo/addons/mass_mailing/views/editor_field_html.xml, branch 14.0</title>
<subtitle>The current checkout of upstream Odoo</subtitle>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/'/>
<entry>
<title>[MOV] mass_mailing: reorganize module according to guidelines</title>
<updated>2019-07-17T15:39:06+00:00</updated>
<author>
<name>Thibault Delavallée</name>
<email>tde@odoo.com</email>
</author>
<published>2019-07-15T09:18:22+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b3e7fd040b934ee1a60ddaf8c866af3e787e484c'/>
<id>b3e7fd040b934ee1a60ddaf8c866af3e787e484c</id>
<content type='text'>
PURPOSE

Mass mailing is currently a bit messy. As SMS will be added as a way to notify
people in mass through SMS let us take this opportunity to somehow clean this
application: organization, light code cleaning, model renaming.

SPECIFICATIONS

Guidelines: re-organize model files and split them according to main
models. Also reorganize views.

Done in this commit

  * split big python file by main models;
  * split views according to python files;
  * move statistics report to /report;
  * merge some exploded view files (assets, snippets, application menus);

LINKS

Task ID 2037906
Preparing task ID 1997464 (SMS addition in mass mailing)
PR #34938</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PURPOSE

Mass mailing is currently a bit messy. As SMS will be added as a way to notify
people in mass through SMS let us take this opportunity to somehow clean this
application: organization, light code cleaning, model renaming.

SPECIFICATIONS

Guidelines: re-organize model files and split them according to main
models. Also reorganize views.

Done in this commit

  * split big python file by main models;
  * split views according to python files;
  * move statistics report to /report;
  * merge some exploded view files (assets, snippets, application menus);

LINKS

Task ID 2037906
Preparing task ID 1997464 (SMS addition in mass mailing)
PR #34938</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] web_editor: lazy load the wysiwyg</title>
<updated>2019-02-14T15:11:19+00:00</updated>
<author>
<name>Christophe Matthieu</name>
<email>chm@odoo.com</email>
</author>
<published>2019-01-28T09:39:56+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b49745e52d7a7bc27afd416206dcd5fa242aa07a'/>
<id>b49745e52d7a7bc27afd416206dcd5fa242aa07a</id>
<content type='text'>
Issue: wysiwyg asset slow down the loading of the website, error
inadvertently introduced: https://github.com/odoo/odoo/pull/29775

The assets are now loaded assynchroneously, when the editor is needed,
its assets will be loaded.

closes odoo/odoo#30700</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue: wysiwyg asset slow down the loading of the website, error
inadvertently introduced: https://github.com/odoo/odoo/pull/29775

The assets are now loaded assynchroneously, when the editor is needed,
its assets will be loaded.

closes odoo/odoo#30700</pre>
</div>
</content>
</entry>
<entry>
<title>[ADD] web_editor,*: Tests for new structure of web editor</title>
<updated>2019-01-17T08:40:21+00:00</updated>
<author>
<name>Antoine Guenet</name>
<email>age@odoo.com</email>
</author>
<published>2018-12-28T17:59:35+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=eb0ea8efbe932c140302e9f8da33a839bcd73146'/>
<id>eb0ea8efbe932c140302e9f8da33a839bcd73146</id>
<content type='text'>
The refactoring also had to be done in order to create a set of unit
tests.
Each behavior can be tested, including the behaviors performed as a
consequence of keyboard interactions (for instance: Enter, Tab...).
This commit also contains some changes to test_utils that were
necessary given the new structure of the wysiwyg editor.

Co-authored-by: Gorash &lt;chm@odoo.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The refactoring also had to be done in order to create a set of unit
tests.
Each behavior can be tested, including the behaviors performed as a
consequence of keyboard interactions (for instance: Enter, Tab...).
This commit also contains some changes to test_utils that were
necessary given the new structure of the wysiwyg editor.

Co-authored-by: Gorash &lt;chm@odoo.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] web_editor,*: Refactoring the wysiwyg editor and 'html' field</title>
<updated>2019-01-17T08:40:21+00:00</updated>
<author>
<name>Christophe Matthieu</name>
<email>chm@odoo.com</email>
</author>
<published>2019-01-10T11:07:17+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=f296992317e96562c66bd7ad59a5080d6c551ed5'/>
<id>f296992317e96562c66bd7ad59a5080d6c551ed5</id>
<content type='text'>
* Creating a new structure by transforming all the plugins in the
  library using the odoo inheritance system. Plugins are easier to
  implement with the AbstractPlugin to add Odoo behaviors.

* From now on, the methods of the library (in this case Summernote) can
  no longer be called by other modules or files. Only the wysiwyg
  widgets can access it, to simplify the updating process. The wysiwyg
  object serves as an interface.

* Depending on the options the snippets will be loaded or not, the
  editor will be in an iframe or not... all of this is transparent from
  the outside.

* Regarding iframes, all controllers related to editing have been
  removed: the new API no longer needs them. This speeds up loading,
  eases testing and removes complexity for the same
  features.

PUBLIC FEATURES

There are several public methods on the Wysiwyg class:
* Wysiwyg.prepare (WidgetParent): returns a deferred resolved when the
  library (xml, lazy, assets...) is loaded.
* Wysiwyg.getRange (DOM): returns the range (selection in the dom)
* Wysiwyg.setRange (startNode, startOffset, endNode, endOffset): creates
  a range (selection in the dom)
* Wysiwyg.setRangeFromNode (DOM, options) that creates a range from an
  element (option available to select all, start or end)

A jQuery selector was added: :o_editable, which indicates whether the
current element is editable. That is, if it is contained in a tag with
the attribute 'contentEditable = "true"' or in a tag with the class
o_editable.
Several methods are also present:
* focusIn: makes a focus and places the cursor at the beginning of the
  element
* focusInEnd: makes a focus and places the cursor at the end of the
  element
* selectContent: makes a focus and selects the content

HTML FIELD

The HTML field can receive different options:
* style-inline: {boolean} transforms a class into an inline style when
  saving and vice versa when reading.
* no-attachment: {boolean} prevents the use of attachments (in media
  dialog)
* cssEdit: {xml_id} to use a template containing the css to loaded in
  an iframe when editing
* cssReadonly: {xml_id} to use a template containing the css to load
  into an iframe when viewing in readonly
* snippets: {xml_id} snippets template (can be used with or without
  cssEdit)
* wrapper: {template} qweb static template (containing a tag:
  id = "wrapper") that will include the content during editing (removed
  on save)

MASS MAILING

A widget was created for mass mailing. There are now two fields:
body_html and body_arch.
body_arch contains the code with the class without conversion into
inline style, useful when editing and one with the inline style that is
visible in readonly mode and sent by email.
Advantage: no spreading errors, able to update css/theme, able to do
more changes when converting to inline style so that a maximum of mail
clients have an impeccable rendering.

Co-authored-by: Antoine Guenet &lt;age@odoo.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Creating a new structure by transforming all the plugins in the
  library using the odoo inheritance system. Plugins are easier to
  implement with the AbstractPlugin to add Odoo behaviors.

* From now on, the methods of the library (in this case Summernote) can
  no longer be called by other modules or files. Only the wysiwyg
  widgets can access it, to simplify the updating process. The wysiwyg
  object serves as an interface.

* Depending on the options the snippets will be loaded or not, the
  editor will be in an iframe or not... all of this is transparent from
  the outside.

* Regarding iframes, all controllers related to editing have been
  removed: the new API no longer needs them. This speeds up loading,
  eases testing and removes complexity for the same
  features.

PUBLIC FEATURES

There are several public methods on the Wysiwyg class:
* Wysiwyg.prepare (WidgetParent): returns a deferred resolved when the
  library (xml, lazy, assets...) is loaded.
* Wysiwyg.getRange (DOM): returns the range (selection in the dom)
* Wysiwyg.setRange (startNode, startOffset, endNode, endOffset): creates
  a range (selection in the dom)
* Wysiwyg.setRangeFromNode (DOM, options) that creates a range from an
  element (option available to select all, start or end)

A jQuery selector was added: :o_editable, which indicates whether the
current element is editable. That is, if it is contained in a tag with
the attribute 'contentEditable = "true"' or in a tag with the class
o_editable.
Several methods are also present:
* focusIn: makes a focus and places the cursor at the beginning of the
  element
* focusInEnd: makes a focus and places the cursor at the end of the
  element
* selectContent: makes a focus and selects the content

HTML FIELD

The HTML field can receive different options:
* style-inline: {boolean} transforms a class into an inline style when
  saving and vice versa when reading.
* no-attachment: {boolean} prevents the use of attachments (in media
  dialog)
* cssEdit: {xml_id} to use a template containing the css to loaded in
  an iframe when editing
* cssReadonly: {xml_id} to use a template containing the css to load
  into an iframe when viewing in readonly
* snippets: {xml_id} snippets template (can be used with or without
  cssEdit)
* wrapper: {template} qweb static template (containing a tag:
  id = "wrapper") that will include the content during editing (removed
  on save)

MASS MAILING

A widget was created for mass mailing. There are now two fields:
body_html and body_arch.
body_arch contains the code with the class without conversion into
inline style, useful when editing and one with the inline style that is
visible in readonly mode and sent by email.
Advantage: no spreading errors, able to update css/theme, able to do
more changes when converting to inline style so that a maximum of mail
clients have an impeccable rendering.

Co-authored-by: Antoine Guenet &lt;age@odoo.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] mass_mailing: removed font-family from plain text</title>
<updated>2018-08-13T09:34:34+00:00</updated>
<author>
<name>Anshuman Sharma</name>
<email>ans@odoo.com</email>
</author>
<published>2018-07-12T06:03:28+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=590679f868234c07e7f263171f3fa2c6fa9eea8b'/>
<id>590679f868234c07e7f263171f3fa2c6fa9eea8b</id>
<content type='text'>
Purpose behind this commit is to remove font-family from all elements in
plaintext theme. So mail receiver will see this mail in default system font.
This is inspired by new Gmail and suggested by FP

As we want to show system's default font in the mail sent with the basic theme.
And so we remove font-family from basic theme while saving. But by doing so in
readonly mode is not getting proper font in odoo as we don't having any assets in
readonly mail editor. So we added stylesheet just for display purpose.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Purpose behind this commit is to remove font-family from all elements in
plaintext theme. So mail receiver will see this mail in default system font.
This is inspired by new Gmail and suggested by FP

As we want to show system's default font in the mail sent with the basic theme.
And so we remove font-family from basic theme while saving. But by doing so in
readonly mode is not getting proper font in odoo as we don't having any assets in
readonly mail editor. So we added stylesheet just for display purpose.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] mass_mailing, mail: added support for media queries in mass mail</title>
<updated>2018-08-06T14:06:45+00:00</updated>
<author>
<name>Deep Patel</name>
<email>dep@odoo.com</email>
</author>
<published>2018-06-04T11:34:39+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=967d228a44080381d185c252ff29c993b2b88429'/>
<id>967d228a44080381d185c252ff29c993b2b88429</id>
<content type='text'>
- Email generated from mass mailing will have its own layout with internal css.
- strip_classes is removed from mail_message because mail client are now supporting
  internal stylesheet. we need it for make mail responsive.

mail: manually removed classes from incoming mail body

Because we removed strip_classes from mail message body field because we want to
allow classes in outgoing mail to make it responsive but classes are not removed
from incoming mails so here we manually removed classes from incoming mail.

opw-1836556
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Email generated from mass mailing will have its own layout with internal css.
- strip_classes is removed from mail_message because mail client are now supporting
  internal stylesheet. we need it for make mail responsive.

mail: manually removed classes from incoming mail body

Because we removed strip_classes from mail message body field because we want to
allow classes in outgoing mail to make it responsive but classes are not removed
from incoming mails so here we manually removed classes from incoming mail.

opw-1836556
</pre>
</div>
</content>
</entry>
<entry>
<title>[REF] *: BS4, adapt display classes</title>
<updated>2018-07-27T10:36:54+00:00</updated>
<author>
<name>qsm-odoo</name>
<email>qsm@odoo.com</email>
</author>
<published>2018-04-24T15:15:00+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=7f10b55a5035bd3cab48ba58a519510a25b94f60'/>
<id>7f10b55a5035bd3cab48ba58a519510a25b94f60</id>
<content type='text'>
The system completely changed. I also had to adapt classes to new
screen breakpoints.

hidden/hide -&gt; d-none
show -&gt; d-block
hidden-xs -&gt; d-none d-md-(block/inline/...)
hidden-sm -&gt; d-md-none d-lg-(block/inline/...)
hidden-md -&gt; d-lg-none d-xl-(block/inline/...)
hidden-lg -&gt; d-xl-none
visible-xs-* -&gt; d-* d-md-none
visible-sm-* -&gt; d-none d-md-* d-lg-none
visible-md-* -&gt; d-none d-lg-* d-xl-none
visible-lg-* -&gt; d-none d-xl-*
hidden-print -&gt; d-print-none
visible-print-* -&gt; d-none d-print-*
...
and all possible combination of those had to be handled too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The system completely changed. I also had to adapt classes to new
screen breakpoints.

hidden/hide -&gt; d-none
show -&gt; d-block
hidden-xs -&gt; d-none d-md-(block/inline/...)
hidden-sm -&gt; d-md-none d-lg-(block/inline/...)
hidden-md -&gt; d-lg-none d-xl-(block/inline/...)
hidden-lg -&gt; d-xl-none
visible-xs-* -&gt; d-* d-md-none
visible-sm-* -&gt; d-none d-md-* d-lg-none
visible-md-* -&gt; d-none d-lg-* d-xl-none
visible-lg-* -&gt; d-none d-xl-*
hidden-print -&gt; d-print-none
visible-print-* -&gt; d-none d-print-*
...
and all possible combination of those had to be handled too.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] Improve compatibility with screen readers (accessibility) (#24574)</title>
<updated>2018-06-22T19:22:21+00:00</updated>
<author>
<name>kujiu</name>
<email>kujiu@users.noreply.github.com</email>
</author>
<published>2018-06-22T19:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=9de1bc0eef6f5bfaa2a8d745431caa361ae91548'/>
<id>9de1bc0eef6f5bfaa2a8d745431caa361ae91548</id>
<content type='text'>
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
</pre>
</div>
</content>
</entry>
<entry>
<title>[REF] *: rename all LESS files to SCSS</title>
<updated>2018-04-18T13:59:15+00:00</updated>
<author>
<name>qsm-odoo</name>
<email>qsm@odoo.com</email>
</author>
<published>2018-03-12T15:27:41+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b04dec4025013c60e4857c1e177bb20d811cd41a'/>
<id>b04dec4025013c60e4857c1e177bb20d811cd41a</id>
<content type='text'>
This is a simple renaming without adaptation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a simple renaming without adaptation.
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] mass_mailing: open links in parent while in backend</title>
<updated>2017-10-03T07:12:54+00:00</updated>
<author>
<name>Lucas Perais (lpe)</name>
<email>lpe@odoo.com</email>
</author>
<published>2017-10-02T15:24:21+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=c22b407f4b627861d8007d5e831e963532268e66'/>
<id>c22b407f4b627861d8007d5e831e963532268e66</id>
<content type='text'>
Before this commit, links that had no target location opened in _self, which is the iframe within which they are embedded.
After this commit, thos links are now opened in _parent to simulate closer the beahavior with an actual e-mail
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this commit, links that had no target location opened in _self, which is the iframe within which they are embedded.
After this commit, thos links are now opened in _parent to simulate closer the beahavior with an actual e-mail
</pre>
</div>
</content>
</entry>
</feed>
