Browse Source

[IMP] : patch getDir function to serve files

[REM] : remove jscolor route and replace it with JS
pull/777/head
Adil Houmadi 10 years ago
committed by Enric Tobella
parent
commit
0fc48ded31
No known key found for this signature in database GPG Key ID: 1A2546A1B7BA2451
  1. 1
      web_widget_color/__init__.py
  2. 61
      web_widget_color/controller.py
  3. 9
      web_widget_color/static/src/js/widget.js

1
web_widget_color/__init__.py

@ -23,4 +23,3 @@
# @author Adil Houmadi <ah@taktik.be> # @author Adil Houmadi <ah@taktik.be>
# #
############################################################################## ##############################################################################
from . import controller

61
web_widget_color/controller.py

@ -1,61 +0,0 @@
# -*- encoding: utf-8 -*-
############################################################################
#
# OpenERP, 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>
#
##############################################################################
import openerp.http as http
from openerp.http import request
from os.path import join, abspath, exists
import mimetypes
class JsColor(http.Controller):
@http.route("/jscolor/<string:image>", type="http", auth="user")
def jscolor(self, image):
addons_path = http.addons_manifest['web_widget_color']['addons_path']
path = join(
addons_path,
'web_widget_color',
'static',
'lib',
'jscolor',
image
)
if not exists(path):
return request.not_found()
try:
image_file = open(abspath(path))
image_data = image_file.read()
image_file.close()
mime_type = mimetypes.guess_type(path)
if len(mime_type) > 1:
mime_type = mime_type[0]
else:
return request.not_found()
except:
return request.not_found()
headers = [
('Content-Type', '%s' % mime_type),
('Content-Length', len(image_data)),
]
return request.make_response(image_data, headers)

9
web_widget_color/static/src/js/widget.js

@ -1,5 +1,14 @@
openerp.web_widget_color = function (instance) { openerp.web_widget_color = function (instance) {
var _super_getDir = jscolor.getDir.prototype;
jscolor.getDir = function () {
var dir = _super_getDir.constructor();
if (dir.indexOf('web_widget_color') === -1) {
jscolor.dir = 'web_widget_color/static/lib/jscolor/';
}
return jscolor.dir;
};
instance.web.form.widgets.add('color', 'instance.web.form.FieldColor'); instance.web.form.widgets.add('color', 'instance.web.form.FieldColor');
instance.web.search.fields.add('color', 'instance.web.search.CharField'); instance.web.search.fields.add('color', 'instance.web.search.CharField');

Loading…
Cancel
Save