Re: [tryton-es] Mensaje de alerta/error dentro de Wizard (StateView)
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)
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)
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
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
Anduvo perfecto!! 👏👏👏 Muchas gracias!
Re: [tryton-es] Filtrar lista por usuario tryton domain
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
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
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
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
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!