diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index ac4117f2973..0b117a4f662 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -31,7 +31,6 @@ from lxml import etree from functools import partial from openerp import tools -from openerp.modules import module from openerp.osv import fields, osv, orm from openerp.tools import graph, SKIPPED_ELEMENT_TYPES from openerp.tools.safe_eval import safe_eval as eval @@ -59,32 +58,6 @@ class view_custom(osv.osv): class view(osv.osv): _name = 'ir.ui.view' - def _arch_get(self, cr, uid, ids, name, arg, context=None): - """ - For each id being read, return arch_db or the content of arch_file - """ - result = {} - for record in self.read(cr, uid, ids, ['arch_file', 'arch_db'], context=context): - if record['arch_db']: - result[record['id']] = record['arch_db'] - continue - - view_module, path = record['arch_file'].split('/', 1) - arch_path = module.get_module_resource(view_module, path) - if not arch_path: - raise IOError("No file '%s' in module '%s'" % (path, view_module)) - - with misc.file_open(arch_path) as f: - result[record['id']] = f.read().decode('utf-8') - - return result - - def _arch_set(self, cr, uid, id, name, value, arg, context=None): - """ - Forward writing to arch_db - """ - self.write(cr, uid, id, {'arch_db': value}, context=context) - _columns = { 'name': fields.char('View Name', required=True), 'model': fields.char('Object', size=64, select=True), @@ -100,9 +73,7 @@ class view(osv.osv): ('kanban', 'Kanban'), ('search','Search'), ('qweb', 'QWeb')], string='View Type'), - 'arch_file': fields.char("View path"), - 'arch_db': fields.text("Arch content", oldname='arch'), - 'arch': fields.function(_arch_get, fnct_inv=_arch_set, store=False, string="View Architecture", type='text', nodrop=True), + 'arch': fields.text('View Architecture', required=True), 'inherit_id': fields.many2one('ir.ui.view', 'Inherited View', ondelete='cascade', select=True), 'field_parent': fields.char('Child Field',size=64), 'xml_id': fields.function(osv.osv.get_xml_id, type='char', size=128, string="External ID", @@ -767,13 +738,12 @@ class view(osv.osv): def render(self, cr, uid, id_or_xml_id, values, context=None): def loader(name): arch = self.read_template(cr, uid, name, context=context) - arch_tree = etree.fromstring(arch) self.distribute_branding(arch_tree) arch = etree.tostring(arch_tree, encoding='utf-8') - arch = '%s' % (name.encode('utf-8'), arch) - + arch = '%s' % (arch) return arch + engine = qweb.QWebXml(loader) return engine.render(id_or_xml_id, values) diff --git a/openerp/addons/base/ir/ir_ui_view_view.xml b/openerp/addons/base/ir/ir_ui_view_view.xml index 6ae2cdc4ff3..44594c1e616 100644 --- a/openerp/addons/base/ir/ir_ui_view_view.xml +++ b/openerp/addons/base/ir/ir_ui_view_view.xml @@ -15,7 +15,6 @@ -