Refrescar documento tras validarlo

Hola,

Tengo un formulario que tiene un código JavaScript que hace que el botón de validar aparezca solo si el estado del documento es “Borrador” (cuando es distinto de “Válido”). Lo que sucede es que al apretar el botón de validar, no solo se cambia el estado del documento, sino que también se lanzan una serie de operaciones, entre ellas, un cambio de estado en el ciclo de vida.
Al hacer click, el botón funciona correctamente, se valida el documento y se cambia de estado en el ciclo de vida del mismo, pero la pantalla no se recarga, por lo que el botón de validar sigue apareciendo a pesar de que el estado sea “Validado”, hasta que aprieto F5.

Mi duda es, ¿tenemos forma de refrescar la pantalla con alguna configuración en el botón o en el cambio de estado del ciclo de vida? Así como existe el refresh mode en las operaciones, pero para los cambios de estado, porque en este caso el de las operaciones no me sirve. Si es que no, ¿tenemos forma de recargar el documento con alguna línea en el código JavaScript agregado?

Saludos,
Sol

Hola Sol,

Actualmente estamos planeando llevar esas mejoras que comentas sobre el refresh mode de las operaciones al botón validar, pero todavía no se encuentra disponible.

Sí que existe una forma de hacer esto en este momento que tal vez te pueda servir: si tienes la posibilidad, puedes añadir en el código de la última operación que se ejecuta en la validación el campo “redirect_url” de esta forma:

return {'msg_type': 'success', 'msg': _('Success'), 'redirect_url': document.get_url_file_view()}

Actualmente, si el botón validar se encuentra el campo ‘redirect_url’ como resultado de la última operación ejecutada, te redirecciona a donde se indica. El valor indicado en el ejemplo es la misma vista de documento, con lo cual el efecto es de refresco de pantalla. Si no puedes hacer esto porque es una operación de producto que no permite añadirlo, siempre puedes crearte una operación custom con ese código y colocarla la última.

Espero que te sea de ayuda.