Browse Source

Merge pull request #429 from acsone/9.0-web_widget_color-sbi

[9.0] web_widget_color
pull/432/head
Pedro M. Baeza 8 years ago
committed by GitHub
parent
commit
81f2df1a89
  1. 1
      setup/web_widget_color/odoo_addons/__init__.py
  2. 1
      setup/web_widget_color/odoo_addons/web_widget_color
  3. 6
      setup/web_widget_color/setup.py
  4. 7
      web_widget_color/README.rst
  5. 25
      web_widget_color/__init__.py
  6. 28
      web_widget_color/__openerp__.py
  7. 7
      web_widget_color/static/src/css/widget.css
  8. 45
      web_widget_color/static/src/js/widget.js
  9. 2
      web_widget_color/static/src/xml/widget.xml
  10. 20
      web_widget_color/view/web_widget_color_view.xml

1
setup/web_widget_color/odoo_addons/__init__.py

@ -0,0 +1 @@
__import__('pkg_resources').declare_namespace(__name__)

1
setup/web_widget_color/odoo_addons/web_widget_color

@ -0,0 +1 @@
../../../web_widget_color

6
setup/web_widget_color/setup.py

@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

7
web_widget_color/README.rst

@ -27,12 +27,6 @@ Features
|listview|
Requirements
============
This module has been ported to 8.0
Usage
=====
@ -87,6 +81,7 @@ Contributors
------------
* Adil Houmadi <adil.houmadi@gmail.com>
* Nicolas JEUDY (Sudokeys) <https://www.github.com/njeudy>
Maintainer
----------

25
web_widget_color/__init__.py

@ -1,25 +1,2 @@
# -*- encoding: utf-8 -*-
############################################################################
# -*- coding: utf-8 -*-
#
# Odoo, Open Source Web Color
# Copyright (C) 2012 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
# Copyright (C) 2014 Anybox <http://anybox.fr>
# Copyright (C) 2015 Taktik SA <http://taktik.be>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# @author Étienne Beaudry Auger <etienne.b.auger@savoirfairelinux.com>
# @author Adil Houmadi <ah@taktik.be>
#
##############################################################################

28
web_widget_color/__openerp__.py

@ -1,35 +1,18 @@
# -*- encoding: utf-8 -*-
############################################################################
#
# -*- coding: utf-8 -*-
# Odoo, Open Source Web Widget Color
# Copyright (C) 2012 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
# Copyright (C) 2014 Anybox <http://anybox.fr>
# Copyright (C) 2015 Taktik SA <http://taktik.be>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# @author Étienne Beaudry Auger <etienne.b.auger@savoirfairelinux.com>
# @author Adil Houmadi <ah@taktik.be>
#
##############################################################################
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).#
{
'name': "Web Widget Color",
'category': "web",
'version': "8.0.1.0.0",
'version': "9.0.1.0.0",
"author": "Savoir-faire Linux, "
"Anybox, "
"Taktik SA, "
"Sudokeys, "
"Odoo Community Association (OCA)",
'depends': ['base', 'web'],
'data': [
@ -38,7 +21,8 @@
'qweb': [
'static/src/xml/widget.xml',
],
'license': 'AGPL-3',
'auto_install': False,
'installable': False,
'installable': True,
'web_preload': True,
}

7
web_widget_color/static/src/css/widget.css

@ -21,3 +21,10 @@
top: 3px;
width: 40px;
}
.color_box {
width: 10px;
height: 10px;
display: inline-block;
margin-right: 5px;
}

45
web_widget_color/static/src/js/widget.js

@ -1,4 +1,12 @@
openerp.web_widget_color = function (instance) {
odoo.define('web.web_widget_color', function(require) {
"use strict";
var core = require('web.core');
var widget = require('web.form_widgets');
var FormView = require('web.FormView');
var QWeb = core.qweb;
var _lt = core._lt;
var _super_getDir = jscolor.getDir.prototype;
jscolor.getDir = function () {
@ -9,11 +17,7 @@ openerp.web_widget_color = function (instance) {
return jscolor.dir;
};
instance.web.form.widgets.add('color', 'instance.web.form.FieldColor');
instance.web.search.fields.add('color', 'instance.web.search.CharField');
instance.web.form.FieldColor = instance.web.form.FieldChar.extend({
var FieldColor = widget.FieldChar.extend({
template: 'FieldColor',
widget_class: 'oe_form_field_color',
is_syntax_valid: function () {
@ -33,27 +37,48 @@ openerp.web_widget_color = function (instance) {
}
return true;
},
store_dom_value: function() {
if (!this.silent) {
if (!this.get('effective_readonly') &&
this.$('input').val() !== '' &&
this.is_syntax_valid()) {
// We use internal_set_value because we were called by
// ``.commit_value()`` which is called by a ``.set_value()``
// itself called because of a ``onchange`` event
this.internal_set_value(
this.parse_value(
this.$('input').val())
);
}
}
},
render_value: function () {
var show_value = this.format_value(this.get('value'), '');
if (!this.get("effective_readonly")) {
var $input = this.$el.find('input');
$input.val(show_value);
$input.css("background-color", show_value)
$input.css("background-color", show_value);
jscolor.init(this.$el[0]);
} else {
this.$(".oe_form_char_content").text(show_value);
this.$('div').css("background-color", show_value)
this.$('div').css("background-color", show_value);
}
}
});
core.form_widget_registry.add('color', FieldColor);
/*
* Init jscolor for each editable mode on view form
*/
instance.web.FormView.include({
FormView.include({
to_edit_mode: function () {
this._super();
jscolor.init(this.$el[0]);
}
});
};
return {
FieldColor: FieldColor
};
});

2
web_widget_color/static/src/xml/widget.xml

@ -19,6 +19,6 @@
</span>
</t>
<tr t-extend="ListView.row">
<t t-jquery="t td t" t-operation="replace"><t t-if="column.widget =='color' || column.type == 'color'"><div t-att-style="'background-color:' + render_cell(record, column)"/></t><t t-raw="render_cell(record, column)"/></t>
<t t-jquery="t td t" t-operation="replace"><t t-if="column.widget =='color' || column.type == 'color'"><div class="color_box" t-att-style="'background-color:' + render_cell(record, column)"/></t><t t-raw="render_cell(record, column)"/></t>
</tr>
</templates>

20
web_widget_color/view/web_widget_color_view.xml

@ -1,12 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="assets_backend" name="web_widget_color assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/web_widget_color/static/src/css/widget.css"/>
<script type="text/javascript" src="/web_widget_color/static/lib/jscolor/jscolor.js"></script>
<script type="text/javascript" src="/web_widget_color/static/src/js/widget.js"></script>
</xpath>
</template>
</data>
</openerp>
<odoo>
<template id="assets_backend" name="web_widget_color assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/web_widget_color/static/src/css/widget.css"/>
<script type="text/javascript" src="/web_widget_color/static/lib/jscolor/jscolor.js"></script>
<script type="text/javascript" src="/web_widget_color/static/src/js/widget.js"></script>
</xpath>
</template>
</odoo>
Loading…
Cancel
Save