Reviewers: ,
Please review this at http://codereview.tryton.org/102001/ Affected files: M trytond/ir/ui/view.py Index: trytond/ir/ui/view.py =================================================================== --- a/trytond/ir/ui/view.py +++ b/trytond/ir/ui/view.py @@ -431,3 +431,49 @@ }) ViewTreeWidth() + + +class ViewTreeExpanded(ModelSQL, ModelView): + _name = 'ir.ui.view_tree_expanded' + + _rec_name = 'model' + model = fields.Char('Model', required=True, select=1) + domain = fields.Char('Domain', required=True, select=1) + nodes = fields.Char('Expanded Nodes') + user = fields.Many2One('res.user', 'User', required=True, + ondelete='CASCADE', select=1) + + def __init__(self): + super(ViewTreeExpanded, self).__init__() + self._rpc.update({ + 'set_expanded': True, + 'get_expanded': True, + }) + + def set_expanded(self, model, domain, nodes): + ids = self.search([ + ('user', '=', Transaction().user), + ('model', '=', model), + ('domain', '=', domain), + ]) + self.delete(ids) + self.create({ + 'user': Transaction().user, + 'model': model, + 'domain': domain, + 'nodes': nodes, + }) + + def get_expanded(self, model, domain): + try: + expanded_info, = self.search([ + ('user', '=', Transaction().user), + ('model', '=', model), + ('domain', '=', domain), + ]) + except ValueError: + return '[]' + return self.read(expanded_info, ['nodes'])['nodes'] + + +ViewTreeExpanded() -- [email protected] mailing list
