He creado un objeto para el contexto:
class CustomersContext(ModelView, Workflow, 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.
Att
<
Loading Image...>
Elmer
El miércoles, 28 de junio de 2017, 12:17:11 (UTC-5), Elmer Steven Salazar
Post by Elmer Steven Salazar AriasSe tiene documentación sobre el context_model?. Donde encuentro un ejemplo
de su uso.
Att
Elmer
El miércoles, 28 de junio de 2017, 4:00:08 (UTC-5), Sergi Almacellas
Post by Sergi Almacellas AbellanaPost by Elmer Steven Salazar AriasEstimados, en mi proceso de aprendizaje de la herramienta me encuentro
Tengo una tabla con varias columnas que contienen la cantidad de
trabajos realizados en un mes. Se requiere filtrar solo los registros
que tengan en los 3 primeros meses algún trabajo, he intentado aplicar
(Job1:+Job2:+Job3:)>0, pero evidentemente esta mal. Como se puede
aplicar ese tipo de filtros?
Es posible tener uno o varios combo box en la cabecera de la rejilla
para parametrizar los filtros a aplicar?
Deberias utilizar un context_model para definir los valors que quieres
settear en en contexto y luego applicar los filtros en tu modelo segun
estos valores.
En el context_model puedes añadir los campos que quieras.
--
Sergi Almacellas Abellana
www.koolpi.com