Lo que trato de hacer es los siguiente: Cuando se seleccione un valor del combobox se refresquen los datos del treeview con el nuevo filtro.
Att elmer El 29 de junio de 2017, 2:38, Elmer Steven Salazar Arias < [email protected]> escribió: > Gracias, > Una consulta en donde encuentro la definicion del metodo search del modelo > party par ver que parametros recive y poder sobreescribirlo > > Saludos, > Elmer > > 2017-06-29 2:27 GMT-05:00 Sergi Almacellas Abellana <[email protected]>: > >> El 29/06/17 a les 06:19, Elmer Steven Salazar Arias ha escrit: >> >>> He creado un objeto para el contexto: >>> class CustomersContext(ModelView, Workflow, ModelSQL): >>> >> >> Si solo lo vas a mostrar en esta pantalla no hace falta que sea ni >> Workflow, ni ModelSQL. >> >> >> 'Customers Context' >>> __name__ = 'crm.customers.context' >>> range_months = fields.Selection([ >>> ('current', 'Current Month'), >>> ('two_last', '2 Last Months'), >>> ('three_last', '3 Last Months'), >>> ('six_last', '6 Last Months'), >>> ('nine_last', '9 Last Months'), >>> ('all', 'All Year'), >>> ], 'Range Months') >>> company = fields.Many2One('company.company', 'Company', >>> required=True) >>> salesman = fields.Many2One('company.employee', 'Salesman') >>> subdivision = fields.Function(fields.Many2On >>> e('country.subdivision', >>> 'State'), 'get_subdivision', searcher='search_subdivision') >>> @classmethod >>> def __setup__(cls): >>> super(CustomersContext, cls).__setup__() >>> cls._buttons.update({ >>> 'current_month': { >>> 'invisible': False, >>> }, >>> 'two_last_month': { >>> 'invisible': False, >>> }, >>> 'three_last_month': { >>> 'invisible': False, >>> }, >>> }) >>> >>> >>> @fields.depends('range_months') >>> def on_change_range_months(cls): >>> print 60 * "*" >>> print "Cambio el combo de Customers" >>> print cls.range_months >>> pool = Pool() >>> Party = pool.get('party.party') >>> context = Transaction().context >>> parties= Transaction().context.get('parties') >>> print parties >>> print 60 * "*" >>> pass >>> >>> y la vista xml correspondiente: >>> <?xml version="1.0"?> >>> <!-- This file is part of Tryton. The COPYRIGHT file at the top level of >>> this repository contains the full copyright notices and license terms. >>> --> >>> <form col="8"> >>> <label name="range_months"/> >>> <field name="range_months"/> >>> <label name="salesman"/> >>> <field widget='selection' name="salesman"/> >>> </form> >>> >>> y la llamada: >>> <record model="ir.ui.view" id="customers_context_view_form"> >>> <field name="model">crm.customers.context</field> >>> <field name="type">form</field> >>> <field name="name">customers_context_form</field> >>> </record> >>> >>> <record model="ir.ui.view" id="customer_view_tree"> >>> <field name="model">party.party</field> >>> <field name="type">tree</field> >>> <field name="name">customer_tree</field> >>> </record> >>> >>> <record model="ir.action.act_window" id="act_customer_form"> >>> <field name="name">Customers</field> >>> <field name="res_model">party.party</field> >>> <field name="context_model">crm.customers.context</field> >>> </record> >>> >>> >>> Esto me genera una vista como la que adjunto. >>> >>> Me he quedado estancado por que no se como obtener el listado de >>> registros de parties y como aplicarle un filtro y volver a mostrar el nuevo >>> listado filtrado. >>> Si alguien me da una mano estaré muy agradecido. >>> >> >> Debes sobreescribir el search del party.party para que te aplique el >> filtro segun los valores del contexto. Mucho mas no te puedo decir porqué >> no se lo que estas intentado realizar. >> >> UN saludo, >> >> >> -- >> Sergi Almacellas Abellana >> www.koolpi.com >> Twitter: @pokoli_srk >> > >
