Antonio Espinosa
8 years ago
committed by
Pedro M. Baeza
7 changed files with 124 additions and 147 deletions
-
20web_environment_ribbon/README.rst
-
22web_environment_ribbon/__init__.py
-
30web_environment_ribbon/__openerp__.py
-
38web_environment_ribbon/data/ribbon_data.xml
-
3web_environment_ribbon/static/src/css/ribbon.css
-
119web_environment_ribbon/static/src/js/ribbon.js
-
39web_environment_ribbon/view/base_view.xml
@ -1,20 +1,4 @@ |
|||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||
############################################################################## |
|
||||
# |
|
||||
# Copyright (C) 2015 Francesco OpenCode Apruzzese (<cescoap@gmail.com>) |
|
||||
# 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 <http://www.gnu.org/licenses/>. |
|
||||
# |
|
||||
############################################################################## |
|
||||
|
# Copyright 2015 Francesco OpenCode Apruzzese <cescoap@gmail.com> |
||||
|
# Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
@ -1,24 +1,24 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<openerp> |
|
||||
<data noupdate="1"> |
|
||||
|
<!-- Copyright 2015 Francesco OpenCode Apruzzese <cescoap@gmail.com> |
||||
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
|
<odoo noupdate="1"> |
||||
|
|
||||
<!-- Add ribbon name default configuration parameter --> |
|
||||
<record id="default_ribbon_name" model="ir.config_parameter"> |
|
||||
<field name="key">ribbon.name</field> |
|
||||
<field name="value">TEST</field> |
|
||||
</record> |
|
||||
|
<!-- Add ribbon name default configuration parameter --> |
||||
|
<record id="default_ribbon_name" model="ir.config_parameter"> |
||||
|
<field name="key">ribbon.name</field> |
||||
|
<field name="value">TEST</field> |
||||
|
</record> |
||||
|
|
||||
<!-- Add ribbon color configuration parameter --> |
|
||||
<record id="set_ribbon_color" model="ir.config_parameter"> |
|
||||
<field name="key">ribbon.color</field> |
|
||||
<field name="value">#f0f0f0</field> |
|
||||
</record> |
|
||||
|
<!-- Add ribbon color configuration parameter --> |
||||
|
<record id="set_ribbon_color" model="ir.config_parameter"> |
||||
|
<field name="key">ribbon.color</field> |
||||
|
<field name="value">#f0f0f0</field> |
||||
|
</record> |
||||
|
|
||||
<!-- Add ribbon background color configuration parameter --> |
|
||||
<record id="set_ribbon_background_color" model="ir.config_parameter"> |
|
||||
<field name="key">ribbon.background.color</field> |
|
||||
<field name="value">rgba(255,0,0,.6)</field> |
|
||||
</record> |
|
||||
|
<!-- Add ribbon background color configuration parameter --> |
||||
|
<record id="set_ribbon_background_color" model="ir.config_parameter"> |
||||
|
<field name="key">ribbon.background.color</field> |
||||
|
<field name="value">rgba(255,0,0,.6)</field> |
||||
|
</record> |
||||
|
|
||||
</data> |
|
||||
</openerp> |
|
||||
|
</odoo> |
@ -1,68 +1,61 @@ |
|||||
/****************************************************************************** |
|
||||
Copyright (C) 2015 Akretion (http://www.akretion.com)
|
|
||||
@author Sylvain Calador <sylvain.calador@akretion.com> |
|
||||
|
|
||||
Copyright (C) 2016 Algi Open Source Solutions (http://www.algios.com)
|
|
||||
@author Javi Melendez <javi.melendez@algios.com> |
|
||||
|
|
||||
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/>.
|
|
||||
******************************************************************************/ |
|
||||
|
|
||||
openerp.web_environment_ribbon = function(instance) { |
|
||||
|
|
||||
var ribbon = $(document).find('.test-ribbon'); |
|
||||
ribbon.hide(); |
|
||||
|
|
||||
var model = new instance.web.Model('ir.config_parameter'); |
|
||||
|
/* Copyright 2015 Sylvain Calador <sylvain.calador@akretion.com> |
||||
|
Copyright 2015 Javi Melendez <javi.melendez@algios.com> |
||||
|
Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com> |
||||
|
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
|
||||
|
|
||||
|
odoo.define('web_environment_ribbon.ribbon', function(require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var $ = require('$'); |
||||
|
var Model = require('web.Model'); |
||||
|
var core = require('web.core'); |
||||
|
|
||||
|
var model = new Model('ir.config_parameter'); |
||||
|
|
||||
|
// Code from: http://jsfiddle.net/WK_of_Angmar/xgA5C/
|
||||
|
function validStrColour(strToTest) { |
||||
|
if (strToTest === "") { return false; } |
||||
|
if (strToTest === "inherit") { return true; } |
||||
|
if (strToTest === "transparent") { return true; } |
||||
|
var image = document.createElement("img"); |
||||
|
image.style.color = "rgb(0, 0, 0)"; |
||||
|
image.style.color = strToTest; |
||||
|
if (image.style.color !== "rgb(0, 0, 0)") { return true; } |
||||
|
image.style.color = "rgb(255, 255, 255)"; |
||||
|
image.style.color = strToTest; |
||||
|
return image.style.color !== "rgb(255, 255, 255)"; |
||||
|
} |
||||
|
|
||||
var res = model.call('get_param', ['ribbon.name']).then( |
|
||||
function (name) { |
|
||||
if (name && name != 'False') { |
|
||||
ribbon.html(name); |
|
||||
ribbon.show(); |
|
||||
|
core.bus.on('web_client_ready', null, function () { |
||||
|
var ribbon = $('.test-ribbon'); |
||||
|
// If ribbon is found in DOM
|
||||
|
if (ribbon.length) { |
||||
|
ribbon.hide(); |
||||
|
model.call('get_param', ['ribbon.name']).then( |
||||
|
function (name) { |
||||
|
if (name && name != 'False') { |
||||
|
ribbon.html(name); |
||||
|
ribbon.show(); |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
); |
|
||||
|
|
||||
// Get ribbon color from system parameters
|
|
||||
var res = model.call('get_param', ['ribbon.color']).then( |
|
||||
function (strColor) { |
|
||||
if (strColor && validStrColour(strColor)) { |
|
||||
ribbon.css('color', strColor); |
|
||||
|
); |
||||
|
// Get ribbon color from system parameters
|
||||
|
model.call('get_param', ['ribbon.color']).then( |
||||
|
function (strColor) { |
||||
|
if (strColor && validStrColour(strColor)) { |
||||
|
ribbon.css('color', strColor); |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
); |
|
||||
|
|
||||
// Get ribbon background color from system parameters
|
|
||||
var res = model.call('get_param', ['ribbon.background.color']).then( |
|
||||
function (strBackgroundColor) { |
|
||||
if (strBackgroundColor && validStrColour(strBackgroundColor)) { |
|
||||
ribbon.css('background-color', strBackgroundColor); |
|
||||
|
); |
||||
|
// Get ribbon background color from system parameters
|
||||
|
model.call('get_param', ['ribbon.background.color']).then( |
||||
|
function (strBackgroundColor) { |
||||
|
if (strBackgroundColor && validStrColour(strBackgroundColor)) { |
||||
|
ribbon.css('background-color', strBackgroundColor); |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
); |
|
||||
// Code from: http://jsfiddle.net/WK_of_Angmar/xgA5C/
|
|
||||
function validStrColour(strToTest) { |
|
||||
if (strToTest === "") { return false; } |
|
||||
if (strToTest === "inherit") { return true; } |
|
||||
if (strToTest === "transparent") { return true; } |
|
||||
var image = document.createElement("img"); |
|
||||
image.style.color = "rgb(0, 0, 0)"; |
|
||||
image.style.color = strToTest; |
|
||||
if (image.style.color !== "rgb(0, 0, 0)") { return true; } |
|
||||
image.style.color = "rgb(255, 255, 255)"; |
|
||||
image.style.color = strToTest; |
|
||||
return image.style.color !== "rgb(255, 255, 255)"; |
|
||||
|
); |
||||
} |
} |
||||
} |
|
||||
|
}); |
||||
|
|
||||
|
}); // odoo.define
|
@ -1,21 +1,26 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<openerp> |
|
||||
<data> |
|
||||
|
<!-- Copyright 2015 Francesco OpenCode Apruzzese <cescoap@gmail.com> |
||||
|
Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com> |
||||
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
|
<odoo> |
||||
|
|
||||
<!-- Load css for ribbons --> |
|
||||
<template id="assets_backend" name="ribbon_test assets" inherit_id="web.assets_backend"> |
|
||||
<xpath expr="." position="inside"> |
|
||||
<link rel="stylesheet" href="/web_environment_ribbon/static/src/css/ribbon.css"/> |
|
||||
<script type="text/javascript" src="/web_environment_ribbon/static/src/js/ribbon.js"/> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
<!-- Load css for ribbons --> |
||||
|
<template id="assets_backend" name="ribbon_test assets" |
||||
|
inherit_id="web.assets_backend"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<link rel="stylesheet" |
||||
|
href="/web_environment_ribbon/static/src/css/ribbon.css"/> |
||||
|
<script type="text/javascript" |
||||
|
src="/web_environment_ribbon/static/src/js/ribbon.js"/> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
<!-- Add ribbon to page --> |
|
||||
<template id="body_with_ribbon_test" name="ribbon_test web.webclient_bootstrap" inherit_id="web.webclient_bootstrap"> |
|
||||
<xpath expr="//div[@class='openerp openerp_webclient_container']" position="before"> |
|
||||
<div class="test-ribbon"/> |
|
||||
</xpath> |
|
||||
</template> |
|
||||
|
<!-- Add ribbon to page --> |
||||
|
<template id="body_with_ribbon_test" name="ribbon_test web.webclient_bootstrap" |
||||
|
inherit_id="web.webclient_bootstrap"> |
||||
|
<xpath expr="//div[@class='openerp openerp_webclient_container oe_webclient']" position="before"> |
||||
|
<div class="test-ribbon"/> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
</data> |
|
||||
</openerp> |
|
||||
|
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue