From dcb212c58c500b40e04fc76bf19f257602d2ba6e Mon Sep 17 00:00:00 2001 From: Adil Houmadi Date: Mon, 2 Mar 2015 14:48:03 +0100 Subject: [PATCH] [IMP] : patch getDir function to serve files [REM] : remove jscolor route and replace it with JS --- web_widget_color/__init__.py | 1 - web_widget_color/controller.py | 61 ------------------------ web_widget_color/static/src/js/widget.js | 9 ++++ 3 files changed, 9 insertions(+), 62 deletions(-) delete mode 100644 web_widget_color/controller.py diff --git a/web_widget_color/__init__.py b/web_widget_color/__init__.py index 94fdf5a6..372bd049 100644 --- a/web_widget_color/__init__.py +++ b/web_widget_color/__init__.py @@ -23,4 +23,3 @@ # @author Adil Houmadi # ############################################################################## -from . import controller diff --git a/web_widget_color/controller.py b/web_widget_color/controller.py deleted file mode 100644 index f1921075..00000000 --- a/web_widget_color/controller.py +++ /dev/null @@ -1,61 +0,0 @@ -# -*- encoding: utf-8 -*- -############################################################################ -# -# OpenERP, Open Source Web Color -# Copyright (C) 2012 Savoir-faire Linux (). -# Copyright (C) 2014 Anybox -# Copyright (C) 2015 Taktik SA -# -# 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 . -# -# @author Étienne Beaudry Auger -# @author Adil Houmadi -# -############################################################################## -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/", 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) diff --git a/web_widget_color/static/src/js/widget.js b/web_widget_color/static/src/js/widget.js index 8b3401ce..44299752 100644 --- a/web_widget_color/static/src/js/widget.js +++ b/web_widget_color/static/src/js/widget.js @@ -1,5 +1,14 @@ 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.search.fields.add('color', 'instance.web.search.CharField');