Menu

Cambiar de módulo

j0s3pro
2014-08-19
2014-08-21
  • j0s3pro

    j0s3pro - 2014-08-19

    Hola, necesito cambiar de módulo mediante una acción e ir a la vista de detalle de un registro en concreto del nuevo módulo.

    En la acción he probado con todo esto:

    setModel(getModelo());
    getView().setModelName("Nuevo_modulo");
    setControllers("Controlador_nuevo_modulo");
    Map clave = new HashMap();
    clave.put("id", 5);
    getView().setValues(clave);
    getView().findObject();
    getView().setKeyEditable(false);
    getView().setEditable(false);

    Implemento la clase IChainAction para ejecutar despues la acción que me implementa SearchByViewKeyAction para acceder a la vista detalle. Hasta ahí bien, me sale la vista pero guando le doy por ejemplo a eliminar dicho registro es cuando me provoca error. Puede que sea porque no halla cambiado del todo bien las configuraciones para cambiar de modulo desde esa acción, ya que haciendo debug me encuentro con valores todavia pertencientes al anterior módulo. Además la dirección url se me queda en la anterior dirección del modulo antiguo, sin cambiar a la nueva.

    He intentado con la clase IFOrWArdAction pero se me queda en el listado, cuando lo que quiero es acceder a la vista detalle de un registro en especial.

    También he implentado clases como "IChangeModuleAction, IModuleContextAction, IChainAction, IModelAction" pero sin ningun resultado satisfactorio.

    Alguien puede ayudarme?? consigo llegar pero a la hora de realizar acciones me dan errores (del script de openxava.js el método "openxava.systemError = function(result)").
    No consigo realizar las acciones ni cambiar de url.

    Gracias

     
  • Alejandro

    Alejandro - 2014-08-21

    Hola
    Openxava guarda el estado del módulo la última vez que entraste en el así que probablemente se esten mezclando los valores de la primera vez que entraste al segundo módulo con los de las siguientes iteraciones.

    Por el código que has puesto estas intentando mostrar una vista nueva y cambiando el modulo, entonces puedes extender ViewBaseAction e implementar a la vez SearchByViewKeyAction, pero tendrías que reiniciar el módulo al que entras, en la parte de controladores viene otro sistema que es cambiar de módulo extendiendo BaseAction e implementando IChangeModuleAction que tiene un método que le indica si hay que reiniciar el módulo al que vas a pasar.

    También con una relación OnetoMany puedes simular algo parecido aunque te añade una navegacion más.

     

Log in to post a comment.