- Los saltos de linea no estaban siendo parseados correctamente debido a un cambio previo en la version 2.5.2
- Se repuso y adapto parte del codigo que hacia el cambio de los saltos de linea
1. On bootstrap class, was added static declaration for registerClass() method
2. On Patch class was removed at top the loadClass('system') call, because this make a redeclaration error, in PHP ver 5.3.2x
and it was moved into function that use that, now it is just loaded conditionally.
1. On bootstrap class, was added static declaration for registerClass() method
2. On Patch class was removed at top the loadClass('system') call, because this make a redeclaration error, in PHP ver 5.3.2x
and it was moved into function that use that, now it is just loaded conditionally.
- Se han implementado los siguientes Endpoints:
GET /api/1.0/{workspace}/project/{prj_uid}/dynaforms
GET /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
POST /api/1.0/{workspace}/project/{prj_uid}/dynaform
PUT /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
DELETE /api/1.0/{workspace}/project/{prj_uid}/dynaform/{dyn_uid}
- Cuando la hora del cliente difiere mucho de la hora del servidor, provoca que IE no considere como valida la cookie de la sesion por lo tanto no se puede ingresar al Sistema
- Si bien este se puede arreglar cambiando la hora del servidor o bien de la del cliente, se ha agregado una variable de configuracion a ProcessMaker en el archivo env.ini la cual deshabilita que se setee un tiempo de vida a la cookie cuando se usa el browser IE, de esta manera ya no se presenta el issue, la variable se llama "ie_cookie_lifetime" y sus posibles valores son 1 y 0, por defecto esta en 1, cuando se coloque esta variable en 0 ya no se aplica a la cookie el lifetime
NOTA.- El control de tiempo de duracion de las sesiones deberia controlarse de otra forma y no como se esta haciendo actualmente que depende del tiempo de duracion de las cookies, este cambio mas complejo requiere un refactor de la parte de autentificacion y se lo hara en futuras versiones de PM
- Many incorrect operations to determine the scrollbar use for the frid in large forms
- Fix the incorrect operations, now the scrollbar and the form width is displayed correctly
- Al enviar lo correos se aprecian campos vacios que se agregan al correo.
- Esto no era causa del plugin sino que al hacer una mejora para los outputdocuments se valida los campos añadiendo la etiqueta <br> que es lo que ocasionaba los espacios en el correo. se retiraron nl2br de la funcion replaceDataGridField en la class.g y se agrego la validacion en OutputDocument.php.
Rest Service on plugins
-----------------------
1. enable service
add the following line in plugin __constructor main class
$this->enableRestService(true);
2. Create the sources directory structure by example:
if you plugin is named myPlugin
myPlugin
|--src
|--Services
|--Api
|--MyPlugin
|--Test.php
Where Test.php is a Restler class
- Campo "File" en dynaform tipo grilla.
- Problema:
Al agregar un campo de tipo "File" en grillas como campo requerido, la validacion no se cumple.
- Solucion:
El problema es el siguiente: al momento de validar el campo File en grillas, no se esta definiendo el atributo "pm:required"
en el tag <input />, se adiciono el atributo con el metodo "NSRequiredValue()" definido en el mismo archivo
"class.xmlform.php" y se adiciona en la clase "XmlForm_Field_File", el metodo que permite agregar el atributo "pm:required",
con este atributo la validacion de campos requeridos en campos File en grillas funciona correctamente.
* Adding posibility to load any class from /workflow/engine/src/*.php
using namespaces as relative paths inside 'src' directory
* Registering /workflow/engine/src directory for autoloading
Bootstrap::registerDir('src', PATH_HOME . 'engine/src/');
- Impresion de Procesos.
- Problema:
Cuando se inicia un caso y se quiere imprimir el dynaform hacemos click en el icono "Print form", luego nos aparece
una ventana donde se muestra lo que se va a imprimir, normalmente al iniciar un nuevo caso, nos nuestra la hoja de
impresion vacia, ya que no se han guardado los datos en la Base de Datos, en otros casos muestra la hoja de impresion
con datos.
Cuando se inicia un caso y se llena datos en el dynaform y se hace click en el icono "Print form", los datos introducidos
no se muestran en la hoja de impresion.
Solucion:
Se agrega un nuevo metodo el cual permite validar con un "Confirm", cuando se quiera imprimir un dynaform al hacer click
en "Cancel" en la hoja de impresion se mostrara vacia tal cual se tenia inicialmente, al hacer click en "Accept" se guardara
los datos y en la hoja de impresion aparecera los datos.
Se agrego el siguiente metodo en el archivo "form.js":
function dynaFormPrint(..., ..., .., .., ...)
{
...
if (dynaFormChanged(frm)) {
...
new leimnud.module.app.confirm().make({
label: _("ID_SAVE_DYNAFORM_INFORMATION_BEFORE_PRINTING"),
action: function ()
{ ...
},
cancel: function()
{ ...
}
});
}
}
- The function sent in the variable $_REQUEST['action'] was always executed
- A new method was implemented to validate if is a user custom function or a system function (G::isUserFunction)
- Impresion de Procesos.
- Problema:
Cuando se inicia un caso y se quiere imprimir el dynaform hacemos click en el icono "Print form", luego nos aparece
una ventana donde se muestra lo que se va a imprimir, normalmente al iniciar un nuevo caso, nos nuestra la hoja de
impresion vacia, ya que no se han guardado los datos en la Base de Datos, en otros casos muestra la hoja de impresion
con datos.
Cuando se inicia un caso y se llena datos en el dynaform y se hace click en el icono "Print form", los datos introducidos
no se muestran en la hoja de impresion.
Solucion:
Se agrega un nuevo metodo el cual permite validar con un "Confirm", cuando se quiera imprimir un dynaform al hacer click
en "Cancel" en la hoja de impresion se mostrara vacia tal cual se tenia inicialmente, al hacer click en "Accept" se guardara
los datos y en la hoja de impresion aparecera los datos.
Se agrego el siguiente metodo en el archivo "form.js":
function dynaFormPrint(..., ..., ...)
{ ...
if (flagRequiredField == 1) {
...
new leimnud.module.app.confirm().make({
label: _("ID_DYNAFORM_SAVE_CHANGES"),
action: function ()
{ ...
},
cancel: function()
{ ...
}
});
}
}