chat.freenode.net #tryton-es log beginning Thu Apr 5 00:02:01 CEST 2018 | ||
-!- guifipedro[m](guifiped2@gateway/shell/matrix.org/x-aygcrdyljgfiuelj) has joined #tryton-es | 08:22 | |
-!- daniel___(~daniel@90.68.31.84) has joined #tryton-es | 08:36 | |
daniel___ | Buenas | 08:36 |
---|---|---|
pokoli | daniel___: buenos dias :) | 08:36 |
daniel___ | Pokoli: Buenos dias! | 08:37 |
daniel___ | me podeis hechar una mano con los triggers? | 08:37 |
daniel___ | he creado este gist con la info que he recopilado del problema: https://gist.github.com/danypr92/0eb20e6dddde34b1cc5eb5311aef12e7 | 08:38 |
daniel___ | estoy en la versión 3.8 de Tryton y he intentado crear unos triggers "on write" | 08:38 |
pokoli | daniel___: deberias empezar a plantearte la actualización a una nueva versión, la versión 3.8 dejara de estar soportadas cuando se libere la pròxima versión (23 de Abril) | 08:41 |
pokoli | daniel___: yo lo veo bien definidio el trigger | 08:44 |
daniel___ | pokoli: si, lo tenemos que ir planteando la verdad... | 08:45 |
pokoli | daniel___: la condicion es la correcta, cuando se haga el write del workflow sera False antes del write i true despues del write, por lo tanto se deberia ejecutar el trigger | 08:45 |
pokoli | daniel___: puedes encontrar ejemplos en: http://hg.tryton.org/trytond/file/3.8.17/trytond/tests/test_trigger.py#l171 | 08:46 |
daniel___ | pokoli: sí, pero la realidad es que no se ejecuta. Poniendo breakpoint y pasando paso a paso por ese codigo, vemos que el bool(PYSONDecoder(env).decode(trigger.condition))bool(PYSONDecoder(env).decode(trigger.condition)) siempre devuelve True, ya que el PYSONDecoder solo transforma la condición a algo legible, no la evalua... | 08:46 |
daniel___ | pokoli: el bool() de Python no evalua condiciones, solo devuelve False si se le pasa un Flase o None | 08:47 |
pokoli | daniel___: el bool lo evalua | 08:47 |
daniel___ | https://docs.python.org/2/library/functions.html#bool | 08:48 |
pokoli | ACTION checking | 08:49 |
pokoli | daniel___: el decoder.decode es el que lo evalua | 08:53 |
pokoli | daniel___: https://pastebin.com/LfNq3uSS | 08:56 |
daniel___ | pokoli: ok! gracias! | 09:14 |
daniel___ | pokoli: veo que la sintaxis de la condición es diferente, tu hacer una comparacion normal: `Eval('self', {}).get('state') == 'blank'` y yo uso la sintaxis del domain: `(Eval('self', {}).get('state'), '==', 'requested')` | 09:16 |
daniel___ | voy a ver si cambiando la sintaxis me funciona | 09:16 |
pokoli | daniel___: en pyson puro seria Equal(Eval('self', {}).get('state'), 'requested') | 09:28 |
pokoli | daniel___: entonces el problema es que utilizas un domain y el domain te devuelve una tupla, que al evaluarse a true siempre es verdadero | 09:29 |
pokoli | daniel___: eso explicaria porqué no te funciona | 09:29 |
-!- daniel___(~daniel@90.68.31.84) has joined #tryton-es | 11:49 | |
daniel___ | pokoli: muchas gracias, ya hemos conseguido que funcione | 11:50 |
daniel___ | pokoli: ahora, para poner varias condiciones con un AND? porque he probado tanto And(X, Y) y X && Y y no consigo que me convierta las condiciones | 11:51 |
-!- nstefani(~nstefani@190.210.221.137) has joined #tryton-es | 12:33 | |
-!- nstefani(~nstefani@190.210.221.137) has joined #tryton-es | 12:34 | |
-!- csotelo(~csotelo@179.43.97.56) has joined #tryton-es | 13:39 | |
-!- mariomop(~quassel@181.92.171.232) has joined #tryton-es | 19:28 | |
-!- csotelo(~csotelo@179.43.97.56) has joined #tryton-es | 21:31 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!