diff --git a/web_developer_mode_optional/README.rst b/web_developer_mode_optional/README.rst new file mode 100644 index 00000000..9311950d --- /dev/null +++ b/web_developer_mode_optional/README.rst @@ -0,0 +1,60 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + + +======================= +Developer Mode optional +======================= + +This module makes *Developer Mode* link (in the *About Odoo* dialog) visibility optional based on users' groups. + +This way, only those users belonging to a specific group will have access to *Developer Mode* link. + + +Known issues +============ + +So far, only the link is removed, but debug mode can still be activated via URL. + +It would be nice to totally disallow debug mode behaviour. + + +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 +------------ + +- Alejandro Santana + +Font used in icon +----------------- + +Module icon was created by Alejandro Santana and includes some icons from +Font Awesome by Dave Gandy - http://fontawesome.io +which is under SIL OFL 1.1 ( http://scripts.sil.org/OFL ) license, +allowing derivative works. + +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. diff --git a/web_developer_mode_optional/__init__.py b/web_developer_mode_optional/__init__.py new file mode 100644 index 00000000..c44a25d7 --- /dev/null +++ b/web_developer_mode_optional/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# +# License, author and contributors information in: +# __openerp__.py file at the root folder of this module. +# diff --git a/web_developer_mode_optional/__openerp__.py b/web_developer_mode_optional/__openerp__.py new file mode 100644 index 00000000..f34740b5 --- /dev/null +++ b/web_developer_mode_optional/__openerp__.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (c) All rights reserved: +# (c) 2015 Anubía, soluciones en la nube,SL (http://www.anubia.es) +# Alejandro Santana +# +# This program 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. +# +# This program 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 this program. If not, see http://www.gnu.org/licenses +# +############################################################################## +{ + 'name': 'Optional Developer Mode link', + 'version': '8.0.1.0.0', + 'category': 'Generic Modules/Others', + 'summary': ('This module adds group-based permissions ' + 'for the Developer Mode.'), + 'author': ('Odoo Community Association (OCA), ' + 'Alejandro Santana'), + 'maintainer': 'Odoo Community Association (OCA)', + 'website': 'http://odoo-community.org', + 'license': 'AGPL-3', + 'depends': [ + 'web', + ], + 'data': [ + 'security/web_developer_mode_optional_security.xml', + 'views/webclient_templates.xml', + ], + 'js': [ + 'static/src/js/chrome.js', + ], + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/web_developer_mode_optional/i18n/ca.po b/web_developer_mode_optional/i18n/ca.po new file mode 100644 index 00000000..f5d12342 --- /dev/null +++ b/web_developer_mode_optional/i18n/ca.po @@ -0,0 +1,21 @@ +# Catalan translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Activa més modes programador" diff --git a/web_developer_mode_optional/i18n/es.po b/web_developer_mode_optional/i18n/es.po new file mode 100644 index 00000000..604ae566 --- /dev/null +++ b/web_developer_mode_optional/i18n/es.po @@ -0,0 +1,21 @@ +# Spanish translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Activar el modo desarrollador" diff --git a/web_developer_mode_optional/i18n/fr.po b/web_developer_mode_optional/i18n/fr.po new file mode 100644 index 00000000..2a9a72b6 --- /dev/null +++ b/web_developer_mode_optional/i18n/fr.po @@ -0,0 +1,21 @@ +# French translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Activer le mode développeur" diff --git a/web_developer_mode_optional/i18n/gl.po b/web_developer_mode_optional/i18n/gl.po new file mode 100644 index 00000000..51e4c149 --- /dev/null +++ b/web_developer_mode_optional/i18n/gl.po @@ -0,0 +1,21 @@ +# Galician translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Activar o modo de desenvolvedor" diff --git a/web_developer_mode_optional/i18n/it.po b/web_developer_mode_optional/i18n/it.po new file mode 100644 index 00000000..c3e1db35 --- /dev/null +++ b/web_developer_mode_optional/i18n/it.po @@ -0,0 +1,21 @@ +# Italian translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Attiva modalità sviluppatore" diff --git a/web_developer_mode_optional/i18n/pt.po b/web_developer_mode_optional/i18n/pt.po new file mode 100644 index 00000000..945ac93f --- /dev/null +++ b/web_developer_mode_optional/i18n/pt.po @@ -0,0 +1,21 @@ +# Portuguese translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Ativar o modo de desenvolvedor" diff --git a/web_developer_mode_optional/i18n/sk.po b/web_developer_mode_optional/i18n/sk.po new file mode 100644 index 00000000..69b8d1ce --- /dev/null +++ b/web_developer_mode_optional/i18n/sk.po @@ -0,0 +1,21 @@ +# Slovak translation. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "Zapnúť režim pre vývojárov" diff --git a/web_developer_mode_optional/i18n/web_developer_mode_optional.pot b/web_developer_mode_optional/i18n/web_developer_mode_optional.pot new file mode 100644 index 00000000..ac4cd184 --- /dev/null +++ b/web_developer_mode_optional/i18n/web_developer_mode_optional.pot @@ -0,0 +1,21 @@ +# Translation template file. +# This file contains the translation of the following modules: +# * web_developer_mode_optional +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-04-22 01:26+0000\n" +"PO-Revision-Date: 2015-04-22 01:26+0000\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_developer_mode_optional +#: model:res.groups,name:web_developer_mode_optional.group_developer +msgid "Enable developer mode" +msgstr "" diff --git a/web_developer_mode_optional/security/web_developer_mode_optional_security.xml b/web_developer_mode_optional/security/web_developer_mode_optional_security.xml new file mode 100644 index 00000000..a0481fe1 --- /dev/null +++ b/web_developer_mode_optional/security/web_developer_mode_optional_security.xml @@ -0,0 +1,13 @@ + + + + + + + Enable developer mode + + + + + + diff --git a/web_developer_mode_optional/static/description/icon.png b/web_developer_mode_optional/static/description/icon.png new file mode 100644 index 00000000..601f3107 Binary files /dev/null and b/web_developer_mode_optional/static/description/icon.png differ diff --git a/web_developer_mode_optional/static/description/icon.svg b/web_developer_mode_optional/static/description/icon.svg new file mode 100644 index 00000000..c8e28001 --- /dev/null +++ b/web_developer_mode_optional/static/description/icon.svg @@ -0,0 +1,213 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_developer_mode_optional/static/src/js/chrome.js b/web_developer_mode_optional/static/src/js/chrome.js new file mode 100644 index 00000000..3add5eae --- /dev/null +++ b/web_developer_mode_optional/static/src/js/chrome.js @@ -0,0 +1,43 @@ +// License, author and contributors information in: +// __openerp__.py file at the root folder of this module. + +/*--------------------------------------------------------- + * OpenERP Web chrome + *---------------------------------------------------------*/ +openerp.web_developer_mode_optional = function () { + var instance = openerp; + openerp.web.chrome = {}; + var QWeb = instance.web.qweb; + var _t = instance.web._t; + + instance.web.UserMenuDevel = instance.web.UserMenu.include({ + on_menu_about: function() { + var self = this; + var Users = new openerp.web.Model('res.users'); + var debug_mode_enabled = true; + + Users.call('has_group', ['web_developer_mode_optional.group_developer']) + .then(function (result) { + debug_mode_enabled = result; + self.rpc("/web/webclient/version_info", {}).done(function (res) { + var $help = $(QWeb.render("UserMenu.about", {version_info: res})); + + if (debug_mode_enabled) { + $help.find('a.oe_activate_debug_mode').click(function (e) { + e.preventDefault(); + window.location = $.param.querystring( window.location.href, 'debug'); + }); + } else { + $help.find('a.oe_activate_debug_mode').remove(); + } + new instance.web.Dialog(this, { + size: 'medium', + dialogClass: 'oe_act_window', + title: _t("About"), + }, $help).open(); + }); + }); + }, + }); + +} diff --git a/web_developer_mode_optional/views/webclient_templates.xml b/web_developer_mode_optional/views/webclient_templates.xml new file mode 100644 index 00000000..b118e3f6 --- /dev/null +++ b/web_developer_mode_optional/views/webclient_templates.xml @@ -0,0 +1,13 @@ + + + + + + + + +