El viernes, 2 de octubre de 2015, 16:50:07 (UTC+1), Antonio Roncero 
escribió:
>
>
>
> El viernes, 2 de octubre de 2015, 9:31:39 (UTC+1), Jesús Martín Jiménez 
> escribió:
>>
>> Hola Antonio,
>>
>> El 2 de octubre de 2015, 10:29, Antonio Roncero <[email protected]> 
>> escribió:
>>
>>> Hola, sigo probando...
>>>
>>> ¿Cual es la forma de añadir un boton a un arbol que abra el registro 
>>> asociado a un campo reference?, es decir,
>>>
>>> tengo un modelo con un campo tipo Reference, me gustaria que la vista 
>>> arbol de este modelo hubiera un boton que abriera el registro asociado, por 
>>> ejemplo, el id 5 del modelo party.party. O cambiar el funcionmiento por 
>>> defecto del doble click para que en lugar de cambiar de tipo de vista (a 
>>> vista formulario del registro) abriera el registro asociado del campo 
>>> reference.
>>>
>>
>> Tal vez te sirva de ejemplo la apertura de cantidad de productos que se 
>> abre desde las ubicaciones.
>>  
>>
>
> Gracias, le he echado un vistazo y no es exactamente lo que quiero.
>
> Estoy mirando la documentacion y entiendo que es esto:
>
> button 
> <http://doc.tryton.org/3.2/trytond/doc/topics/views/index.html#button>
>
> Display a button.
>
>
>    - 
>    
>    string: The string that will be displayed inside the button.
>    - 
>    
>    name: The name of the function that will be called. The function must 
>    have this syntax:
>    
>    button(cls, records)
>    
>    The function may return an ir.action id ...
>    
> pero estoy intentando devolver el ir.action y no me funciona (tambien es 
> cierto que lo estoy haciendo al estilo openerp y segurametne no sea asi)
> Tambien he intentado, basandome 
> en @ModelView.button_action('modelo.action_id'), hacer el return del mismo 
> modo 'modelo.action_id' y no hace nada
> ¿Donde puedo ver un ejemplo de una funcion que devuelva un 
> ir.action.act_window ? 
>

Ya funciona (Gracias Pokoli), el motivo era que aunque 
@ModelView.button_action recibe directamente el xml_id de la accion, la 
funcion decorada por @ModelView.button debe devolver el id (entero) de la 
accion por lo que hay que usar Pool().get('ir.model.data').get_id('modulo', 
'accion_xml_id')
 

>
>
>>> Gracias
>>>
>>
>>
>>
>> -- 
>>
>> Jesús Martín
>>
>> Zikzakmedia SL
>> C/ de Sant Jaume, 9, baixos, 2ª
>> 08720 Vilafranca del Penedès
>> ☏ 93 890 21 08
>>
>

Responder a