diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 10c3e526f65..aef645c79a6 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -82,9 +82,11 @@ class view(osv.osv): 'groups_id': fields.many2many('res.groups', 'ir_ui_view_group_rel', 'view_id', 'group_id', string='Groups', help="If this field is empty, the view applies to all users. Otherwise, the view applies to the users of those groups only."), 'model_ids': fields.one2many('ir.model.data', 'res_id', auto_join=True), + 'page': fields.boolean("Whether this view is a web page template (complete)"), } _defaults = { 'priority': 16, + 'page': False, } _order = "priority,name" diff --git a/openerp/import_xml.rng b/openerp/import_xml.rng index 30768498f8e..d4cd358ae89 100644 --- a/openerp/import_xml.rng +++ b/openerp/import_xml.rng @@ -204,11 +204,22 @@ + + + + + + + + + + + + True + + - - - diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 1a1536e15bf..e9c857d1f3b 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -4886,17 +4886,16 @@ class BaseModel(object): :rtype: List of dictionaries. """ - record_ids = self.search(cr, uid, domain or [], offset, limit or False, order or False, context or {}) + record_ids = self.search(cr, uid, domain or [], offset=offset, limit=limit, order=order, context=context) if not record_ids: return [] - result = self.read(cr, uid, record_ids, fields or [], context or {}) + result = self.read(cr, uid, record_ids, fields=fields, context=context) + if len(result) <= 1: + return result + # reorder read - if len(result) >= 1: - index = {} - for r in result: - index[r['id']] = r - result = [index[x] for x in record_ids if x in index] - return result + index = dict((r['id'], r) for r in result) + return [index[x] for x in record_ids if x in index] def _register_hook(self, cr): """ stuff to do right after the registry is built """ diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py index 645988352d7..3334649eec0 100644 --- a/openerp/tools/convert.py +++ b/openerp/tools/convert.py @@ -872,6 +872,8 @@ form: module.record_id""" % (xml_id,) if el.get(key): record.append(etree.fromstring('' % (key, el.get(key)))) el.attrib.pop(key, None) + if el.get('page'): + record.append(etree.Element('field', name="page", eval="True")) return self._tag_record(cr, record, data_node) def id_get(self, cr, id_str):