Reviewers: ,
Please review this at http://codereview.tryton.org/133001/ Affected files: M CHANGELOG M trytond/ir/ui/view.py M trytond/ir/ui/view.xml Index: CHANGELOG =================================================================== --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Add wizard to show views * Search on Many2One fields include inactive records * Change select on fields into Boolean * Change format of search_value on ir.action.act_window Index: trytond/ir/ui/view.py =================================================================== --- a/trytond/ir/ui/view.py +++ b/trytond/ir/ui/view.py @@ -233,6 +233,57 @@ View() +class ShowViewInit(ModelView): + 'Show view init' + _name = 'ir.ui.view.show.init' + +ShowViewInit() + + +class ShowView(Wizard): + 'Show view' + _name = 'ir.ui.view.show' + + states = { + 'init': { + 'result': { + 'type': 'form', + 'object': 'ir.ui.view.show.init', + 'state': [ + ('end', 'Close', 'tryton-cancel', True), + ], + }, + }, + } + + def __init__(self): + super(ShowView, self).__init__() + self._error_messages.update({ + 'view_type': 'Only "form" view can be shown!', + }) + + def execute(self, wiz_id, data, state='init'): + pool = Pool() + view_obj = pool.get('ir.ui.view') + result = super(ShowView, self).execute(wiz_id, data, state=state) + view = view_obj.browse(data['id']) + view_id = view.id + view_type = view.type + if view.inherit: + view_id = view.inherit.id + view_type = view.inherit.type + if view_type != 'form': + self.raise_user_error('view_type') + model_obj = pool.get(view.model) + fields_view = model_obj.fields_view_get(view_id=view.id) + result['fields'] = fields_view['fields'] + result['arch'] = fields_view['arch'] + result['object'] = view.model + return result + +ShowView() + + class ViewShortcut(ModelSQL, ModelView): "View shortcut" _name = 'ir.ui.view_sc' Index: trytond/ir/ui/view.xml =================================================================== --- a/trytond/ir/ui/view.xml +++ b/trytond/ir/ui/view.xml @@ -3,6 +3,12 @@ this repository contains the full copyright notices and license terms. --> <tryton> <data> + + <record model="ir.action.wizard" id="act_view_show"> + <field name="name">Show View</field> + <field name="wiz_name">ir.ui.view.show</field> + </record> + <record model="ir.ui.view" id="view_view_form"> <field name="model">ir.ui.view</field> <field name="type">form</field> @@ -23,6 +29,11 @@ <field name="field_childs"/> <separator name="arch" colspan="4"/> <field name="arch" colspan="4"/> + <button name="%(act_view_show)d" + string="_Show" + type="action" + colspan="4" + /> </form> ]]> </field> -- [email protected] mailing list
