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'

Responder a