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.Many2One('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 >
