From 7bbbc48c44e065c7b33f7946ccaebd6c97f56f2d Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Sat, 21 May 2016 01:22:46 +0200 Subject: [PATCH] [ADD] OCA env ribbon + [FIX] for v9 --- web_environment_ribbon/README.rst | 69 ++++++++++++++++++ web_environment_ribbon/__init__.py | 20 +++++ web_environment_ribbon/__openerp__.py | 40 ++++++++++ web_environment_ribbon/data/ribbon_data.xml | 12 +++ .../static/description/icon.png | Bin 0 -> 9272 bytes .../static/description/screenshot.png | Bin 0 -> 43941 bytes .../static/src/css/ribbon.css | 24 ++++++ .../static/src/js/ribbon.js | 35 +++++++++ web_environment_ribbon/view/base_view.xml | 21 ++++++ 9 files changed, 221 insertions(+) create mode 100644 web_environment_ribbon/README.rst create mode 100644 web_environment_ribbon/__init__.py create mode 100644 web_environment_ribbon/__openerp__.py create mode 100644 web_environment_ribbon/data/ribbon_data.xml create mode 100644 web_environment_ribbon/static/description/icon.png create mode 100644 web_environment_ribbon/static/description/screenshot.png create mode 100644 web_environment_ribbon/static/src/css/ribbon.css create mode 100644 web_environment_ribbon/static/src/js/ribbon.js create mode 100644 web_environment_ribbon/view/base_view.xml diff --git a/web_environment_ribbon/README.rst b/web_environment_ribbon/README.rst new file mode 100644 index 0000000..a3ecc31 --- /dev/null +++ b/web_environment_ribbon/README.rst @@ -0,0 +1,69 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +Web Environment Ribbon +====================== + +Mark a Test Environment with a red ribbon on the top left corner in every page + +.. image:: /web_environment_ribbon/static/description/screenshot.png + :alt: Screenshot + +Installation +============ + + * No special setup + +Configuration +============= + + * You can change the ribbon's name ("TEST") by editing + the default system parameter "ribbon.name" + (in the menu Settings > Parameters > System Parameters) + To hide the ribbon, set this parameter to "False" or + delete it. + +Usage +===== + +To use this module, you need only to install it. After installation, a red +ribbon will be visible on top left corner of every Odoo backend page + + +Known issues / Roadmap +====================== + +* Allow to define in some place (system parameter, configuration file...) the + ribbon color. + +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 +------------ + +* Francesco Apruzzese + +Maintainer +---------- + +.. 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 http://odoo-community.org. diff --git a/web_environment_ribbon/__init__.py b/web_environment_ribbon/__init__.py new file mode 100644 index 0000000..5d2935f --- /dev/null +++ b/web_environment_ribbon/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 2015 Francesco OpenCode Apruzzese () +# All Rights Reserved +# +# 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 . +# +############################################################################## diff --git a/web_environment_ribbon/__openerp__.py b/web_environment_ribbon/__openerp__.py new file mode 100644 index 0000000..a6cbbd8 --- /dev/null +++ b/web_environment_ribbon/__openerp__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 2015 Francesco OpenCode Apruzzese () +# All Rights Reserved +# +# 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 . +# +############################################################################## + +{ + 'name': "Web Environment Ribbon", + 'version': '8.0.0.1.0', + 'category': 'Web', + 'author': 'Francesco OpenCode Apruzzese,Odoo Community Association (OCA),Thibault Francois', + 'website': 'https://it.linkedin.com/in/francescoapruzzese', + 'license': 'AGPL-3', + "depends": [ + 'web', + ], + "data": [ + 'view/base_view.xml', + 'data/ribbon_data.xml', + ], + "update_xml": [], + "demo_xml": [], + "auto_install": False, + 'installable': True, +} diff --git a/web_environment_ribbon/data/ribbon_data.xml b/web_environment_ribbon/data/ribbon_data.xml new file mode 100644 index 0000000..9ce2b3e --- /dev/null +++ b/web_environment_ribbon/data/ribbon_data.xml @@ -0,0 +1,12 @@ + + + + + + + ribbon.name + TEST + + + + diff --git a/web_environment_ribbon/static/description/icon.png b/web_environment_ribbon/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..78b52ae920d68bd0149fa4d8d73b1383e785357e GIT binary patch literal 9272 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 literal 0 HcmV?d00001 diff --git a/web_environment_ribbon/static/description/screenshot.png b/web_environment_ribbon/static/description/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..30245656d1b2aa1e605cb393ee0aefe4f2b6472a GIT binary patch literal 43941 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 literal 0 HcmV?d00001 diff --git a/web_environment_ribbon/static/src/css/ribbon.css b/web_environment_ribbon/static/src/css/ribbon.css new file mode 100644 index 0000000..627bd85 --- /dev/null +++ b/web_environment_ribbon/static/src/css/ribbon.css @@ -0,0 +1,24 @@ +.test-ribbon{ + width: 200px; + background: #e43; + position: absolute; + top: 50px; + left: -50px; + text-align: center; + line-height: 50px; + letter-spacing: 1px; + color: #f0f0f0; + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); + z-index: 1000; + position: fixed; + box-shadow: 0 0 3px rgba(0,0,0,.3); + background: rgba(255, 0, 0, .6);; +} + +.test-ribbon b { + font-size: 20px; +} diff --git a/web_environment_ribbon/static/src/js/ribbon.js b/web_environment_ribbon/static/src/js/ribbon.js new file mode 100644 index 0000000..48848fc --- /dev/null +++ b/web_environment_ribbon/static/src/js/ribbon.js @@ -0,0 +1,35 @@ +/****************************************************************************** + Copyright (C) 2015 Akretion (http://www.akretion.com) + @author Sylvain Calador + + 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 . +******************************************************************************/ + +openerp.web_environment_ribbon = function(instance) { + + var ribbon = $(document).find('.test-ribbon'); + ribbon.hide(); + + var model = new instance.web.Model('ir.config_parameter'); + var key = 'ribbon.name'; + + var res = model.call('get_param', [key]).then( + function (name) { + if (name && name != 'False') { + ribbon.html(name); + ribbon.show(); + } + } + ); +} diff --git a/web_environment_ribbon/view/base_view.xml b/web_environment_ribbon/view/base_view.xml new file mode 100644 index 0000000..17a66f9 --- /dev/null +++ b/web_environment_ribbon/view/base_view.xml @@ -0,0 +1,21 @@ + + + + + +