IRC logs of #tryton-es for Monday, 2018-04-30

chat.freenode.net #tryton-es log beginning Mon Apr 30 00:02:01 CEST 2018
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es02:04
-!- daniel__(~daniel@2.152.107.85.dyn.user.ono.com) has joined #tryton-es11:04
daniel__buenos dias11:04
daniel__tengo un par de dudas, por si me podeis ayudar11:04
daniel__una es como filtrar los ids que llegan a un workflow para que no se actualicen con este11:04
daniel__es decir, me llega a la transicion del workflow un listado de ids, y quiero filtrar los que no tengan el campo 'X' igual a '1'11:04
daniel__he intentado quitarlos de la lista de ids pero sigue haciendose el update del workflow11:04
daniel__Por otro lado, tengo la duda de como modificar las opciones (invisible, readonly, etc) de un atributo que esta declarado en otro modulo11:04
daniel__por ejemplo, quiero poder modificar un metodo de contacto de un party sin que este este en estado 'draft'11:04
daniel__Gracias de antemano11:04
pokolidaniel__: buenos dias11:04
pokolidaniel__: ¿Porqué quieres filtrar los registros de un workflow?11:04
pokolidaniel__: los metodos de contacto de un tercero no tienen estado :$11:04
daniel__pokoli: buenas!12:04
daniel__pokoli: quiero que se realicen comprobaciones sobre los campos del modelo cuando se realiza una transicion del workflow12:04
daniel__pokoli: por ejemplo si cambias el estado del contrato (que tiene un workflow para definir las transiciones entre estados) y hay un campo que debe ser obligatorio solo si el contrato es de tipo A, se haga esta comprobacion en la transicion y devuelva un error12:04
daniel__pokoli: por otro lado, tienes razon, los metodos de contacto no tienen estado... era simplemente un ejemplo, ya veo que mal acertado. El caso real es que desde un modulo nuestro quiero cambiar el comportamiento de Party en Contract. Quiero que se pueda modificar aun que no este en 'draft' el Contract12:04
pokolidaniel__: Si es campos obligatorios es tan facil como hacer un states['required'] con un pyson que dependa del campo estado12:04
pokolidaniel__: hay ejemplos en todos los módulos base12:04
pokolidaniel__: entonces puedes sobre-escribir el states['readonly'] utilizando el método __setup__ de tu módulo (que debe depender del original)12:04
daniel__pokoli: Gracias! no habia caido en el metodo __setup__...12:04
daniel__pokoli: en cuanto al filtrado del workflow?12:04
daniel__pokoli: puede que tambien lo esté enfocando mal...12:04
pokolidaniel__: si la validacion es de obligatorios puedes utilizar el states12:04
pokolidaniel__: sinó puedes añadir un check_* que no se ejecute cuando el estado no sea uno de los que tu quieras12:04
pokolidaniel__: por ejemplo, como se hace en el módulo de producción: http://hg.tryton.org/modules/production/file/e173441ef3f8/production.py#l48412:04
daniel__pokoli: el check_* se ejecuta antes o despues de la transicion del workflow?12:04
daniel__pokoli: no se pueden definir validaciones dentro del workflow? ya que son validaciones que se hacen para poder hacer la transicion12:04
pokolidaniel__: el check se ejecuta en el validate (ver 3 lineas mas arriba) y el validate se ejecuta despues de la creación y modificación del registro12:04
pokolidaniel__: al hacer el write de la transición saltarà la validación y por lo tanto el error12:04
pokolidaniel__: si me dices que es lo que quieres validar te puedo dar mas pistas12:04
pokolidaniel__: incluso puedes crear un pre_validate que se ejecuta al pulsar el botón y antes de ejecutar ninguna lógica de la transición12:04
daniel__pokoli: Tenemos un contrato nuevo simulando un contrato electronico (un concepto diferente al de contrato de Tryton) pero que se gestiona con un workflow como un contract normal. Este contract tiene unos campos referentes a telefonia, como PIN, PUK, MSIDSN y otros campos13:04
daniel__pokoli: tambien tienes unos flags de documentacion recibida y equipo recibido. Hemos añadido unos estados más al workflow de este Electronic Contract y queremos que en las transiciones de estado 'draft' a 'requested' se ejecuten ciertas validaciones para realizar la transicion13:04
daniel__como por ejemplo: Para la transicion de 'draft' a 'requested' queremos que se valide si PIN y PUK estan rellenos.13:04
pokolidaniel__: si tienes que estar rellenos, ponle el states['required'] en función del estado y se validarà automàticamente y el cliente te pondrá los campos en rojo13:04
-!- mariomop(~quassel@181.93.174.77) has joined #tryton-es15:04
-!- daniel(~daniel@90.68.31.84) has joined #tryton-es15:04
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es16:04
Guest33208pokoli: muchas gracias! lo pruebo a ver que tal16:04
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es22:04

Generated by irclog2html.py 2.16.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!