From a32c1d3c8dfd3d4684f89a6181f3a093dde26ae6 Mon Sep 17 00:00:00 2001 From: fwi-odoo Date: Tue, 26 Jul 2016 12:06:35 +0200 Subject: [MIG] web_editor: migrate to new api --- addons/web_editor/models/ir_qweb.py | 73 +++++++++++++++---------------------- 1 file changed, 29 insertions(+), 44 deletions(-) (limited to 'addons/web_editor/models/ir_qweb.py') diff --git a/addons/web_editor/models/ir_qweb.py b/addons/web_editor/models/ir_qweb.py index b1c0a165e44..ca16f9e86a9 100644 --- a/addons/web_editor/models/ir_qweb.py +++ b/addons/web_editor/models/ir_qweb.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + """ Web_editor-context rendering needs to add some metadata to rendered and allow to edit fields, as well as render a few fields differently. -Also, adds methods to convert values back to openerp models. +Also, adds methods to convert values back to Odoo models. """ import ast @@ -22,22 +24,19 @@ import pytz from dateutil import parser from lxml import etree, html from PIL import Image as I -import openerp.modules - -from odoo import api +import odoo.modules -import openerp -from openerp.osv import orm, fields -from openerp.tools import ustr, DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT -from openerp.tools import html_escape as escape -from openerp.addons.base.ir import ir_qweb +from odoo import api, models, fields +from odoo.tools import ustr +from odoo.tools import html_escape as escape +from odoo.addons.base.ir import ir_qweb REMOTE_CONNECTION_TIMEOUT = 2.5 logger = logging.getLogger(__name__) -class QWeb(orm.AbstractModel): +class QWeb(models.AbstractModel): """ QWeb object for rendering editor stuff """ _inherit = 'ir.qweb' @@ -69,7 +68,7 @@ class QWeb(orm.AbstractModel): #------------------------------------------------------ -class Field(orm.AbstractModel): +class Field(models.AbstractModel): _name = 'ir.qweb.field' _inherit = 'ir.qweb.field' @@ -98,14 +97,14 @@ class Field(orm.AbstractModel): return self.value_from_string(element.text_content().strip()) -class Integer(orm.AbstractModel): +class Integer(models.AbstractModel): _name = 'ir.qweb.field.integer' _inherit = 'ir.qweb.field.integer' value_from_string = int -class Float(orm.AbstractModel): +class Float(models.AbstractModel): _name = 'ir.qweb.field.float' _inherit = 'ir.qweb.field.float' @@ -117,7 +116,7 @@ class Float(orm.AbstractModel): .replace(lang.decimal_point, '.')) -class ManyToOne(orm.AbstractModel): +class ManyToOne(models.AbstractModel): _name = 'ir.qweb.field.many2one' _inherit = 'ir.qweb.field.many2one' @@ -146,7 +145,7 @@ class ManyToOne(orm.AbstractModel): return None -class Contact(orm.AbstractModel): +class Contact(models.AbstractModel): _name = 'ir.qweb.field.contact' _inherit = 'ir.qweb.field.contact' @@ -165,18 +164,7 @@ class Contact(orm.AbstractModel): return node and node.__html__() -def parse_fuzzy(in_format, value): - day_first = in_format.find('%d') < in_format.find('%m') - - if '%y' in in_format: - year_first = in_format.find('%y') < in_format.find('%d') - else: - year_first = in_format.find('%Y') < in_format.find('%d') - - return parser.parse(value, dayfirst=day_first, yearfirst=year_first) - - -class Date(orm.AbstractModel): +class Date(models.AbstractModel): _name = 'ir.qweb.field.date' _inherit = 'ir.qweb.field.date' @@ -192,11 +180,10 @@ class Date(orm.AbstractModel): if not value: return False - datetime.datetime.strptime(value, DEFAULT_SERVER_DATE_FORMAT) return value -class DateTime(orm.AbstractModel): +class DateTime(models.AbstractModel): _name = 'ir.qweb.field.datetime' _inherit = 'ir.qweb.field.datetime' @@ -205,13 +192,11 @@ class DateTime(orm.AbstractModel): attrs = super(DateTime, self).attributes(record, field_name, options, values) value = record[field_name] if isinstance(value, basestring): - value = datetime.datetime.strptime( - value, DEFAULT_SERVER_DATETIME_FORMAT) + value = fields.Datetime.from_string(value) if value: # convert from UTC (server timezone) to user timezone - value = fields.datetime.context_timestamp( - self._cr, self._uid, timestamp=value, context=self.env.context) - value = value.strftime(DEFAULT_SERVER_DATETIME_FORMAT) + value = fields.Datetime.context_timestamp(self, timestamp=value) + value = fields.Datetime.to_string(value) attrs['data-oe-original'] = value return attrs @@ -240,10 +225,10 @@ class DateTime(orm.AbstractModel): exc_info=True) # format back to string - return dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT) + return fields.Datetime.to_string(dt) -class Text(orm.AbstractModel): +class Text(models.AbstractModel): _name = 'ir.qweb.field.text' _inherit = 'ir.qweb.field.text' @@ -252,7 +237,7 @@ class Text(orm.AbstractModel): return html_to_text(element) -class Selection(orm.AbstractModel): +class Selection(models.AbstractModel): _name = 'ir.qweb.field.selection' _inherit = 'ir.qweb.field.selection' @@ -270,7 +255,7 @@ class Selection(orm.AbstractModel): value, selection)) -class HTML(orm.AbstractModel): +class HTML(models.AbstractModel): _name = 'ir.qweb.field.html' _inherit = 'ir.qweb.field.html' @@ -284,7 +269,7 @@ class HTML(orm.AbstractModel): return '\n'.join(content) -class Image(orm.AbstractModel): +class Image(models.AbstractModel): """ Widget options: @@ -361,7 +346,7 @@ class Image(orm.AbstractModel): if sep and sep != '/': rest.replace(sep, '/') - path = openerp.modules.get_module_resource( + path = odoo.modules.get_module_resource( match.group('module'), 'static', *(rest.split('/'))) if not path: @@ -403,7 +388,7 @@ class Image(orm.AbstractModel): return out.getvalue().encode('base64') -class Monetary(orm.AbstractModel): +class Monetary(models.AbstractModel): _name = 'ir.qweb.field.monetary' _inherit = 'ir.qweb.field.monetary' @@ -417,7 +402,7 @@ class Monetary(orm.AbstractModel): .replace(lang.decimal_point, '.')) -class Duration(orm.AbstractModel): +class Duration(models.AbstractModel): _name = 'ir.qweb.field.duration' _inherit = 'ir.qweb.field.duration' @@ -435,14 +420,14 @@ class Duration(orm.AbstractModel): return float(value) -class RelativeDatetime(orm.AbstractModel): +class RelativeDatetime(models.AbstractModel): _name = 'ir.qweb.field.relative' _inherit = 'ir.qweb.field.relative' # get formatting from ir.qweb.field.relative but edition/save from datetime -class QwebView(orm.AbstractModel): +class QwebView(models.AbstractModel): _name = 'ir.qweb.field.qweb' _inherit = 'ir.qweb.field.qweb' -- cgit v1.2.3