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-es00:53
-!- daniel__(~daniel@2.152.107.85.dyn.user.ono.com) has joined #tryton-es09:02
daniel__buenos dias09:26
daniel__tengo un par de dudas, por si me podeis ayudar09:26
daniel__una es como filtrar los ids que llegan a un workflow para que no se actualicen con este09:27
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'09:27
daniel__he intentado quitarlos de la lista de ids pero sigue haciendose el update del workflow09:28
daniel__Por otro lado, tengo la duda de como modificar las opciones (invisible, readonly, etc) de un atributo que esta declarado en otro modulo09:29
daniel__por ejemplo, quiero poder modificar un metodo de contacto de un party sin que este este en estado 'draft'09:30
daniel__Gracias de antemano09:30
pokolidaniel__: buenos dias09:33
pokolidaniel__: ¿Porqué quieres filtrar los registros de un workflow?09:34
pokolidaniel__: los metodos de contacto de un tercero no tienen estado :$09:34
daniel__pokoli: buenas!10:07
daniel__pokoli: quiero que se realicen comprobaciones sobre los campos del modelo cuando se realiza una transicion del workflow10:07
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 error10:08
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 Contract10:09
pokolidaniel__: Si es campos obligatorios es tan facil como hacer un states['required'] con un pyson que dependa del campo estado10:11
pokolidaniel__: hay ejemplos en todos los módulos base10:11
pokolidaniel__: entonces puedes sobre-escribir el states['readonly'] utilizando el método __setup__ de tu módulo (que debe depender del original)10:12
daniel__pokoli: Gracias! no habia caido en el metodo __setup__...10:13
daniel__pokoli: en cuanto al filtrado del workflow?10:14
daniel__pokoli: puede que tambien lo esté enfocando mal...10:14
pokolidaniel__: si la validacion es de obligatorios puedes utilizar el states10:21
pokolidaniel__: sinó puedes añadir un check_* que no se ejecute cuando el estado no sea uno de los que tu quieras10:22
pokolidaniel__: por ejemplo, como se hace en el módulo de producción: http://hg.tryton.org/modules/production/file/e173441ef3f8/production.py#l48410:25
daniel__pokoli: el check_* se ejecuta antes o despues de la transicion del workflow?10:33
daniel__pokoli: no se pueden definir validaciones dentro del workflow? ya que son validaciones que se hacen para poder hacer la transicion10:35
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 registro10:39
pokolidaniel__: al hacer el write de la transición saltarà la validación y por lo tanto el error10:39
pokolidaniel__: si me dices que es lo que quieres validar te puedo dar mas pistas10:40
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ón10:42
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 campos11:12
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 transicion11:13
daniel__como por ejemplo: Para la transicion de 'draft' a 'requested' queremos que se valide si PIN y PUK estan rellenos.11:14
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 rojo11:18
-!- mariomop(~quassel@181.93.174.77) has joined #tryton-es13:17
-!- daniel(~daniel@90.68.31.84) has joined #tryton-es13:36
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es14:05
Guest33208pokoli: muchas gracias! lo pruebo a ver que tal14:18
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es20:59

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