Re: [tryton-es] Mensaje de alerta/error dentro de Wizard (StateView)

2018-04-16 Por tema Gloworms Glow


El lunes, 16 de abril de 2018, 10:59:32 (UTC-3), Sergi Almacellas Abellana 
escribió:
>
> El 16/04/18 a les 15:54, Gloworms Glow ha escrit: 
> >  Si, así lo tengo y hasta el mensaje de error funciona, el problema es 
> > después. Cuando apreto 'Ok' al mensaje de error, no me vuelve a llevar a 
> > la ventana del wizard, sino que me da el error que dije antes. 
>
> Que versión del cliente tienes? Recuerdo que se incluyó alguna 
> corrección de errores de este tipo en la última versión menor. 
>
> Debería estar solucionado en la versión 4.6.5 
>

Estoy usando la version 4.6.0 
 

> > 
> > Acá escribo el código que tengo: 
> > 
> > class ChangeStateAsk(ModelView): 
> > __name__ = 'change_state.ask' 
> > date = fields.Date('Date') 
> > 
> > class ChangeDate(Wizard): 
> > __name__ = 'change_state.date' 
> > 
> > start = StateTransition() 
> > ask = StateView('change_state.ask', 
> > 'md_hhrr.change_state_ask_view_form', [ 
> > Button('Cancel', 'end', 'tryton-cancel'), 
> > Button('Activate', 'confirm', 'tryton-ok', 
> > default=True), 
> > ]) 
> > confirm = StateTransition() 
> > 
> > def transition_start(self): 
> > return 'ask' 
>
> Puedes utilizar la propiedad _start_state para indicar que empieze en 
> ask. Así te ahorras la transición start. 
>

Lo tengo así porque pensaba poner otra transición mas adelante. 

> 
> > @classmethod 
> > def __setup__(cls): 
> > super(ChangeDate, cls).__setup__() 
> > cls._error_messages.update({ 
> > 'incorrect_date': 'No se puede cambiar la fecha', 
> > }) 
> > 
> > def transition_confirm(self): 
> > if (self.ask.date > date.today()): 
> > self.raise_user_error('incorrect_date') 
> > return 'end' 
>
> Esto lo puedes hacer también con un dominio en el campo: 
>
> date = fields.Date('Date', domain=[('date', '<=', Date())]) 
>
> de forma que el cliente ya no te va a dejar confirmar si pones un valor 
> incorrecto. 
>
> Esta forma la sabía. Pero mi pregunta es como poner el mensaje de error, 
porque también tengo que usar el mensaje (más adelante) para otros campos 
que tengo que comparar con campos de otras clases y no puedo ponerlos en el 
'domain'

No se si me hago entender. Disculpa!

Un saludo, 
>
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>


Re: [tryton-es] Mensaje de alerta/error dentro de Wizard (StateView)

2018-04-16 Por tema Gloworms Glow
El lunes, 16 de abril de 2018, 10:34:23 (UTC-3), Sergi Almacellas Abellana 
escribió:
>
> Debes utilizar el siguiente estructura: 
>
> class Wizard: 
>
>@classmethod 
>def __setup__(cls): 
>super(Wizard, cls).__setup__() 
>cls._error_messages.update({'my_error': 'No puede...'}) 
>
>def transition_ok(self): 
>self.raise_user_error('my_error') 
>
> Si no publicas el código de tu assitente te podremos ayudar mejor. 
>
> Un saludo, 
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>
 
 Si, así lo tengo y hasta el mensaje de error funciona, el problema es 
después. Cuando apreto 'Ok' al mensaje de error, no me vuelve a llevar a la 
ventana del wizard, sino que me da el error que dije antes.

Acá escribo el código que tengo:

class ChangeStateAsk(ModelView):
__name__ = 'change_state.ask'
date = fields.Date('Date')

class ChangeDate(Wizard):
__name__ = 'change_state.date'

start = StateTransition()
ask = StateView('change_state.ask',
'md_hhrr.change_state_ask_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Activate', 'confirm', 'tryton-ok',
default=True),
])
confirm = StateTransition()

def transition_start(self):
return 'ask'

@classmethod
def __setup__(cls):
super(ChangeDate, cls).__setup__()
cls._error_messages.update({
'incorrect_date': 'No se puede cambiar la fecha',
})

def transition_confirm(self):
if (self.ask.date > date.today()):
self.raise_user_error('incorrect_date')
return 'end'


[tryton-es] Mensaje de alerta/error dentro de Wizard (StateView)

2018-04-16 Por tema Gloworms Glow
Hola! A ver si alguien me puede ayudar..
Hice un wizard que me pide una fecha. Y si la fecha no es correcta le digo 
que me mande un mensaje de error con "_error_messages".
Al probar, cuando pongo la fecha me aparece el cartel que dice el error, 
pero cuando apreto el boton de 'Ok' me sale el error:

ERROR:tryton.common.common:Traceback (most recent call last):
  File ".../tryton-4.6.0/tryton/common/common.py", line 1196, in process
rpc_execute=rpc_execute)
  File ".../tryton-4.6.0/tryton/common/common.py", line 1057, in 
process_exception
raise RPCException(exception)
RPCException: 



Alguien sabe porque me aparece este error? O como hago para poner un 
mensaje dentro de una ventana de wizard?
Gracias!


Re: [tryton-es] Filtrar lista por usuario tryton domain

2018-01-22 Por tema Gloworms Glow
Anduvo perfecto!! 👏👏👏 
Muchas gracias!

El lunes, 22 de enero de 2018, 10:21:42 (UTC-3), Sergi Almacellas Abellana 
escribió:

> Creo que el valor correcto del dominio es: 
>
> [('user', '=', Eval('context', {}).get('_user', -1))] 
>
> Pero no lo pude probar porqué me da un error al instal·lar el módulo :$ 
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>


Re: [tryton-es] Filtrar lista por usuario tryton domain

2018-01-22 Por tema Gloworms Glow
Anduvo perfecto!! 👏👏👏
Muchas gracias!

Re: [tryton-es] Filtrar lista por usuario tryton domain

2018-01-22 Por tema Gloworms Glow
Hola! Si, acá te dejo una pág con el módulo: 
https://github.com/gloworms/reclamos
Estoy usando Tryton 4.6

El miércoles, 17 de enero de 2018, 11:31:30 (UTC-3), Sergi Almacellas 
Abellana escribió:
>
> Puedes subir el código completo en algún sitio así lo podemos probar? 
>
> Que version de tryton estas usando? 
>


Re: [tryton-es] Filtrar lista por usuario tryton domain

2018-01-17 Por tema Gloworms Glow


El miércoles, 3 de enero de 2018, 3:09:37 (UTC-3), raimonesteve escribió:
>
>
>
> El dia 2 gen. 2018 12:48 p. m., "Gloworms Glow" <47g...@gmail.com 
> > va escriure:
>
> Hola,
>
> Estoy usando Tryton 4.6 y estoy intentando aplicar un filtro de dominio en 
> una lista de reclamos hecha por los usuarios.
>
> Mi objetivo es filtrar la lista de "reclamos" para que solo se vean los 
> reclamos del usuario que está conectado. He añadido el dominio  name="domain" eval="[('user', '=', 'res.user.name')]" pyson="1"/> al 
> model "ir.action.act_window".
> Se que 'res.user.name' está mal, pero no se como referenciar ahí, parar 
> saber cual es el usuario conectado.
>
>
> Usa el user del "context". Hay muchos ejemplos en varios módulos.
>
> Saludos 
>
>
> A ver, si me pueden ayudar! Gracias de antemano!
>
>
>

Re: [tryton-es] Filtrar lista por usuario tryton domain

2018-01-17 Por tema Gloworms Glow
Gracias por responder!
Sigue sin funcionarme, no se que estoy haciendo mal.

No tengo mucha experiencia en tryton, asi que les comento que es lo que 
hice:

En la clase (archivo .py):
user = fields.Many2One('res.user', 'User')

@staticmethod
def default_user():
return Transaction().context.get('user')

Y en el archivo .xml:


Me da error: TypeError: int() argument must be a string, a bytes-like 
object or a number, not 'list'


Y si cambio por: 
Me da error: AttributeError: 'list' object has no attribute 'get'

Tengo que agregar alguna otra cosa?
Gracias!


[tryton-es] Re: Filtrar lista por usuario tryton domain

2018-01-10 Por tema Gloworms Glow
Gracias por responder!
Sigue sin funcionarme, no se que estoy haciendo mal.

No tengo mucha experiencia en tryton, asi que les comento que es lo que 
hice:

En la clase (archivo .py):
user = fields.Many2One('res.user', 'User')

@staticmethod
def default_user():
return Transaction().context.get('user')

Y en el archivo .xml:


Me da error: TypeError: int() argument must be a string, a bytes-like 
object or a number, not 'list'


Y si cambio por: 
Me da error: AttributeError: 'list' object has no attribute 'get'

Tengo que agregar alguna otra cosa?
Gracias!


[tryton-es] Filtrar lista por usuario tryton domain

2018-01-02 Por tema Gloworms Glow
Hola,

Estoy usando Tryton 4.6 y estoy intentando aplicar un filtro de dominio en 
una lista de reclamos hecha por los usuarios.

Mi objetivo es filtrar la lista de "reclamos" para que solo se vean los 
reclamos del usuario que está conectado. He añadido el dominio  al model 
"ir.action.act_window".
Se que 'res.user.name' está mal, pero no se como referenciar ahí, parar 
saber cual es el usuario conectado.

A ver, si me pueden ayudar! Gracias de antemano!