From 30ca6575ea92571983942ee5e77fb0ecd4d6ba7e Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Wed, 29 May 2019 00:25:44 +0200 Subject: [PATCH] Forward port dial button refactor from v11 to v12 Move tests from base_phone to crm_phone (to benefit from crm_phone_validation) Don't use a demo partner in test (this partner was removed in later versions) Continue to remove dependancy on demo data in tests Forward port of base_phone_popup from v10 to v12 (use web_notify) --- asterisk_click2dial/__manifest__.py | 4 +- .../demo/asterisk_click2dial_demo.xml | 2 +- .../static/src/js/asterisk_click2dial.js | 28 ++-- asterisk_click2dial/views/asterisk_server.xml | 10 +- base_phone/common.py | 2 +- base_phone/fields.py | 2 +- base_phone/models/phone_common.py | 10 +- base_phone/models/phone_validation_mixin.py | 5 +- base_phone/models/res_config_settings.py | 3 +- base_phone/static/src/js/phone_widget.js | 156 +++++++++--------- base_phone/tests/__init__.py | 3 - base_phone/tests/test_phone.py | 69 -------- base_phone/views/res_config_settings.xml | 20 ++- .../wizard/reformat_all_phonenumbers.py | 5 +- base_phone_popup/__init__.py | 2 +- base_phone_popup/__manifest__.py | 38 +---- base_phone_popup/models/__init__.py | 4 + .../{popup.py => models/phone_common.py} | 46 +++--- base_phone_popup/models/res_users.py | 13 ++ base_phone_popup/readme/CONTRIBUTORS.rst | 1 + base_phone_popup/readme/DESCRIPTION.rst | 3 + base_phone_popup/readme/USAGE.rst | 1 + .../res_users.xml} | 7 +- crm_phone/tests/test_crm_phone.py | 82 ++++++++- crm_phone/wizard/create_crm_phonecall.py | 5 +- hr_recruitment_phone/__manifest__.py | 4 +- 26 files changed, 262 insertions(+), 263 deletions(-) delete mode 100644 base_phone/tests/__init__.py delete mode 100644 base_phone/tests/test_phone.py create mode 100644 base_phone_popup/models/__init__.py rename base_phone_popup/{popup.py => models/phone_common.py} (59%) create mode 100644 base_phone_popup/models/res_users.py create mode 100644 base_phone_popup/readme/CONTRIBUTORS.rst create mode 100644 base_phone_popup/readme/DESCRIPTION.rst create mode 100644 base_phone_popup/readme/USAGE.rst rename base_phone_popup/{res_users_view.xml => views/res_users.xml} (92%) diff --git a/asterisk_click2dial/__manifest__.py b/asterisk_click2dial/__manifest__.py index f195c09..03745bb 100644 --- a/asterisk_click2dial/__manifest__.py +++ b/asterisk_click2dial/__manifest__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -# Copyright 2010-2018 Akretion (Alexis de Lattre ) +# Copyright 2010-2019 Akretion France +# @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { diff --git a/asterisk_click2dial/demo/asterisk_click2dial_demo.xml b/asterisk_click2dial/demo/asterisk_click2dial_demo.xml index bab5e7b..b38c1cb 100644 --- a/asterisk_click2dial/demo/asterisk_click2dial_demo.xml +++ b/asterisk_click2dial/demo/asterisk_click2dial_demo.xml @@ -17,7 +17,7 @@ - + 11 11 Administrator <0141981242> diff --git a/asterisk_click2dial/static/src/js/asterisk_click2dial.js b/asterisk_click2dial/static/src/js/asterisk_click2dial.js index a20a99f..1f6c12e 100644 --- a/asterisk_click2dial/static/src/js/asterisk_click2dial.js +++ b/asterisk_click2dial/static/src/js/asterisk_click2dial.js @@ -7,12 +7,18 @@ odoo.define('asterisk_click2dial.systray.OpenCaller', function (require) { var core = require('web.core'); var SystrayMenu = require('web.SystrayMenu'); -var web_client = require('web.web_client'); var Widget = require('web.Widget'); var _t = core._t; -var click2dial = {}; +var FieldPhone = require('base_phone.updatedphone_widget').FieldPhone; + +FieldPhone.include({ + showDialButton: function () { + return true; + } +}); + var OpenCallerMenu = Widget.extend({ @@ -22,10 +28,6 @@ var OpenCallerMenu = Widget.extend({ 'click': 'on_open_caller', }, - start: function () { - this._super(); - }, - on_open_caller: function (event) { event.stopPropagation(); var self = this; @@ -33,14 +35,14 @@ var OpenCallerMenu = Widget.extend({ self._rpc({ route: '/asterisk_click2dial/get_record_from_my_channel', params: {local_context: context, }, - }).done(function(r) { + }).then(function(r) { // console.log('RESULT RPC r='+r); // console.log('RESULT RPC type r='+typeof r); // console.log('RESULT RPC isNaN r='+isNaN(r)); if (r === false) { self.do_warn( - _t('Failure'), - _t('Problem in the connection to Asterisk'), + _t('IPBX error'), + _t('Calling party number not retreived from IPBX or IPBX unreachable by Odoo'), false); } else if (typeof r == 'string' && isNaN(r)) { @@ -59,13 +61,13 @@ var OpenCallerMenu = Widget.extend({ target: 'new', context: {'default_calling_number': r}, }; - web_client.action_manager.do_action(action); + self.do_action(action); } else if (typeof r == 'object' && r.length == 3) { self.do_notify( - _t('Success'), - _.str.sprintf(_t('Moving to %s ID %d'), r[0], r[1]), + _.str.sprintf(_t("On the phone with '%s'"), r[2]), + _.str.sprintf(_t("Moving to form view of '%s' (%s ID %d)"), r[2], r[0], r[1]), false); var action = { type: 'ir.actions.act_window', @@ -83,7 +85,7 @@ var OpenCallerMenu = Widget.extend({ target: 'current', context: {}, }; - web_client.action_manager.do_action(action); + self.do_action(action); } }); }, diff --git a/asterisk_click2dial/views/asterisk_server.xml b/asterisk_click2dial/views/asterisk_server.xml index 246d838..d7305bc 100644 --- a/asterisk_click2dial/views/asterisk_server.xml +++ b/asterisk_click2dial/views/asterisk_server.xml @@ -14,6 +14,8 @@ + + @@ -24,6 +26,13 @@
+
+ +