diff options
| -rw-r--r-- | addons/crm/views/res_config_settings_views.xml | 2 | ||||
| -rw-r--r-- | addons/crm_reveal/views/res_config_settings_views.xml | 11 | ||||
| -rw-r--r-- | addons/iap/static/src/js/iap_buy_more_credits.js | 59 | ||||
| -rw-r--r-- | addons/iap/static/src/js/iap_credit_checker_widget.js | 110 | ||||
| -rw-r--r-- | addons/iap/static/src/xml/iap_templates.xml | 18 | ||||
| -rw-r--r-- | addons/iap/views/assets.xml | 2 | ||||
| -rw-r--r-- | addons/partner_autocomplete/views/res_config_settings_views.xml | 16 | ||||
| -rw-r--r-- | addons/sms/__manifest__.py | 1 | ||||
| -rw-r--r-- | addons/sms/views/res_config_settings_views.xml | 13 | ||||
| -rw-r--r-- | addons/snailmail_account/views/res_config_settings_views.xml | 25 |
10 files changed, 89 insertions, 168 deletions
diff --git a/addons/crm/views/res_config_settings_views.xml b/addons/crm/views/res_config_settings_views.xml index e20c48cff2e..0bfa1b7ae5c 100644 --- a/addons/crm/views/res_config_settings_views.xml +++ b/addons/crm/views/res_config_settings_views.xml @@ -58,7 +58,7 @@ <field name="module_crm_reveal"/> </div> - <div class="o_setting_right_pane crm_reveal_settings"> + <div class="o_setting_right_pane" id="crm_reveal_settings"> <label string="Visits to Leads" for="module_crm_reveal"/> <div class="text-muted"> Convert visitors of your website into leads and perform data enrichment based on their IP address. diff --git a/addons/crm_reveal/views/res_config_settings_views.xml b/addons/crm_reveal/views/res_config_settings_views.xml index 4bd801e9a6b..713ec572e2a 100644 --- a/addons/crm_reveal/views/res_config_settings_views.xml +++ b/addons/crm_reveal/views/res_config_settings_views.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <record id="res_config_settings_view_form" model="ir.ui.view"> - <field name="name">res.config.settings.view.form.inherit.crm_reveal</field> + <field name="name">res.config.settings.view.form.inherit.crm.reveal</field> <field name="model">res.config.settings</field> - <field name="priority" eval="5"/> <field name="inherit_id" ref="crm.res_config_settings_view_form"/> <field name="arch" type="xml"> - <xpath expr="//div[hasclass('crm_reveal_settings')]" position="inside"> - <div class="content-group"> - <widget name="iap_credit_checker" service_name="reveal"/> - </div> - </xpath> + <div id="crm_reveal_settings" position="inside"> + <widget name="iap_buy_more_credits" service_name="reveal"/> + </div> </field> </record> </odoo> diff --git a/addons/iap/static/src/js/iap_buy_more_credits.js b/addons/iap/static/src/js/iap_buy_more_credits.js new file mode 100644 index 00000000000..a9ed1c472bd --- /dev/null +++ b/addons/iap/static/src/js/iap_buy_more_credits.js @@ -0,0 +1,59 @@ +odoo.define('iap.buy_more_credits', function (require) { +'use strict'; + +var widgetRegistry = require('web.widget_registry'); +var Widget = require('web.Widget'); + +var core = require('web.core'); +var rpc = require('web.rpc'); + +var QWeb = core.qweb; + +var IAPBuyMoreCreditsWidget = Widget.extend({ + className: 'o_field_iap_buy_more_credits', + + /** + * @constructor + * Prepares the basic rendering of edit mode by setting the root to be a + * div.dropdown.open. + * @see FieldChar.init + */ + init: function (parent, data, options) { + this._super.apply(this, arguments); + this.service_name = options.attrs.service_name; + }, + + /** + * @override + */ + start: function () { + this.$widget = $(QWeb.render('iap.buy_more_credits')); + this.$buyLink = this.$widget.find('.buy_credits'); + this.$widget.appendTo(this.$el); + this.$buyLink.click(this._getLink.bind(this)); + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + _getLink: function () { + var self = this; + return rpc.query({ + model: 'iap.account', + method: 'get_credits_url', + args: [this.service_name], + }, { + shadow: true, + }).then(function (url) { + return self.do_action({ + type: 'ir.actions.act_url', + url: url, + }); + }); + }, +}); + +widgetRegistry.add('iap_buy_more_credits', IAPBuyMoreCreditsWidget); + +return IAPBuyMoreCreditsWidget; +}); diff --git a/addons/iap/static/src/js/iap_credit_checker_widget.js b/addons/iap/static/src/js/iap_credit_checker_widget.js deleted file mode 100644 index 88275f3e167..00000000000 --- a/addons/iap/static/src/js/iap_credit_checker_widget.js +++ /dev/null @@ -1,110 +0,0 @@ -odoo.define('iap.credit.checker', function (require) { -'use strict'; - -var widgetRegistry = require('web.widget_registry'); -var Widget = require('web.Widget'); - -var core = require('web.core'); -var rpc = require('web.rpc'); - -var QWeb = core.qweb; - -var IAPCreditChecker = Widget.extend({ - className: 'o_field_iap_credit_checker', - - /** - * @constructor - * Prepares the basic rendering of edit mode by setting the root to be a - * div.dropdown.open. - * @see FieldChar.init - */ - init: function (parent, data, options) { - this._super.apply(this, arguments); - this.service_name = options.attrs.service_name; - }, - - /** - * @override - */ - start: function () { - this.$widget = $(QWeb.render('iap.credit_checker')); - this.$loading = this.$widget.find('.loading'); - this.$sufficient = this.$widget.find('.sufficient'); - this.$insufficient = this.$widget.find('.insufficient'); - this.$error = this.$widget.find('.error'); - this.$buyLink = this.$widget.find('.buy_credits'); - - this.$widget.appendTo(this.$el); - - this.$buyLink.click(this._getLink.bind(this)); - - this._getCredits(); - }, - - //-------------------------------------------------------------------------- - // Private - //-------------------------------------------------------------------------- - _getCredits: function () { - var self = this; - this._showLoading(); - - return rpc.query({ - model: 'iap.account', - method: 'get_credits', - args: [this.service_name], - }, { - shadow: true, - }).then(function (credit) { - if (credit > 0) self._showSufficient(credit); - else if (credit < 0) self._showError(); - else self._showInsufficient(); - }); - }, - - _getLink: function () { - console.log(true) - var self = this; - return rpc.query({ - model: 'iap.account', - method: 'get_credits_url', - args: [this.service_name], - }, { - shadow: true, - }).then(function (url) { - return self.do_action({ - type: 'ir.actions.act_url', - url: url, - }); - }); - }, - - _showLoading: function () { - this.$loading.show(); - this.$sufficient.hide(); - this.$insufficient.hide(); - this.$error.hide(); - }, - _showSufficient: function (credits) { - this.$loading.hide(); - this.$sufficient.show().find('.remaining_credits').text(credits); - this.$insufficient.hide(); - this.$error.hide(); - }, - _showInsufficient: function () { - this.$loading.hide(); - this.$sufficient.hide(); - this.$insufficient.show(); - this.$error.hide(); - }, - _showError: function () { - this.$loading.hide(); - this.$sufficient.hide(); - this.$insufficient.hide(); - this.$error.show(); - }, -}); - -widgetRegistry.add('iap_credit_checker', IAPCreditChecker); - -return IAPCreditChecker; -}); diff --git a/addons/iap/static/src/xml/iap_templates.xml b/addons/iap/static/src/xml/iap_templates.xml index 10969dddd3d..42f1f1ec035 100644 --- a/addons/iap/static/src/xml/iap_templates.xml +++ b/addons/iap/static/src/xml/iap_templates.xml @@ -34,23 +34,9 @@ </div> </t> - <div t-name="iap.credit_checker" class="mt-2 row"> - <div class="col-sm"> - <div class="loading text-muted"> - <i class="fa fa-spinner fa-spin"/> Checking remaining credit ... - </div> - <div class="insufficient"> - <i class="fa fa-exclamation-triangle text-warning"/> Insufficient credit - </div> - <div class="sufficient"> - <i class="fa fa-check-circle text-success"/> Remaining : <b class="remaining_credits"/> credits - </div> - <div class="error"> - <i class="fa fa-question-circle text-muted"/> Temporarily unavailable - </div> - </div> + <div t-name="iap.buy_more_credits" class="mt-2 row"> <div class="col-sm text-right"> - <button class="btn btn-link buy_credits"><i class="fa fa-arrow-right"/> Buy more credits</button> + <button class="btn btn-link buy_credits"><i class="fa fa-arrow-right"/> Buy credits</button> </div> </div> </template> diff --git a/addons/iap/views/assets.xml b/addons/iap/views/assets.xml index a47c80355cc..936bb947577 100644 --- a/addons/iap/views/assets.xml +++ b/addons/iap/views/assets.xml @@ -5,7 +5,7 @@ <script type="text/javascript" src="/iap/static/src/js/iap_credit.js"></script> <script type="text/javascript" src="/iap/static/src/js/crash_manager.js"></script> <script type="text/javascript" src="/iap/static/src/js/dashboard.js"></script> - <script type="text/javascript" src="/iap/static/src/js/iap_credit_checker_widget.js"></script> + <script type="text/javascript" src="/iap/static/src/js/iap_buy_more_credits.js"></script> </xpath> </template> </odoo> diff --git a/addons/partner_autocomplete/views/res_config_settings_views.xml b/addons/partner_autocomplete/views/res_config_settings_views.xml index 13889bc52a2..48303fa45d4 100644 --- a/addons/partner_autocomplete/views/res_config_settings_views.xml +++ b/addons/partner_autocomplete/views/res_config_settings_views.xml @@ -6,22 +6,8 @@ <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/> <field name="arch" type="xml"> <div id="partner_autocomplete_settings" position="inside"> - <widget name="iap_credit_checker" service_name="partner_autocomplete"/> + <widget name="iap_buy_more_credits" service_name="partner_autocomplete"/> </div> - - <xpath expr="//div[hasclass('app_settings_block')][@data-key='general_settings']/div[1]" position="before"> - <div class="alert alert-info alert-dismissible fade show pt-2 pb-2" role="alert" attrs="{'invisible': [('partner_autocomplete_insufficient_credit', '=', False)]}" data-showfor="crm,general_settings"> - <field name="partner_autocomplete_insufficient_credit" invisible="1"/> - <i class="fa fa-exclamation-triangle text-warning"></i> &nbsp; You don't have credits to auto-complete companies' data anymore. - <button name="redirect_to_buy_autocomplete_credit" type="object" class="btn-link"> - <i class="fa fa-arrow-right"/> - Buy more credits - </button> - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> - <span>&times;</span> - </button> - </div> - </xpath> </field> </record> </odoo> diff --git a/addons/sms/__manifest__.py b/addons/sms/__manifest__.py index c47ed128a8a..574a13810d3 100644 --- a/addons/sms/__manifest__.py +++ b/addons/sms/__manifest__.py @@ -13,6 +13,7 @@ The service is provided by the In App Purchase Odoo platform. 'depends': ['base', 'iap', 'mail'], 'data': [ 'wizard/send_sms_views.xml', + 'views/res_config_settings_views.xml', 'views/res_partner_views.xml', 'views/templates.xml', ], diff --git a/addons/sms/views/res_config_settings_views.xml b/addons/sms/views/res_config_settings_views.xml new file mode 100644 index 00000000000..f85b590f452 --- /dev/null +++ b/addons/sms/views/res_config_settings_views.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="res_config_settings_view_form" model="ir.ui.view"> + <field name="name">res.config.settings.view.form.inherit.sms</field> + <field name="model">res.config.settings</field> + <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/> + <field name="arch" type="xml"> + <div id="sms_settings" position="inside"> + <widget name="iap_buy_more_credits" service_name="sms"/> + </div> + </field> + </record> +</odoo> diff --git a/addons/snailmail_account/views/res_config_settings_views.xml b/addons/snailmail_account/views/res_config_settings_views.xml index 2bb518f5f10..7c8b4714389 100644 --- a/addons/snailmail_account/views/res_config_settings_views.xml +++ b/addons/snailmail_account/views/res_config_settings_views.xml @@ -7,26 +7,15 @@ <field name="inherit_id" ref="account.res_config_settings_view_form"/> <field name="arch" type="xml"> <xpath expr="//div[@id='send_default']" position="inside"> - <div class="col-12 col-lg-6 o_setting_box"> - <div class="o_setting_left_pane"> - <field name="invoice_is_snailmail"/> - </div> - <div class="o_setting_right_pane"> - <label for="invoice_is_snailmail"/> - <span class="fa fa-lg fa-building-o" title="Values set here are company-specific."/> - <div class="content-group" attrs="{'invisible': [('invoice_is_snailmail' ,'=', False)]}"> - <div class="mt16"> - <field name="snailmail_color" class="oe_inline"/> - <label string="Print in Color" class="o_light_label" for="snailmail_color"/> - </div> - <div> - <field name="snailmail_duplex" class="oe_inline"/> - <label string="Print on Both Sides" class="o_light_label" for="snailmail_duplex"/> - </div> - </div> - </div> + <div class="row"> + <field name="invoice_is_snailmail" class="col-lg-1 ml16"/> + <label for="invoice_is_snailmail"/> + <span class="fa fa-lg fa-building-o" title="Values set here are company-specific."/> </div> </xpath> + <div id="snailmail_settings" position="inside"> + <widget name="iap_buy_more_credits" service_name="snailmail"/> + </div> </field> </record> </odoo> |
