diff options
| author | Mariska Archielli (ram) <ram@odoo.com> | 2020-09-17 14:23:41 +0000 |
|---|---|---|
| committer | Mariska Archielli (ram) <ram@odoo.com> | 2020-11-05 15:26:05 +0000 |
| commit | e6496af1ea31b2c699de9e41196a9ae3a07efb7f (patch) | |
| tree | d5c44764ed199661cb1372921d652cc6cf532577 | |
| parent | 4f97641b40839330bc88d686b03d4b4072261c5c (diff) | |
[FIX] mass_mailing, mass_mailing_sms : fix bugs and incoherency
Fix traceback when creating a new contact by checking the id list is not empty
Filter default reporting by name rather then by campaign (as campaign is an option)
Group by Campaign only if the option is checked to enforce coherency.
> This is unblocked with a group.
Hide the 'replied' status from sms reports as it is not relevant for sms.
Remove the preview message for sms as it is not relevant elsewhere then the object of mails.
Warn the user if he's trying to send a sms with only white-space characters.
> this causes an error because the plaintext-html conversion in mail_thread.py
> consider a white-spaces-only text as empty.
Mobile placeholder added for a better understanding of the field by the user.
Task ID : 2302578
closes odoo/odoo#60426
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
| -rw-r--r-- | addons/mass_mailing/report/mailing_trace_report_views.xml | 11 | ||||
| -rw-r--r-- | addons/mass_mailing_sms/report/mailing_trace_report_views.xml | 42 | ||||
| -rw-r--r-- | addons/mass_mailing_sms/views/mailing_mailing_views.xml | 3 | ||||
| -rw-r--r-- | addons/sms/i18n/sms.pot | 12 | ||||
| -rw-r--r-- | addons/sms/static/src/js/fields_sms_widget.js | 13 | ||||
| -rw-r--r-- | addons/sms/wizard/sms_composer_views.xml | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 9 |
7 files changed, 86 insertions, 6 deletions
diff --git a/addons/mass_mailing/report/mailing_trace_report_views.xml b/addons/mass_mailing/report/mailing_trace_report_views.xml index 8b309b7936e..51c70d9baee 100644 --- a/addons/mass_mailing/report/mailing_trace_report_views.xml +++ b/addons/mass_mailing/report/mailing_trace_report_views.xml @@ -5,12 +5,12 @@ <field name="model">mailing.trace.report</field> <field name="arch" type="xml"> <pivot string="Mass Mailing Statistics" disable_linking="True" sample="1"> - <field name="campaign" type="row"/> + <field name="name" type="row"/> <field name="sent" type="measure"/> <field name="delivered" type="measure"/> <field name="opened" type="measure"/> <field name="bounced" type="measure"/> - <field name="replied" type="measure"/> + <field name="replied" type="measure" invisible="0"/> <field name="clicked" type="measure"/> </pivot> </field> @@ -21,8 +21,9 @@ <field name="model">mailing.trace.report</field> <field name="arch" type="xml"> <graph string="Mass Mailing Statistics" sample="1" disable_linking="1"> - <field name="campaign"/> + <field name="name"/> <field name="sent" type="measure"/> + <field name="replied" invisible="0"/> </graph> </field> </record> @@ -39,8 +40,8 @@ <field name="scheduled_date"/> </group> <group expand="1" string="Group By..."> - <filter string="Mass Mailing Campaign" name="mass_mailing_campaign" - domain="[]" context="{'group_by':'campaign'}"/> + <filter string="Mass Mailing Campaign" domain="[]" name="mass_mailing_campaign" + context="{'group_by':'campaign'}" groups="mass_mailing.group_mass_mailing_campaign"/> <filter string="State" domain="[]" name="state" context="{'group_by':'state'}"/> <filter string="Sent By" domain="[]" name="sent_by" diff --git a/addons/mass_mailing_sms/report/mailing_trace_report_views.xml b/addons/mass_mailing_sms/report/mailing_trace_report_views.xml index a3a56aa25e2..84684aca456 100644 --- a/addons/mass_mailing_sms/report/mailing_trace_report_views.xml +++ b/addons/mass_mailing_sms/report/mailing_trace_report_views.xml @@ -1,5 +1,33 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> + <record id="mailing_trace_report_sms_view_pivot" model="ir.ui.view"> + <field name="name">mailing.sms.trace.report.view.pivot</field> + <field name="model">mailing.trace.report</field> + <field name="inherit_id" ref="mass_mailing.mailing_trace_report_view_pivot"/> + <field name="priority" eval="50"/> + <field name="mode">primary</field> + <field name="type">pivot</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='replied']" position="attributes"> + <attribute name="invisible">1</attribute> + </xpath> + </field> + </record> + + <record id="mailing_trace_report_sms_view_graph" model="ir.ui.view"> + <field name="name">mailing.sms.trace.report.view.graph</field> + <field name="model">mailing.trace.report</field> + <field name="inherit_id" ref="mass_mailing.mailing_trace_report_view_graph"/> + <field name="priority" eval="50"/> + <field name="mode">primary</field> + <field name="type">graph</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='replied']" position="attributes"> + <attribute name="invisible">1</attribute> + </xpath> + </field> + </record> + <!-- Actions and Menuitems --> <record id="mailing_trace_report_action_sms" model="ir.actions.act_window"> <field name="name">SMS Marketing Analysis</field> @@ -14,6 +42,20 @@ </field> </record> + <record id="mailing_trace_report_action_sms_view_graph" model="ir.actions.act_window.view"> + <field name="sequence">0</field> + <field name="view_mode">graph</field> + <field name="act_window_id" ref="mailing_trace_report_action_sms"/> + <field name="view_id" ref="mailing_trace_report_sms_view_graph"/> + </record> + + <record id="mailing_trace_report_action_sms_view_pivot" model="ir.actions.act_window.view"> + <field name="sequence">1</field> + <field name="view_mode">pivot</field> + <field name="act_window_id" ref="mailing_trace_report_action_sms"/> + <field name="view_id" ref="mailing_trace_report_sms_view_pivot"/> + </record> + <!-- SMS Marketing / Reporting --> <record id="mass_mailing_sms_menu_reporting" model="ir.ui.menu"> <field name="action" ref="mailing_trace_report_action_sms"/> diff --git a/addons/mass_mailing_sms/views/mailing_mailing_views.xml b/addons/mass_mailing_sms/views/mailing_mailing_views.xml index 570198797b9..c919400d1db 100644 --- a/addons/mass_mailing_sms/views/mailing_mailing_views.xml +++ b/addons/mass_mailing_sms/views/mailing_mailing_views.xml @@ -102,6 +102,9 @@ <xpath expr="//field[@name='subject']" position="after"> <field name="sms_subject" string="Title" attrs="{'invisible': [('mailing_type', '!=', 'sms')], 'readonly': [('state', 'in', ('sending', 'done'))], 'required': [('mailing_type', '=', 'sms')]}"/> </xpath> + <xpath expr="//field[@name='preview']" position="attributes"> + <attribute name="attrs">{'readonly': [('state', 'in', ('sending', 'done'))], 'invisible': [('mailing_type', '!=', 'mail')]}</attribute> + </xpath> <xpath expr="//page[@name='mail_body']" position="attributes"> <attribute name="attrs">{'invisible': [('mailing_type', '!=', 'mail')]}</attribute> </xpath> diff --git a/addons/sms/i18n/sms.pot b/addons/sms/i18n/sms.pot index 1277631618f..0ce2c1f3c62 100644 --- a/addons/sms/i18n/sms.pot +++ b/addons/sms/i18n/sms.pot @@ -1246,11 +1246,23 @@ msgid "You do not have access to the message and/or related document." msgstr "" #. module: sms +#. openerp-web +#: code:addons/sms/static/src/js/fields_sms_widget.js:0 +#, python-format +msgid "Your SMS Text Message must include at least one non-whitespace character" +msgstr "" + +#. module: sms #: model_terms:ir.ui.view,arch_db:sms.sms_composer_view_form msgid "are invalid." msgstr "" #. module: sms +#: model_terms:ir.ui.view,arch_db:sms.sms_composer_view_form +msgid "e.g. +1 415 555 0100" +msgstr "" + +#. module: sms #: model_terms:ir.ui.view,arch_db:sms.sms_template_view_form msgid "e.g. en_US or ${object.partner_id.lang}" msgstr "" diff --git a/addons/sms/static/src/js/fields_sms_widget.js b/addons/sms/static/src/js/fields_sms_widget.js index d438f6c90bc..5a52d68e4ba 100644 --- a/addons/sms/static/src/js/fields_sms_widget.js +++ b/addons/sms/static/src/js/fields_sms_widget.js @@ -151,6 +151,19 @@ var SmsWidget = FieldTextEmojis.extend({ * @override * @private */ + _onBlur: function () { + var content = this._getValue(); + if( !content.trim().length && content.length > 0) { + this.do_warn(_t("Your SMS Text Message must include at least one non-whitespace character")); + this.$input.val(content.trim()); + this._updateSMSInfo(); + } + }, + + /** + * @override + * @private + */ _onChange: function () { this._super.apply(this, arguments); this._updateSMSInfo(); diff --git a/addons/sms/wizard/sms_composer_views.xml b/addons/sms/wizard/sms_composer_views.xml index b1be27ca32b..3ef5820bb8a 100644 --- a/addons/sms/wizard/sms_composer_views.xml +++ b/addons/sms/wizard/sms_composer_views.xml @@ -45,7 +45,7 @@ attrs="{'invisible': [('comment_single_recipient', '=', False)]}"/> <div attrs="{'invisible': [('comment_single_recipient', '=', False)]}"> <field name="recipient_single_description" class="oe_inline"/> - <field name="recipient_single_number_itf" class="oe_inline" nolabel="1" options="{'onchange_on_keydown': True}"/> + <field name="recipient_single_number_itf" class="oe_inline" nolabel="1" options="{'onchange_on_keydown': True}" placeholder="e.g. +1 415 555 0100"/> </div> <field name="body" widget="sms_widget"/> diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 181e4b1efd8..0ca1e27de4e 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -160,6 +160,14 @@ var DebouncedField = AbstractField.extend({ * @returns {*} */ _getValue: function () {}, + /** + * Should make an action on lost focus. + * + * @abstract + * @private + * @returns {*} + */ + _onBlur: function () {}, }); var InputField = DebouncedField.extend({ @@ -169,6 +177,7 @@ var InputField = DebouncedField.extend({ events: _.extend({}, DebouncedField.prototype.events, { 'input': '_onInput', 'change': '_onChange', + 'blur' : '_onBlur', }), /** |
