From 642adc75b38108e125606c6fe6a77e5480f318e0 Mon Sep 17 00:00:00 2001 From: Anthony Muschang Date: Fri, 27 Feb 2015 00:29:22 +0100 Subject: [PATCH 01/14] [ADD] module web_dialog_size New module that let the user expand a dialog box to the full screen width. --- web_dialog_size/README.rst | 38 ++++++++++++++ web_dialog_size/__init__.py | 0 web_dialog_size/__openerp__.py | 47 ++++++++++++++++++ web_dialog_size/static/description/icon.png | Bin 0 -> 9455 bytes .../static/src/css/web_dialog_size.css | 17 +++++++ .../static/src/js/web_dialog_size.js | 37 ++++++++++++++ .../static/src/xml/web_dialog_size.xml | 9 ++++ web_dialog_size/view/qweb.xml | 10 ++++ 8 files changed, 158 insertions(+) create mode 100644 web_dialog_size/README.rst create mode 100644 web_dialog_size/__init__.py create mode 100644 web_dialog_size/__openerp__.py create mode 100644 web_dialog_size/static/description/icon.png create mode 100644 web_dialog_size/static/src/css/web_dialog_size.css create mode 100644 web_dialog_size/static/src/js/web_dialog_size.js create mode 100644 web_dialog_size/static/src/xml/web_dialog_size.xml create mode 100644 web_dialog_size/view/qweb.xml diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst new file mode 100644 index 00000000..f508aa0a --- /dev/null +++ b/web_dialog_size/README.rst @@ -0,0 +1,38 @@ +Expand Dialog +============= + +A module that lets the user expand a dialog box to the full screen width. + +It is named web_dialog_size as it could be extended to propose other dialog size management feature. + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + + +Credits +======= + +Contributors +------------ + +* Anthony Muschang +* Stéphane Bidoul + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. \ No newline at end of file diff --git a/web_dialog_size/__init__.py b/web_dialog_size/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/web_dialog_size/__openerp__.py b/web_dialog_size/__openerp__.py new file mode 100644 index 00000000..f0429370 --- /dev/null +++ b/web_dialog_size/__openerp__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of web_dialog_sizes, an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# web_expand_dialog is free software: you can redistribute it and/or +# modify it under the terms of the GNU Affero General Public License +# as published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. +# +# web_expand_dialog is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the +# GNU Affero General Public License +# along with web_expand_dialog. +# If not, see . +# +############################################################################## +{ + 'name': "Web Dialog Size", + + 'summary': """ + A module that lets the user expand a + dialog box to the full screen width.""", + + 'author': "ACSONE SA/NV,Odoo Community Association (OCA)", + 'website': "http://acsone.eu", + + 'category': 'web', + 'version': '8.0.0.1.0', + 'license': 'AGPL-3', + + 'depends': [ + 'web', + ], + 'qweb': [ + 'static/src/xml/web_dialog_size.xml', + ], + 'data': [ + 'view/qweb.xml', + ], +} diff --git a/web_dialog_size/static/description/icon.png b/web_dialog_size/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/web_dialog_size/static/src/css/web_dialog_size.css b/web_dialog_size/static/src/css/web_dialog_size.css new file mode 100644 index 00000000..10fba0f0 --- /dev/null +++ b/web_dialog_size/static/src/css/web_dialog_size.css @@ -0,0 +1,17 @@ +.modal .modal-header button.dialog_button_extend { + padding-top: 0px; + padding-right: 3px; +} + +.modal .modal-header button.dialog_button_restore { + padding-top: 1px; + padding-right: 5px; +} + +.modal .modal-header .dialog_button_hide { + display: none; +} + +.dialog_full_screen { + width: calc(100% - 50px); +} \ No newline at end of file diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js new file mode 100644 index 00000000..d1d0299c --- /dev/null +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -0,0 +1,37 @@ +openerp.web_dialog_size= function (instance) { + + instance.web.Dialog = instance.web.Dialog.extend({ + + init_dialog: function () { + var self = this; + this._super(); + self.$dialog_box.find('.dialog_button_restore').addClass('dialog_button_hide'); + if (this.dialog_options.size !== 'large'){ + self.$dialog_box.find('.dialog_button_extend').addClass('dialog_button_hide'); + } + else{ + self.$dialog_box.find('.dialog_button_extend').on('click', self._extending); + self.$dialog_box.find('.dialog_button_restore').on('click', self._restore); + } + }, + + _extending: function() { + var self = this; + $(this).parents('.modal-dialog').addClass('dialog_full_screen'); + $(this).addClass('dialog_button_hide'); + + $(this).parents('.modal-dialog').find('.dialog_button_restore').removeClass('dialog_button_hide') + }, + + _restore: function() { + var self = this; + $(this).parents('.modal-dialog').removeClass('dialog_full_screen'); + $(this).addClass('dialog_button_hide'); + + $(this).parents('.modal-dialog').find('.dialog_button_extend').removeClass('dialog_button_hide') + }, + + }); + +}; + diff --git a/web_dialog_size/static/src/xml/web_dialog_size.xml b/web_dialog_size/static/src/xml/web_dialog_size.xml new file mode 100644 index 00000000..1808dd2a --- /dev/null +++ b/web_dialog_size/static/src/xml/web_dialog_size.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/web_dialog_size/view/qweb.xml b/web_dialog_size/view/qweb.xml new file mode 100644 index 00000000..31dcd70f --- /dev/null +++ b/web_dialog_size/view/qweb.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file From 1f48c37def2c301a40dfd1a44f23f9e97848ec24 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 6 Apr 2016 20:33:56 +0200 Subject: [PATCH 02/14] [IMP] web_dialog_size: Select default dialog size by config * [IMP] web_dialog_size: Put dialog size expanded by default * [REM] web_popup_large: By duplication of the functionality * [IMP] web_dialog_size: README and contributors * [ADD] configuration parameter for default behavior [FIX] return super's promise [IMP] use fontawesome icons for buttons --- web_dialog_size/README.rst | 27 ++++---- web_dialog_size/__openerp__.py | 5 +- .../static/src/css/web_dialog_size.css | 14 ++-- .../static/src/js/web_dialog_size.js | 68 +++++++++++++------ .../static/src/xml/web_dialog_size.xml | 11 +-- 5 files changed, 77 insertions(+), 48 deletions(-) diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index f508aa0a..c7e30bf0 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -1,19 +1,16 @@ Expand Dialog ============= -A module that lets the user expand a dialog box to the full screen width. +A module that lets the user expand/restore the dialog box size through a button +in the upper right corner (mimicking most windows managers). By default, +all dialog boxes are expanded. -It is named web_dialog_size as it could be extended to propose other dialog size management feature. - - -Bug Tracker -=========== - -Bugs are tracked on `GitHub Issues `_. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed feedback -`here `_. +Configuration +============= +By default, the module respects the caller's `dialog_size` option. If you want +to override this and have all dialogs maximized by default, set the configuration +parameter `web_dialog_size.default_maximize` to `1`. Credits ======= @@ -23,6 +20,8 @@ Contributors * Anthony Muschang * Stéphane Bidoul +* Pedro M. Baeza +* Holger Brunn Maintainer ---------- @@ -33,6 +32,8 @@ Maintainer This module is maintained by the OCA. -OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. \ No newline at end of file +To contribute to this module, please visit http://odoo-community.org. diff --git a/web_dialog_size/__openerp__.py b/web_dialog_size/__openerp__.py index f0429370..cd7b6a40 100644 --- a/web_dialog_size/__openerp__.py +++ b/web_dialog_size/__openerp__.py @@ -28,7 +28,10 @@ A module that lets the user expand a dialog box to the full screen width.""", - 'author': "ACSONE SA/NV,Odoo Community Association (OCA)", + 'author': "ACSONE SA/NV," + "Serv. Tecnol. Avanzados - Pedro M. Baeza," + "Therp BV," + "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'web', diff --git a/web_dialog_size/static/src/css/web_dialog_size.css b/web_dialog_size/static/src/css/web_dialog_size.css index 10fba0f0..74f829ec 100644 --- a/web_dialog_size/static/src/css/web_dialog_size.css +++ b/web_dialog_size/static/src/css/web_dialog_size.css @@ -1,17 +1,15 @@ .modal .modal-header button.dialog_button_extend { - padding-top: 0px; padding-right: 3px; } .modal .modal-header button.dialog_button_restore { - padding-top: 1px; - padding-right: 5px; -} - -.modal .modal-header .dialog_button_hide { - display: none; + padding-right: 3px; } .dialog_full_screen { width: calc(100% - 50px); -} \ No newline at end of file +} + +.modal .modal-header button.close { + font-size: 14px; +} diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index d1d0299c..c2d1910c 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -1,34 +1,58 @@ openerp.web_dialog_size= function (instance) { instance.web.Dialog = instance.web.Dialog.extend({ - init_dialog: function () { - var self = this; - this._super(); - self.$dialog_box.find('.dialog_button_restore').addClass('dialog_button_hide'); - if (this.dialog_options.size !== 'large'){ - self.$dialog_box.find('.dialog_button_extend').addClass('dialog_button_hide'); - } - else{ - self.$dialog_box.find('.dialog_button_extend').on('click', self._extending); - self.$dialog_box.find('.dialog_button_restore').on('click', self._restore); + var self = this, + result = this._super(); + self.$dialog_box.find('.dialog_button_extend') + .on('click', self.proxy('_extending')); + self.$dialog_box.find('.dialog_button_restore') + .on('click', self.proxy('_restore')); + if(this.dialog_options.size == 'large') + { + self._extending(); + return result; } + return jQuery.when(result).then(function() + { + var deferred = null; + if(openerp.web_dialog_size.default_maximize === undefined) + { + deferred = (new openerp.web.Model('ir.config_parameter')) + .call('get_param', + ['web_dialog_size.default_maximize']) + .then(function(default_maximize) + { + openerp.web_dialog_size.default_maximize = + default_maximize; + }); + } + return jQuery.when(deferred).then(function() + { + if(openerp.web_dialog_size.default_maximize) + { + self._extending(); + } + else + { + self._restore(); + } + }); + }); }, - _extending: function() { - var self = this; - $(this).parents('.modal-dialog').addClass('dialog_full_screen'); - $(this).addClass('dialog_button_hide'); - - $(this).parents('.modal-dialog').find('.dialog_button_restore').removeClass('dialog_button_hide') + _extending: function(e) { + var dialog = this.$el.parents('.modal-dialog'); + dialog.addClass('dialog_full_screen'); + dialog.find('.dialog_button_extend').hide(); + dialog.find('.dialog_button_restore').show(); }, - _restore: function() { - var self = this; - $(this).parents('.modal-dialog').removeClass('dialog_full_screen'); - $(this).addClass('dialog_button_hide'); - - $(this).parents('.modal-dialog').find('.dialog_button_extend').removeClass('dialog_button_hide') + _restore: function(e) { + var dialog = this.$el.parents('.modal-dialog'); + dialog.removeClass('dialog_full_screen'); + dialog.find('.dialog_button_restore').hide(); + dialog.find('.dialog_button_extend').show(); }, }); diff --git a/web_dialog_size/static/src/xml/web_dialog_size.xml b/web_dialog_size/static/src/xml/web_dialog_size.xml index 1808dd2a..51e6fd6a 100644 --- a/web_dialog_size/static/src/xml/web_dialog_size.xml +++ b/web_dialog_size/static/src/xml/web_dialog_size.xml @@ -1,9 +1,12 @@ - - - + + + + + + - \ No newline at end of file + From 4992088384d83b83232a09faa32694330f34692c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Fri, 27 May 2016 21:53:29 +0200 Subject: [PATCH 03/14] [FIX] web_dialog_size: do not expand by default and correctly honor default_maximize parameter --- web_dialog_size/README.rst | 3 +-- web_dialog_size/static/src/js/web_dialog_size.js | 5 ----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index c7e30bf0..3d409a60 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -2,8 +2,7 @@ Expand Dialog ============= A module that lets the user expand/restore the dialog box size through a button -in the upper right corner (mimicking most windows managers). By default, -all dialog boxes are expanded. +in the upper right corner (mimicking most windows managers). Configuration ============= diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index c2d1910c..ff3708e5 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -8,11 +8,6 @@ openerp.web_dialog_size= function (instance) { .on('click', self.proxy('_extending')); self.$dialog_box.find('.dialog_button_restore') .on('click', self.proxy('_restore')); - if(this.dialog_options.size == 'large') - { - self._extending(); - return result; - } return jQuery.when(result).then(function() { var deferred = null; From 5c6384bc450e4684411722cac278da279a9fe36a Mon Sep 17 00:00:00 2001 From: Siddharth Bhalgami Date: Sun, 12 Jun 2016 16:32:31 +0530 Subject: [PATCH 04/14] [MIG] web_dialog_siza: Migrate to v9.0 --- web_dialog_size/README.rst | 1 + web_dialog_size/__openerp__.py | 14 +-- .../static/src/css/web_dialog_size.css | 6 +- .../static/src/js/web_dialog_size.js | 95 ++++++++----------- web_dialog_size/view/qweb.xml | 19 ++-- 5 files changed, 61 insertions(+), 74 deletions(-) diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index 3d409a60..d30b2f01 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -21,6 +21,7 @@ Contributors * Stéphane Bidoul * Pedro M. Baeza * Holger Brunn +* Siddharth Bhalgami Maintainer ---------- diff --git a/web_dialog_size/__openerp__.py b/web_dialog_size/__openerp__.py index cd7b6a40..7c5696f0 100644 --- a/web_dialog_size/__openerp__.py +++ b/web_dialog_size/__openerp__.py @@ -28,14 +28,15 @@ A module that lets the user expand a dialog box to the full screen width.""", - 'author': "ACSONE SA/NV," - "Serv. Tecnol. Avanzados - Pedro M. Baeza," - "Therp BV," - "Odoo Community Association (OCA)", - 'website': "http://acsone.eu", + 'author': "ACSONE SA/NV, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Therp BV, " + "Odoo Community Association (OCA), " + "Siddharth Bhalgami", + 'website': "http://acsone.eu", 'category': 'web', - 'version': '8.0.0.1.0', + 'version': '9.0.1.0.0', 'license': 'AGPL-3', 'depends': [ @@ -47,4 +48,5 @@ 'data': [ 'view/qweb.xml', ], + 'installable': True, } diff --git a/web_dialog_size/static/src/css/web_dialog_size.css b/web_dialog_size/static/src/css/web_dialog_size.css index 74f829ec..bd7fdb2e 100644 --- a/web_dialog_size/static/src/css/web_dialog_size.css +++ b/web_dialog_size/static/src/css/web_dialog_size.css @@ -1,9 +1,9 @@ .modal .modal-header button.dialog_button_extend { - padding-right: 3px; + padding-right: 5px; } .modal .modal-header button.dialog_button_restore { - padding-right: 3px; + padding-right: 5px; } .dialog_full_screen { @@ -11,5 +11,5 @@ } .modal .modal-header button.close { - font-size: 14px; + font-size: 18px; } diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index ff3708e5..56e070f2 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -1,56 +1,41 @@ -openerp.web_dialog_size= function (instance) { - - instance.web.Dialog = instance.web.Dialog.extend({ - init_dialog: function () { - var self = this, - result = this._super(); - self.$dialog_box.find('.dialog_button_extend') - .on('click', self.proxy('_extending')); - self.$dialog_box.find('.dialog_button_restore') - .on('click', self.proxy('_restore')); - return jQuery.when(result).then(function() - { - var deferred = null; - if(openerp.web_dialog_size.default_maximize === undefined) - { - deferred = (new openerp.web.Model('ir.config_parameter')) - .call('get_param', - ['web_dialog_size.default_maximize']) - .then(function(default_maximize) - { - openerp.web_dialog_size.default_maximize = - default_maximize; - }); - } - return jQuery.when(deferred).then(function() - { - if(openerp.web_dialog_size.default_maximize) - { - self._extending(); - } - else - { - self._restore(); - } - }); - }); - }, - - _extending: function(e) { - var dialog = this.$el.parents('.modal-dialog'); - dialog.addClass('dialog_full_screen'); - dialog.find('.dialog_button_extend').hide(); - dialog.find('.dialog_button_restore').show(); - }, - - _restore: function(e) { - var dialog = this.$el.parents('.modal-dialog'); - dialog.removeClass('dialog_full_screen'); - dialog.find('.dialog_button_restore').hide(); - dialog.find('.dialog_button_extend').show(); - }, - - }); - -}; +odoo.define('web_dialog_size.web_dialog_size', function (require) { +'use strict'; +var Model = require('web.DataModel'); +var Dialog = require('web.Dialog'); + +Dialog.include({ + + init: function (parent, options) { + var self = this; + this._super.apply(this, arguments); + self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending')); + self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore')); + + new Model('ir.config_parameter').query(['key', 'value']). + filter([['key', '=', 'web_dialog_size.default_maximize']]).all().then(function(default_maximize) { + if (default_maximize.length && default_maximize[0]['value'] == 1) { + self._extending(); + } else { + self._restore(); + } + }); + }, + + _extending: function() { + var dialog = this.$el.parents('.modal-dialog'); + dialog.addClass('dialog_full_screen'); + dialog.find('.dialog_button_extend').hide(); + dialog.find('.dialog_button_restore').show(); + }, + + _restore: function() { + var dialog = this.$el.parents('.modal-dialog'); + dialog.removeClass('dialog_full_screen'); + dialog.find('.dialog_button_restore').hide(); + dialog.find('.dialog_button_extend').show(); + }, + +}); + +}); diff --git a/web_dialog_size/view/qweb.xml b/web_dialog_size/view/qweb.xml index 31dcd70f..103b3d97 100644 --- a/web_dialog_size/view/qweb.xml +++ b/web_dialog_size/view/qweb.xml @@ -1,10 +1,9 @@ - - - - - \ No newline at end of file + + + + From 2208714fa6ceb5847ecdf3c978c88c123eee0c56 Mon Sep 17 00:00:00 2001 From: Siddharth Bhalgami Date: Sun, 5 Feb 2017 00:15:22 +0530 Subject: [PATCH 05/14] [10.0-MIG] web_dialog_size for v10.0 --- web_dialog_size/__manifest__.py | 33 ++++++++++++ web_dialog_size/__openerp__.py | 52 ------------------- .../static/src/js/web_dialog_size.js | 4 +- .../{view/qweb.xml => templates/assets.xml} | 0 4 files changed, 35 insertions(+), 54 deletions(-) create mode 100644 web_dialog_size/__manifest__.py delete mode 100644 web_dialog_size/__openerp__.py rename web_dialog_size/{view/qweb.xml => templates/assets.xml} (100%) diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py new file mode 100644 index 00000000..10b14d75 --- /dev/null +++ b/web_dialog_size/__manifest__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Copyright 2015 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': "Web Dialog Size", + + 'summary': """ + A module that lets the user expand a + dialog box to the full screen width.""", + + 'author': "ACSONE SA/NV, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Therp BV, " + "Odoo Community Association (OCA), " + "Siddharth Bhalgami", + + 'website': "http://acsone.eu", + 'category': 'web', + 'version': '10.0.1.0.0', + 'license': 'AGPL-3', + + 'depends': [ + 'web', + ], + 'qweb': [ + 'static/src/xml/web_dialog_size.xml', + ], + 'data': [ + 'templates/assets.xml', + ], + 'installable': True, +} diff --git a/web_dialog_size/__openerp__.py b/web_dialog_size/__openerp__.py deleted file mode 100644 index 7c5696f0..00000000 --- a/web_dialog_size/__openerp__.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# This file is part of web_dialog_sizes, an Odoo module. -# -# Copyright (c) 2015 ACSONE SA/NV () -# -# web_expand_dialog is free software: you can redistribute it and/or -# modify it under the terms of the GNU Affero General Public License -# as published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# web_expand_dialog is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the -# GNU Affero General Public License -# along with web_expand_dialog. -# If not, see . -# -############################################################################## -{ - 'name': "Web Dialog Size", - - 'summary': """ - A module that lets the user expand a - dialog box to the full screen width.""", - - 'author': "ACSONE SA/NV, " - "Serv. Tecnol. Avanzados - Pedro M. Baeza, " - "Therp BV, " - "Odoo Community Association (OCA), " - "Siddharth Bhalgami", - - 'website': "http://acsone.eu", - 'category': 'web', - 'version': '9.0.1.0.0', - 'license': 'AGPL-3', - - 'depends': [ - 'web', - ], - 'qweb': [ - 'static/src/xml/web_dialog_size.xml', - ], - 'data': [ - 'view/qweb.xml', - ], - 'installable': True, -} diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index 56e070f2..df56b8fe 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -23,14 +23,14 @@ Dialog.include({ }, _extending: function() { - var dialog = this.$el.parents('.modal-dialog'); + var dialog = this.$modal.find('.modal-dialog'); dialog.addClass('dialog_full_screen'); dialog.find('.dialog_button_extend').hide(); dialog.find('.dialog_button_restore').show(); }, _restore: function() { - var dialog = this.$el.parents('.modal-dialog'); + var dialog = this.$modal.find('.modal-dialog'); dialog.removeClass('dialog_full_screen'); dialog.find('.dialog_button_restore').hide(); dialog.find('.dialog_button_extend').show(); diff --git a/web_dialog_size/view/qweb.xml b/web_dialog_size/templates/assets.xml similarity index 100% rename from web_dialog_size/view/qweb.xml rename to web_dialog_size/templates/assets.xml From a0b29b11dafd51aa09a2eba64263fd4b6140d8f7 Mon Sep 17 00:00:00 2001 From: Wolfgang Pichler Date: Mon, 18 Sep 2017 09:58:06 +0200 Subject: [PATCH 06/14] [FIX+IMP] web_dialog_size * IMP: Added draggable support to dialogs * FIX: web_dialog_size: export modal - PR #733 introduced draggable dialogs which broke some of them --- web_dialog_size/README.rst | 35 ++++++++++++++++--- web_dialog_size/__manifest__.py | 12 +++---- .../static/src/js/web_dialog_size.js | 20 ++++++++++- 3 files changed, 54 insertions(+), 13 deletions(-) diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index d30b2f01..c936a028 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -1,8 +1,14 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +============= Expand Dialog ============= A module that lets the user expand/restore the dialog box size through a button in the upper right corner (mimicking most windows managers). +It does also add draggable support to the dialogs. Configuration ============= @@ -11,24 +17,45 @@ By default, the module respects the caller's `dialog_size` option. If you want to override this and have all dialogs maximized by default, set the configuration parameter `web_dialog_size.default_maximize` to `1`. +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/162/10.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. + Credits ======= +Images +------ + +* Odoo Community Association: `Icon `_. + Contributors ------------ * Anthony Muschang * Stéphane Bidoul -* Pedro M. Baeza +* Pedro M. Baeza * Holger Brunn * Siddharth Bhalgami +* Wolfgang Pichler +* David Vidal + +Do not contact contributors directly about support or help with technical issues. Maintainer ---------- -.. image:: http://odoo-community.org/logo.png +.. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association - :target: http://odoo-community.org + :target: https://odoo-community.org This module is maintained by the OCA. @@ -36,4 +63,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index 10b14d75..6b8df22f 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -4,22 +4,18 @@ { 'name': "Web Dialog Size", - 'summary': """ A module that lets the user expand a dialog box to the full screen width.""", - 'author': "ACSONE SA/NV, " - "Serv. Tecnol. Avanzados - Pedro M. Baeza, " "Therp BV, " - "Odoo Community Association (OCA), " - "Siddharth Bhalgami", - + "Siddharth Bhalgami," + "Tecnativa, " + "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'web', - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'license': 'AGPL-3', - 'depends': [ 'web', ], diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index df56b8fe..e8f84da2 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -14,7 +14,7 @@ Dialog.include({ new Model('ir.config_parameter').query(['key', 'value']). filter([['key', '=', 'web_dialog_size.default_maximize']]).all().then(function(default_maximize) { - if (default_maximize.length && default_maximize[0]['value'] == 1) { + if (default_maximize.length && default_maximize[0].value === 1) { self._extending(); } else { self._restore(); @@ -22,6 +22,24 @@ Dialog.include({ }); }, + open: function() { + var res = this._super.apply(this, arguments); + this.$modal.draggable({ + handle: '.modal-header', + helper: false + }); + return res; + }, + + close: function() { + var draggable = this.$modal.draggable( "instance" ); + if (draggable) { + this.$modal.draggable("destroy"); + } + var res = this._super.apply(this, arguments); + return res; + }, + _extending: function() { var dialog = this.$modal.find('.modal-dialog'); dialog.addClass('dialog_full_screen'); From 7624e7a0a4e537f0adfb148ecf64994a69809ead Mon Sep 17 00:00:00 2001 From: David Date: Tue, 19 Dec 2017 20:02:41 +0100 Subject: [PATCH 07/14] [FIX] web_dialog_size: default_maximize - default_maximize option wasn't working due to strict value comparison --- web_dialog_size/__manifest__.py | 2 +- web_dialog_size/static/src/js/web_dialog_size.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index 6b8df22f..a609e7c3 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -14,7 +14,7 @@ "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'web', - 'version': '10.0.1.0.1', + 'version': '10.0.1.0.2', 'license': 'AGPL-3', 'depends': [ 'web', diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index e8f84da2..f6faa4b1 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -14,7 +14,7 @@ Dialog.include({ new Model('ir.config_parameter').query(['key', 'value']). filter([['key', '=', 'web_dialog_size.default_maximize']]).all().then(function(default_maximize) { - if (default_maximize.length && default_maximize[0].value === 1) { + if (default_maximize.length && default_maximize[0].value == 1) { self._extending(); } else { self._restore(); From 01b05149400fa49c1c1d2a9d309f63756c1dbc79 Mon Sep 17 00:00:00 2001 From: Quentin Theuret Date: Sat, 17 Feb 2018 09:33:41 +0100 Subject: [PATCH 08/14] [MIG] Migrate web_dialog_size module to v11 --- web_dialog_size/README.rst | 3 +- web_dialog_size/__init__.py | 2 + web_dialog_size/__manifest__.py | 5 +- .../static/src/js/web_dialog_size.js | 46 ++++++++++--------- 4 files changed, 32 insertions(+), 24 deletions(-) diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index c936a028..6cc0acf8 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -19,7 +19,7 @@ parameter `web_dialog_size.default_maximize` to `1`. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/162/10.0 + :target: https://runbot.odoo-community.org/runbot/162/11.0 Bug Tracker =========== @@ -47,6 +47,7 @@ Contributors * Siddharth Bhalgami * Wolfgang Pichler * David Vidal +* Quentin Theuret Do not contact contributors directly about support or help with technical issues. diff --git a/web_dialog_size/__init__.py b/web_dialog_size/__init__.py index e69de29b..2b46a37e 100644 --- a/web_dialog_size/__init__.py +++ b/web_dialog_size/__init__.py @@ -0,0 +1,2 @@ +# Copyright 2018 Quentin Theuret +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). \ No newline at end of file diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index a609e7c3..df894502 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- # Copyright 2015 ACSONE SA/NV +# Copyright 2018 Amaris # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { @@ -11,10 +11,11 @@ "Therp BV, " "Siddharth Bhalgami," "Tecnativa, " + "Amaris, " "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'web', - 'version': '10.0.1.0.2', + 'version': '11.0.1.0.1', 'license': 'AGPL-3', 'depends': [ 'web', diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index f6faa4b1..93056f72 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -1,34 +1,39 @@ odoo.define('web_dialog_size.web_dialog_size', function (require) { 'use strict'; -var Model = require('web.DataModel'); +var rpc = require('web.rpc'); var Dialog = require('web.Dialog'); Dialog.include({ - init: function (parent, options) { + willStart: function () { var self = this; - this._super.apply(this, arguments); - self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending')); - self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore')); - - new Model('ir.config_parameter').query(['key', 'value']). - filter([['key', '=', 'web_dialog_size.default_maximize']]).all().then(function(default_maximize) { - if (default_maximize.length && default_maximize[0].value == 1) { - self._extending(); - } else { - self._restore(); - } + return this._super.apply(this, arguments).then(function () { + self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending')); + self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore')); + return rpc.query({ + model: 'ir.config_parameter', + method: 'get_param', + args: ['web_dialog_size.default_maximize',], + }).then(function(default_maximize) { + if (default_maximize === "True" || default_maximize === 1) { + self._extending(); + } else { + self._restore(); + } + }); }); }, open: function() { - var res = this._super.apply(this, arguments); - this.$modal.draggable({ - handle: '.modal-header', - helper: false - }); - return res; + this._super.apply(this, arguments); + if (this.$modal) { + this.$modal.draggable({ + handle: '.modal-header', + helper: false + }); + }; + return this; }, close: function() { @@ -36,8 +41,7 @@ Dialog.include({ if (draggable) { this.$modal.draggable("destroy"); } - var res = this._super.apply(this, arguments); - return res; + return this._super.apply(this, arguments); }, _extending: function() { From c6491f42dd1b42651b3df6b12b2ca9fa85d0651e Mon Sep 17 00:00:00 2001 From: Quentin THEURET Date: Tue, 15 May 2018 20:42:14 +0200 Subject: [PATCH 09/14] [FIX] #921 Fixed issue when discard a modal with draggable element --- web_dialog_size/__manifest__.py | 2 +- web_dialog_size/static/src/js/web_dialog_size.js | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index df894502..3b032fe7 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -15,7 +15,7 @@ "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'web', - 'version': '11.0.1.0.1', + 'version': '11.0.1.0.2', 'license': 'AGPL-3', 'depends': [ 'web', diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index 93056f72..4aa412f4 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -37,9 +37,11 @@ Dialog.include({ }, close: function() { - var draggable = this.$modal.draggable( "instance" ); - if (draggable) { - this.$modal.draggable("destroy"); + if (this.$modal) { + var draggable = this.$modal.draggable("instance"); + if (draggable) { + this.$modal.draggable("destroy"); + } } return this._super.apply(this, arguments); }, From 7ad14bd00c2c2315b959bd231e6df7c1fd2c70d3 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Wed, 13 Jun 2018 08:54:46 +0200 Subject: [PATCH 10/14] [FIX] web_dialog_size: Fix usage for non-admins and reduce calls (#954) This addon had 2 problems after migrating to v11: 1. One call to backend's `ir.config_parameter.get_param` was done for each instantiated dialog, while the setting served for the whole session equally. 2. That model is now readable only by admin users, so non-admins couldn't use the default at all. Fixed now. --- web_dialog_size/README.rst | 88 ++-- web_dialog_size/__init__.py | 3 +- web_dialog_size/__manifest__.py | 4 +- web_dialog_size/models/__init__.py | 1 + web_dialog_size/models/ir_config_parameter.py | 17 + web_dialog_size/readme/CONFIGURATION.rst | 3 + web_dialog_size/readme/CONTRIBUTORS.rst | 11 + web_dialog_size/readme/DESCRIPTION.rst | 3 + web_dialog_size/static/description/index.html | 436 ++++++++++++++++++ .../static/src/js/web_dialog_size.js | 15 +- 10 files changed, 537 insertions(+), 44 deletions(-) create mode 100644 web_dialog_size/models/__init__.py create mode 100644 web_dialog_size/models/ir_config_parameter.py create mode 100644 web_dialog_size/readme/CONFIGURATION.rst create mode 100644 web_dialog_size/readme/CONTRIBUTORS.rst create mode 100644 web_dialog_size/readme/DESCRIPTION.rst create mode 100644 web_dialog_size/static/description/index.html diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index 6cc0acf8..440f0633 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -1,67 +1,89 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: https://www.gnu.org/licenses/agpl - :alt: License: AGPL-3 - -============= -Expand Dialog -============= +=============== +Web Dialog Size +=============== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/11.0/web_dialog_size + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-11-0/web-11-0-web_dialog_size + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/162/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| A module that lets the user expand/restore the dialog box size through a button -in the upper right corner (mimicking most windows managers). -It does also add draggable support to the dialogs. - -Configuration -============= +in the upper right corner (imitating most windows managers). +It also adds draggable support to the dialogs. -By default, the module respects the caller's `dialog_size` option. If you want -to override this and have all dialogs maximized by default, set the configuration -parameter `web_dialog_size.default_maximize` to `1`. +**Table of contents** -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/162/11.0 +.. contents:: + :local: Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smash it by providing detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* ACSONE SA/NV +* Therp BV +* Siddharth Bhalgami +* Tecnativa +* Amaris Contributors ------------- +~~~~~~~~~~~~ * Anthony Muschang * Stéphane Bidoul -* Pedro M. Baeza * Holger Brunn * Siddharth Bhalgami * Wolfgang Pichler * David Vidal * Quentin Theuret +* `Tecnativa `_: -Do not contact contributors directly about support or help with technical issues. + * Pedro M. Baeza + * Jairo Llopis -Maintainer ----------- +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_dialog_size/__init__.py b/web_dialog_size/__init__.py index 2b46a37e..0650744f 100644 --- a/web_dialog_size/__init__.py +++ b/web_dialog_size/__init__.py @@ -1,2 +1 @@ -# Copyright 2018 Quentin Theuret -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). \ No newline at end of file +from . import models diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index 3b032fe7..4e799d1a 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -13,9 +13,9 @@ "Tecnativa, " "Amaris, " "Odoo Community Association (OCA)", - 'website': "http://acsone.eu", + 'website': "http://github.com/OCA/web", 'category': 'web', - 'version': '11.0.1.0.2', + 'version': '11.0.1.0.3', 'license': 'AGPL-3', 'depends': [ 'web', diff --git a/web_dialog_size/models/__init__.py b/web_dialog_size/models/__init__.py new file mode 100644 index 00000000..bd3aa9f1 --- /dev/null +++ b/web_dialog_size/models/__init__.py @@ -0,0 +1 @@ +from . import ir_config_parameter diff --git a/web_dialog_size/models/ir_config_parameter.py b/web_dialog_size/models/ir_config_parameter.py new file mode 100644 index 00000000..bc916db0 --- /dev/null +++ b/web_dialog_size/models/ir_config_parameter.py @@ -0,0 +1,17 @@ +# Copyright 2018 Tecnativa - Jairo Llopis +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.models import api, Model +from odoo.tools.safe_eval import const_eval + + +class IrConfigParameter(Model): + _inherit = "ir.config_parameter" + + @api.model + def get_web_dialog_size_config(self): + get_param = self.sudo().get_param + return { + key: const_eval(get_param("web_dialog_size.%s" % key, "False")) + for key in ["default_maximize"] + } diff --git a/web_dialog_size/readme/CONFIGURATION.rst b/web_dialog_size/readme/CONFIGURATION.rst new file mode 100644 index 00000000..18b1ad07 --- /dev/null +++ b/web_dialog_size/readme/CONFIGURATION.rst @@ -0,0 +1,3 @@ +By default, the module respects the caller's ``dialog_size`` option. +If you want to override this and have all dialogs maximized by default, +set the configuration parameter ``web_dialog_size.default_maximize`` to ``1``. diff --git a/web_dialog_size/readme/CONTRIBUTORS.rst b/web_dialog_size/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..0641b1d1 --- /dev/null +++ b/web_dialog_size/readme/CONTRIBUTORS.rst @@ -0,0 +1,11 @@ +* Anthony Muschang +* Stéphane Bidoul +* Holger Brunn +* Siddharth Bhalgami +* Wolfgang Pichler +* David Vidal +* Quentin Theuret +* `Tecnativa `_: + + * Pedro M. Baeza + * Jairo Llopis diff --git a/web_dialog_size/readme/DESCRIPTION.rst b/web_dialog_size/readme/DESCRIPTION.rst new file mode 100644 index 00000000..398e72f5 --- /dev/null +++ b/web_dialog_size/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +A module that lets the user expand/restore the dialog box size through a button +in the upper right corner (imitating most windows managers). +It also adds draggable support to the dialogs. diff --git a/web_dialog_size/static/description/index.html b/web_dialog_size/static/description/index.html new file mode 100644 index 00000000..ce5afa56 --- /dev/null +++ b/web_dialog_size/static/description/index.html @@ -0,0 +1,436 @@ + + + + + + +Web Dialog Size + + + +
+

Web Dialog Size

+ + +

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

+

A module that lets the user expand/restore the dialog box size through a button +in the upper right corner (imitating most windows managers). +It also adds draggable support to the dialogs.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
  • Therp BV
  • +
  • Siddharth Bhalgami
  • +
  • Tecnativa
  • +
  • Amaris
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/web project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index 4aa412f4..4ec94246 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -4,6 +4,11 @@ odoo.define('web_dialog_size.web_dialog_size', function (require) { var rpc = require('web.rpc'); var Dialog = require('web.Dialog'); +var config = rpc.query({ + model: 'ir.config_parameter', + method: 'get_web_dialog_size_config', +}); + Dialog.include({ willStart: function () { @@ -11,12 +16,8 @@ Dialog.include({ return this._super.apply(this, arguments).then(function () { self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending')); self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore')); - return rpc.query({ - model: 'ir.config_parameter', - method: 'get_param', - args: ['web_dialog_size.default_maximize',], - }).then(function(default_maximize) { - if (default_maximize === "True" || default_maximize === 1) { + return config.done(function(default_maximize) { + if (default_maximize) { self._extending(); } else { self._restore(); @@ -32,7 +33,7 @@ Dialog.include({ handle: '.modal-header', helper: false }); - }; + } return this; }, From 61cb980cf651c72fcf74997b2de464f6d4de4fca Mon Sep 17 00:00:00 2001 From: oca-travis Date: Sun, 24 Jun 2018 10:28:10 +0000 Subject: [PATCH 11/14] [UPD] Update web_dialog_size.pot --- web_dialog_size/i18n/web_dialog_size.pot | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 web_dialog_size/i18n/web_dialog_size.pot diff --git a/web_dialog_size/i18n/web_dialog_size.pot b/web_dialog_size/i18n/web_dialog_size.pot new file mode 100644 index 00000000..ab1f7385 --- /dev/null +++ b/web_dialog_size/i18n/web_dialog_size.pot @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_dialog_size +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: web_dialog_size +#: model:ir.model,name:web_dialog_size.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + From 523d793b7d97b47c3f547ed00177bc88e6d9ad66 Mon Sep 17 00:00:00 2001 From: QS5ELkMu Date: Wed, 18 Jul 2018 12:45:50 +0200 Subject: [PATCH 12/14] [11.0][FIX] web_dialog_size: Draggable Dialog --- .../static/src/js/web_dialog_size.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index 4ec94246..c5b281a0 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -26,15 +26,15 @@ Dialog.include({ }); }, - open: function() { - this._super.apply(this, arguments); - if (this.$modal) { - this.$modal.draggable({ - handle: '.modal-header', - helper: false - }); - } - return this; + opened: function(handler) { + return this._super.apply(this, arguments).then(function(){ + if (this.$modal) { + this.$modal.draggable({ + handle: '.modal-header', + helper: false + }); + } + }.bind(this)); }, close: function() { From 9f63cdc3186fae00641fc28f4792c93917bca6d9 Mon Sep 17 00:00:00 2001 From: joezsweet Date: Fri, 21 Sep 2018 17:24:51 +0200 Subject: [PATCH 13/14] Fix default_maximize check Checking result of rpc call, `dialog_maximize`, will end to be always `true` as the method will return a json: `{'dialog_maximize': false }`. So i changed the test to test the value of json key `dialog_maximize` --- web_dialog_size/static/src/js/web_dialog_size.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web_dialog_size/static/src/js/web_dialog_size.js b/web_dialog_size/static/src/js/web_dialog_size.js index c5b281a0..7c5ab7c5 100644 --- a/web_dialog_size/static/src/js/web_dialog_size.js +++ b/web_dialog_size/static/src/js/web_dialog_size.js @@ -16,8 +16,8 @@ Dialog.include({ return this._super.apply(this, arguments).then(function () { self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending')); self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore')); - return config.done(function(default_maximize) { - if (default_maximize) { + return config.done(function(r) { + if (r.default_maximize) { self._extending(); } else { self._restore(); From 3413b3404179ede85a18fd84801db48f2190ef92 Mon Sep 17 00:00:00 2001 From: ernesto Date: Wed, 21 Nov 2018 22:50:59 -0500 Subject: [PATCH 14/14] [MIG] web_dialog_size: Migration to 12.0 --- web_dialog_size/README.rst | 24 +++++++--- web_dialog_size/__manifest__.py | 2 +- web_dialog_size/models/ir_config_parameter.py | 4 +- web_dialog_size/readme/CONFIGURE.rst | 5 +++ web_dialog_size/readme/CONTRIBUTORS.rst | 5 ++- web_dialog_size/static/description/index.html | 44 ++++++++++++------- .../static/src/css/web_dialog_size.css | 15 ------- .../static/src/scss/web_dialog_size.scss | 24 ++++++++++ .../static/src/xml/web_dialog_size.xml | 2 +- web_dialog_size/templates/assets.xml | 2 +- web_dialog_size/tests/__init__.py | 1 + web_dialog_size/tests/test_web_dialog_size.py | 20 +++++++++ 12 files changed, 104 insertions(+), 44 deletions(-) create mode 100644 web_dialog_size/readme/CONFIGURE.rst delete mode 100644 web_dialog_size/static/src/css/web_dialog_size.css create mode 100644 web_dialog_size/static/src/scss/web_dialog_size.scss create mode 100644 web_dialog_size/tests/__init__.py create mode 100644 web_dialog_size/tests/test_web_dialog_size.py diff --git a/web_dialog_size/README.rst b/web_dialog_size/README.rst index 440f0633..ee62e181 100644 --- a/web_dialog_size/README.rst +++ b/web_dialog_size/README.rst @@ -14,13 +14,13 @@ Web Dialog Size :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github - :target: https://github.com/OCA/web/tree/11.0/web_dialog_size + :target: https://github.com/OCA/web/tree/12.0/web_dialog_size :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-11-0/web-11-0-web_dialog_size + :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_dialog_size :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/162/11.0 + :target: https://runbot.odoo-community.org/runbot/162/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -34,13 +34,22 @@ It also adds draggable support to the dialogs. .. contents:: :local: +Configuration +============= + +If you want to set dialog boxes maximized by default, you need to: + +#. Go to *Settings -> Technical -> Parameters -> System Parameters* +#. Add a new record with the text *web_dialog_size.default_maximize* in + the *Key* field and the text *True* in the *Value* field + Bug Tracker =========== Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -68,8 +77,9 @@ Contributors * Quentin Theuret * `Tecnativa `_: - * Pedro M. Baeza - * Jairo Llopis + * Pedro M. Baeza + * Jairo Llopis + * Ernesto Tejeda Maintainers ~~~~~~~~~~~ @@ -84,6 +94,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/web `_ project on GitHub. +This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_dialog_size/__manifest__.py b/web_dialog_size/__manifest__.py index 4e799d1a..31f85ac9 100644 --- a/web_dialog_size/__manifest__.py +++ b/web_dialog_size/__manifest__.py @@ -15,7 +15,7 @@ "Odoo Community Association (OCA)", 'website': "http://github.com/OCA/web", 'category': 'web', - 'version': '11.0.1.0.3', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'web', diff --git a/web_dialog_size/models/ir_config_parameter.py b/web_dialog_size/models/ir_config_parameter.py index bc916db0..4de06e32 100644 --- a/web_dialog_size/models/ir_config_parameter.py +++ b/web_dialog_size/models/ir_config_parameter.py @@ -12,6 +12,6 @@ class IrConfigParameter(Model): def get_web_dialog_size_config(self): get_param = self.sudo().get_param return { - key: const_eval(get_param("web_dialog_size.%s" % key, "False")) - for key in ["default_maximize"] + "default_maximize": const_eval( + get_param("web_dialog_size.default_maximize", "False")) } diff --git a/web_dialog_size/readme/CONFIGURE.rst b/web_dialog_size/readme/CONFIGURE.rst new file mode 100644 index 00000000..902f3316 --- /dev/null +++ b/web_dialog_size/readme/CONFIGURE.rst @@ -0,0 +1,5 @@ +If you want to set dialog boxes maximized by default, you need to: + +#. Go to *Settings -> Technical -> Parameters -> System Parameters* +#. Add a new record with the text *web_dialog_size.default_maximize* in + the *Key* field and the text *True* in the *Value* field diff --git a/web_dialog_size/readme/CONTRIBUTORS.rst b/web_dialog_size/readme/CONTRIBUTORS.rst index 0641b1d1..e78168e4 100644 --- a/web_dialog_size/readme/CONTRIBUTORS.rst +++ b/web_dialog_size/readme/CONTRIBUTORS.rst @@ -7,5 +7,6 @@ * Quentin Theuret * `Tecnativa `_: - * Pedro M. Baeza - * Jairo Llopis + * Pedro M. Baeza + * Jairo Llopis + * Ernesto Tejeda diff --git a/web_dialog_size/static/description/index.html b/web_dialog_size/static/description/index.html index ce5afa56..64208125 100644 --- a/web_dialog_size/static/description/index.html +++ b/web_dialog_size/static/description/index.html @@ -367,34 +367,47 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

A module that lets the user expand/restore the dialog box size through a button in the upper right corner (imitating most windows managers). It also adds draggable support to the dialogs.

Table of contents

+
+

Configuration

+

If you want to set dialog boxes maximized by default, you need to:

+
    +
  1. Go to Settings -> Technical -> Parameters -> System Parameters
  2. +
  3. +
    Add a new record with the text web_dialog_size.default_maximize in
    +
    the Key field and the text True in the Value field
    +
    +
  4. +
+
-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • ACSONE SA/NV
  • Therp BV
  • @@ -404,7 +417,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/web project on GitHub.

+

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/web_dialog_size/static/src/css/web_dialog_size.css b/web_dialog_size/static/src/css/web_dialog_size.css deleted file mode 100644 index bd7fdb2e..00000000 --- a/web_dialog_size/static/src/css/web_dialog_size.css +++ /dev/null @@ -1,15 +0,0 @@ -.modal .modal-header button.dialog_button_extend { - padding-right: 5px; -} - -.modal .modal-header button.dialog_button_restore { - padding-right: 5px; -} - -.dialog_full_screen { - width: calc(100% - 50px); -} - -.modal .modal-header button.close { - font-size: 18px; -} diff --git a/web_dialog_size/static/src/scss/web_dialog_size.scss b/web_dialog_size/static/src/scss/web_dialog_size.scss new file mode 100644 index 00000000..8e5e86b8 --- /dev/null +++ b/web_dialog_size/static/src/scss/web_dialog_size.scss @@ -0,0 +1,24 @@ + +.modal { + .dialog_full_screen { + @include media-breakpoint-up(sm) { + max-width: 100%; + width: calc(100% - 50px); + } + } + .modal-header button.close { + font-size: 18px; + + &:not(.dialog_button_extend):not(.dialog_button_restore) { + @include media-breakpoint-up(sm) { + margin-left: 15px; + } + } + + &.dialog_button_extend, .dialog_button_restore { + @include media-breakpoint-down(sm) { + display: none !important; + } + } + } +} diff --git a/web_dialog_size/static/src/xml/web_dialog_size.xml b/web_dialog_size/static/src/xml/web_dialog_size.xml index 51e6fd6a..1ef058fe 100644 --- a/web_dialog_size/static/src/xml/web_dialog_size.xml +++ b/web_dialog_size/static/src/xml/web_dialog_size.xml @@ -4,7 +4,7 @@ - + diff --git a/web_dialog_size/templates/assets.xml b/web_dialog_size/templates/assets.xml index 103b3d97..0845e502 100644 --- a/web_dialog_size/templates/assets.xml +++ b/web_dialog_size/templates/assets.xml @@ -2,7 +2,7 @@ diff --git a/web_dialog_size/tests/__init__.py b/web_dialog_size/tests/__init__.py new file mode 100644 index 00000000..79d02635 --- /dev/null +++ b/web_dialog_size/tests/__init__.py @@ -0,0 +1 @@ +from . import test_web_dialog_size diff --git a/web_dialog_size/tests/test_web_dialog_size.py b/web_dialog_size/tests/test_web_dialog_size.py new file mode 100644 index 00000000..6d6014d0 --- /dev/null +++ b/web_dialog_size/tests/test_web_dialog_size.py @@ -0,0 +1,20 @@ +# Copyright 2018 Tecnativa - Ernesto Tejeda +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0 + +from odoo.tests.common import TransactionCase + + +class TestWebDialogSize(TransactionCase): + def setUp(self): + super(TestWebDialogSize, self).setUp() + + def test_get_web_dialog_size_config(self): + obj = self.env['ir.config_parameter'] + + self.assertFalse(obj.get_web_dialog_size_config()['default_maximize']) + + obj.set_param("web_dialog_size.default_maximize", "True") + self.assertTrue(obj.get_web_dialog_size_config()['default_maximize']) + + obj.set_param("web_dialog_size.default_maximize", "False") + self.assertFalse(obj.get_web_dialog_size_config()['default_maximize'])