chat.freenode.net #tryton-es log beginning Mon Apr 30 00:02:01 CEST 2018 | ||
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es | 00:53 | |
-!- daniel__(~daniel@2.152.107.85.dyn.user.ono.com) has joined #tryton-es | 09:02 | |
daniel__ | buenos dias | 09:26 |
---|---|---|
daniel__ | tengo un par de dudas, por si me podeis ayudar | 09:26 |
daniel__ | una es como filtrar los ids que llegan a un workflow para que no se actualicen con este | 09: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 workflow | 09:28 |
daniel__ | Por otro lado, tengo la duda de como modificar las opciones (invisible, readonly, etc) de un atributo que esta declarado en otro modulo | 09: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 antemano | 09:30 |
pokoli | daniel__: buenos dias | 09:33 |
pokoli | daniel__: ¿Porqué quieres filtrar los registros de un workflow? | 09:34 |
pokoli | daniel__: 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 workflow | 10: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 error | 10: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 Contract | 10:09 |
pokoli | daniel__: Si es campos obligatorios es tan facil como hacer un states['required'] con un pyson que dependa del campo estado | 10:11 |
pokoli | daniel__: hay ejemplos en todos los módulos base | 10:11 |
pokoli | daniel__: 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 |
pokoli | daniel__: si la validacion es de obligatorios puedes utilizar el states | 10:21 |
pokoli | daniel__: sinó puedes añadir un check_* que no se ejecute cuando el estado no sea uno de los que tu quieras | 10:22 |
pokoli | daniel__: por ejemplo, como se hace en el módulo de producción: http://hg.tryton.org/modules/production/file/e173441ef3f8/production.py#l484 | 10: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 transicion | 10:35 |
pokoli | daniel__: 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 registro | 10:39 |
pokoli | daniel__: al hacer el write de la transición saltarà la validación y por lo tanto el error | 10:39 |
pokoli | daniel__: si me dices que es lo que quieres validar te puedo dar mas pistas | 10:40 |
pokoli | daniel__: incluso puedes crear un pre_validate que se ejecuta al pulsar el botón y antes de ejecutar ninguna lógica de la transición | 10: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 campos | 11: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 transicion | 11:13 |
daniel__ | como por ejemplo: Para la transicion de 'draft' a 'requested' queremos que se valide si PIN y PUK estan rellenos. | 11:14 |
pokoli | daniel__: 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 rojo | 11:18 |
-!- mariomop(~quassel@181.93.174.77) has joined #tryton-es | 13:17 | |
-!- daniel(~daniel@90.68.31.84) has joined #tryton-es | 13:36 | |
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es | 14:05 | |
Guest33208 | pokoli: muchas gracias! lo pruebo a ver que tal | 14:18 |
-!- smarro(~sebastian@190.105.69.55) has joined #tryton-es | 20:59 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!