diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 8bf72f8ab7b..0bf4fc9cdb5 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -4,7 +4,6 @@ ir.ui.menu.tree ir.ui.menu - tree diff --git a/openerp/addons/base/ir/ir.xml b/openerp/addons/base/ir/ir.xml index b587a846b91..fac2946e204 100644 --- a/openerp/addons/base/ir/ir.xml +++ b/openerp/addons/base/ir/ir.xml @@ -6,7 +6,6 @@ ir.values.form.action ir.values - form
@@ -29,7 +28,6 @@ ir.values.form.defaults ir.values - form @@ -52,7 +50,6 @@ ir.values.tree.action ir.values - tree @@ -65,7 +62,6 @@ ir.values.search.action ir.values - search ir.sequence.form ir.sequence - form @@ -179,7 +174,6 @@ ir.sequence.tree ir.sequence - tree @@ -197,7 +191,6 @@ ir.sequence.search ir.sequence - search @@ -223,7 +216,6 @@ ir.sequence.type.form ir.sequence.type - form @@ -239,7 +231,6 @@ ir.sequence.type.tree ir.sequence.type - tree @@ -251,7 +242,6 @@ ir.sequence.type.search ir.sequence.type - search @@ -276,7 +266,6 @@ ir.actions.actions ir.actions.actions - form @@ -290,7 +279,6 @@ ir.actions.actions.tree ir.actions.actions - tree @@ -301,7 +289,6 @@ ir.actions.actions.search ir.actions.actions - search @@ -327,7 +314,6 @@ ir.actions.report.xml ir.actions.report.xml - form @@ -372,7 +358,6 @@ ir.actions.report.xml.tree ir.actions.report.xml - tree @@ -387,7 +372,6 @@ ir.actions.report.xml.search ir.actions.report.xml - search ir.actions.windows.tree ir.actions.act_window - tree @@ -428,7 +411,6 @@ ir.actions.windows.form ir.actions.act_window - form @@ -491,7 +473,6 @@ ir.actions.windows.search ir.actions.act_window - search @@ -527,7 +508,6 @@ ir.actions.wizard.tree ir.actions.wizard - tree @@ -540,7 +520,6 @@ ir.actions.wizard ir.actions.wizard - form @@ -558,7 +537,6 @@ ir.actions.wizard.search ir.actions.wizard - search ir.needaction_users_rel.tree ir.needaction_users_rel - tree 10 @@ -607,7 +584,6 @@ ir.ui.view ir.ui.view - form @@ -633,7 +609,6 @@ ir.ui.view.tree ir.ui.view - tree @@ -649,7 +624,6 @@ ir.ui.view.search ir.ui.view - search @@ -686,7 +660,6 @@ ir.ui.view.custom.search ir.ui.view.custom - search @@ -697,7 +670,6 @@ ir.ui.view.custom.form ir.ui.view.custom - form @@ -713,7 +685,6 @@ ir.ui.view.custom.tree ir.ui.view.custom - tree @@ -734,7 +705,6 @@ ir.attachment.view ir.attachment - form @@ -773,7 +743,6 @@ ir.attachment.view.tree ir.attachment - tree @@ -788,7 +757,6 @@ ir.attachment.search ir.attachment - search @@ -831,7 +799,6 @@ ir.model.form ir.model - form @@ -921,7 +888,6 @@ ir.model.tree ir.model - tree @@ -935,7 +901,6 @@ ir.model.search ir.model - search @@ -957,7 +922,6 @@ ir.model.fields.form ir.model.fields - form @@ -1000,7 +964,6 @@ ir.model.fields.tree ir.model.fields - tree @@ -1015,7 +978,6 @@ ir.model.fields.search ir.model.fields - search @@ -1044,7 +1006,6 @@ ir.model.data.form ir.model.data - form @@ -1071,7 +1032,6 @@ ir.model.data.list ir.model.data - tree @@ -1084,7 +1044,6 @@ ir.model.data.search ir.model.data - search ir.model.constraint.form ir.model.constraint - form @@ -1123,7 +1081,6 @@ ir.model.constraint.list ir.model.constraint - tree @@ -1137,7 +1094,6 @@ ir.model.relation.form ir.model.relation - form @@ -1153,7 +1109,6 @@ ir.model.relation.list ir.model.relation - tree @@ -1214,7 +1169,6 @@ Translations ir.translation - search Translations ir.translation - form @@ -1257,7 +1210,6 @@ Translations ir.translation - tree @@ -1286,7 +1238,6 @@ ir.ui.view_sc ir.ui.view_sc - form @@ -1299,7 +1250,6 @@ ir.ui.view_sc ir.ui.view_sc - tree @@ -1311,7 +1261,6 @@ ir.ui.menu.tree ir.ui.menu - tree @@ -1324,7 +1273,6 @@ ir.ui.menu.form2 ir.ui.menu - form @@ -1364,7 +1312,6 @@ ir.ui.menu.search ir.ui.menu - search @@ -1389,7 +1336,6 @@ ir.cron.tree ir.cron - tree @@ -1406,7 +1352,6 @@ ir.cron.form ir.cron - form @@ -1444,7 +1389,6 @@ ir.cron.search ir.cron - search @@ -1463,7 +1407,6 @@ ir.cron.calendar ir.cron - calendar @@ -1490,7 +1433,6 @@ ir.model.access.tree ir.model.access - tree @@ -1506,7 +1448,6 @@ ir.model.access.form ir.model.access - form @@ -1528,7 +1469,6 @@ ir.model.access.search ir.model.access - search @@ -1561,7 +1501,6 @@ Record rules ir.rule - form @@ -1604,7 +1543,6 @@ Record rules ir.rule - tree @@ -1621,7 +1559,6 @@ Record rules ir.rule - search @@ -1657,7 +1594,6 @@ Server Action ir.actions.server - form @@ -1747,7 +1683,6 @@ Server Actions ir.actions.server - tree @@ -1761,7 +1696,6 @@ ir.actions.server.search ir.actions.server - search @@ -1791,7 +1725,6 @@ ir.actions.todo Config Wizard Steps - tree @@ -1809,7 +1742,6 @@ ir.actions.todo Config Wizard Steps - form
@@ -1839,7 +1771,6 @@ ir.actions.todo ir.actions.todo.select - search @@ -1875,7 +1806,6 @@ ir.mail.server.form ir.mail_server - form @@ -1902,7 +1832,6 @@ ir.mail.server.list ir.mail_server - tree @@ -1917,7 +1846,6 @@ ir.mail.server.search ir.mail_server - search ir.config_parameter.search ir.config_parameter - search @@ -16,7 +15,6 @@ ir.config_parameter.list ir.config_parameter - tree @@ -27,7 +25,6 @@ ir.config_parameter.form ir.config_parameter - form diff --git a/openerp/addons/base/ir/ir_filters.xml b/openerp/addons/base/ir/ir_filters.xml index fec6b0a604e..e4b10d41a03 100644 --- a/openerp/addons/base/ir/ir_filters.xml +++ b/openerp/addons/base/ir/ir_filters.xml @@ -14,7 +14,6 @@ ir.filters.form ir.filters - form @@ -35,7 +34,6 @@ ir.filters.tree ir.filters - tree @@ -50,7 +48,6 @@ ir.filters.search ir.filters - search diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index ac3644a28f7..b2805884f18 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -24,6 +24,7 @@ from lxml import etree from tools import graph from tools.safe_eval import safe_eval as eval import tools +from tools.view_validation import valid_view import os import logging @@ -47,11 +48,22 @@ view_custom() class view(osv.osv): _name = 'ir.ui.view' + + def _type_field(self, cr, uid, ids, name, args, context=None): + result = {} + for record in self.browse(cr, uid, ids, context): + # Get the type from the inherited view if any. + if record.inherit_id: + result[record.id] = record.inherit_id.type + else: + result[record.id] = etree.fromstring(record.arch.encode('utf8')).tag + return result + _columns = { 'name': fields.char('View Name',size=64, required=True), 'model': fields.char('Object', size=64, required=True, select=True), 'priority': fields.integer('Sequence', required=True), - 'type': fields.selection(( + 'type': fields.function(_type_field, type='selection', selection=[ ('tree','Tree'), ('form','Form'), ('mdx','mdx'), @@ -60,7 +72,7 @@ class view(osv.osv): ('diagram','Diagram'), ('gantt', 'Gantt'), ('kanban', 'Kanban'), - ('search','Search')), 'View Type', required=True, select=True), + ('search','Search')], string='View Type', required=True, select=True, store=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), @@ -76,6 +88,11 @@ class view(osv.osv): # Holds the RNG schema _relaxng_validator = None + def create(self, cr, uid, values, context=None): + if 'type' in values: + _logger.warning("Setting the `type` field is deprecated in the `ir.ui.view` model.") + return super(osv.osv, self).create(cr, uid, values, context) + def _relaxng(self): if not self._relaxng_validator: frng = tools.file_open(os.path.join('base','rng','view.rng')) @@ -123,6 +140,8 @@ class view(osv.osv): for error in validator.error_log: _logger.error(tools.ustr(error)) return False + if not valid_view(view_arch): + return False return True _constraints = [ @@ -133,7 +152,7 @@ class view(osv.osv): super(view, self)._auto_init(cr, context) cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_model_type_inherit_id\'') if not cr.fetchone(): - cr.execute('CREATE INDEX ir_ui_view_model_type_inherit_id ON ir_ui_view (model, type, inherit_id)') + cr.execute('CREATE INDEX ir_ui_view_model_type_inherit_id ON ir_ui_view (model, inherit_id)') def get_inheriting_views_arch(self, cr, uid, view_id, model, context=None): """Retrieves the architecture of views that inherit from the given view, from the sets of diff --git a/openerp/addons/base/ir/wizard/wizard_menu_view.xml b/openerp/addons/base/ir/wizard/wizard_menu_view.xml index 9f5d912ed1a..7fd32b256e2 100644 --- a/openerp/addons/base/ir/wizard/wizard_menu_view.xml +++ b/openerp/addons/base/ir/wizard/wizard_menu_view.xml @@ -4,7 +4,6 @@ Create Menu wizard.ir.model.menu.create - form diff --git a/openerp/addons/base/ir/workflow/workflow_view.xml b/openerp/addons/base/ir/workflow/workflow_view.xml index c20eeaed085..44dbc54c718 100644 --- a/openerp/addons/base/ir/workflow/workflow_view.xml +++ b/openerp/addons/base/ir/workflow/workflow_view.xml @@ -12,7 +12,6 @@ workflow.form workflow - form @@ -28,7 +27,6 @@ workflow.search workflow - search @@ -39,7 +37,6 @@ workflow.diagram workflow - diagram @@ -61,7 +58,6 @@ workflow.tree workflow - tree @@ -89,7 +85,6 @@ workflow.activity.form workflow.activity - form @@ -145,7 +140,6 @@ workflow.activity.tree workflow.activity - tree @@ -160,7 +154,6 @@ workflow.activity.search workflow.activity - search @@ -197,7 +190,6 @@ workflow.transition.form workflow.transition - form @@ -221,7 +213,6 @@ workflow.transition.tree workflow.transition - tree @@ -235,7 +226,6 @@ workflow.transition.search workflow.transition - search @@ -263,7 +253,6 @@ workflow.instance.form workflow.instance - form @@ -280,7 +269,6 @@ workflow.instance.tree workflow.instance - tree @@ -293,7 +281,6 @@ workflow.instance.search workflow.instance - search @@ -324,7 +311,6 @@ workflow.workitem.form workflow.workitem - form @@ -342,7 +328,6 @@ workflow.workitem.tree workflow.workitem - tree @@ -356,7 +341,6 @@ workflow.workitem.search workflow.workitem - search diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index f7f67cf323f..5751ed678eb 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -139,14 +139,17 @@ class module(osv.osv): # We use try except, because views or menus may not exist. try: res_mod_dic = res[module_rec.id] - for v in view_obj.browse(cr, uid, imd_models.get('ir.ui.view', []), context=context): + view_ids = imd_models.get('ir.ui.view', []) + for v in view_obj.browse(cr, uid, view_ids, context=context): aa = v.inherit_id and '* INHERIT ' or '' res_mod_dic['views_by_module'].append(aa + v.name + '('+v.type+')') - for rx in report_obj.browse(cr, uid, imd_models.get('ir.actions.report.xml', []), context=context): + report_ids = imd_models.get('ir.actions.report.xml', []) + for rx in report_obj.browse(cr, uid, report_ids, context=context): res_mod_dic['reports_by_module'].append(rx.name) - for um in menu_obj.browse(cr, uid, imd_models.get('ir.ui.menu', []), context=context): + menu_ids = imd_models.get('ir.ui.menu', []) + for um in menu_obj.browse(cr, uid, menu_ids, context=context): res_mod_dic['menus_by_module'].append(um.complete_name) except KeyError, e: _logger.warning( diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml index 6139895021b..fb60bcd25fd 100644 --- a/openerp/addons/base/module/module_view.xml +++ b/openerp/addons/base/module/module_view.xml @@ -7,7 +7,6 @@ ir.module.category.form ir.module.category - form @@ -23,7 +22,6 @@ ir.module.category.tree ir.module.category - tree child_ids @@ -38,7 +36,6 @@ ir.module.module.list.select ir.module.module - search Modules Kanban ir.module.module - kanban @@ -108,7 +104,6 @@ ir.module.module.form ir.module.module - form @@ -170,7 +165,6 @@ ir.module.module.tree ir.module.module - tree diff --git a/openerp/addons/base/module/wizard/base_export_language_view.xml b/openerp/addons/base/module/wizard/base_export_language_view.xml index 9927a647c1b..88e411845c3 100644 --- a/openerp/addons/base/module/wizard/base_export_language_view.xml +++ b/openerp/addons/base/module/wizard/base_export_language_view.xml @@ -5,7 +5,6 @@ Export Translations base.language.export - form diff --git a/openerp/addons/base/module/wizard/base_import_language_view.xml b/openerp/addons/base/module/wizard/base_import_language_view.xml index f6466479bff..727de4e381b 100644 --- a/openerp/addons/base/module/wizard/base_import_language_view.xml +++ b/openerp/addons/base/module/wizard/base_import_language_view.xml @@ -5,7 +5,6 @@ Import Translation base.language.import - form diff --git a/openerp/addons/base/module/wizard/base_language_install_view.xml b/openerp/addons/base/module/wizard/base_language_install_view.xml index d31956c6a04..46870c3ff7c 100644 --- a/openerp/addons/base/module/wizard/base_language_install_view.xml +++ b/openerp/addons/base/module/wizard/base_language_install_view.xml @@ -5,7 +5,6 @@ Load a Translation base.language.install - form diff --git a/openerp/addons/base/module/wizard/base_module_configuration_view.xml b/openerp/addons/base/module/wizard/base_module_configuration_view.xml index 61f920b4333..909a655f1ef 100644 --- a/openerp/addons/base/module/wizard/base_module_configuration_view.xml +++ b/openerp/addons/base/module/wizard/base_module_configuration_view.xml @@ -5,7 +5,6 @@ Module Configuration base.module.configuration - form