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
>

Responder a