El viernes, 26 de febrero de 2016, 12:03:30 (UTC-3), [email protected] escribió: > > Ante todo, un saludo al Sr. Massimo Di Pierro y toda la colectividad que > lo secunda, por este excelente framework, que no deja de sorprenderme. > > > > Contexto del problema: > > Versión de web2py: 2.13.4 para windows (EXE) (siempre voy al día ;-)) > > Sistema operativo: windows XP SP3. > > Db: postgresql 9.4 > > > > Estoy usando como mecanismo general de tratamiento CRUD y funcionalidad > asociada a los reg.de una tabla, el método SQLFORM(grid). > > Pero me tope con un problema no menor: dos (o más) usuarios que acceden al > mismo registro en un mismo lapso de tiempo -están mirando la misma > información obviamente-, uno de ellos denominado “primero”, actualiza los > datos -nada que objetar-, pero luego, un “segundo usuario”, que tiene > todavía una "vista de datos viejos", al dar confirmar para actualizar los > suyos, termina realizando cambios sobre datos no previamente refrescados > como > correspondería, si no que, además, campos que “segundo” no actualizó y > están con valores “de la vista vieja”…..¡¡ se terminan restaurando ¡!!, > anulando los valores que “primero” realizó….. > > > > No encontré un mecanismo para detectar este hecho, y proceder a advertir > a los usuarios, que deben refrescar los datos para proceder nuevamente a > realizar cambios si corresponde, similar al que si poseen los formularios > individuales con SQLFORM(form), como es, la acción DETECT_RECORD_CHANGE > para el evento PROCESS(). > > > > Aclaro que no me estoy refiriendo al mecanismo transaccional de web2py y > la DB -uso POSTGRESQL-, que funciona correctamente. > > > La solución que busco -si alguien ya la descubrió- , sería un mecanismo > general para SQLFORM(grid), no para uno en particular. Quiero evitar el > crear y asignar FORMs individuales para SQLFORM(grid) dado que, obviamente, > se dispararían los tiempos de desarrollo, incrementando innecesariamente, > la cantidad de objetos de la aplicación. > > Previamente, intenté solucionar esto en el evento ONVALIDATION, > consultando el objeto form que recibe como parámetro, en sus atributos > (record, latest, detect_changed, detect_record_change). Pero no obtuve > resultados. > > La idea, es que esto debiera ser un chequeo normal del GRID y cualquier > otro tipo de FORM. Inclusive, debiera estar siempre activado y poder > devolver un error específico y/o realizar una acción a sus efectos. > > > Gracias de antemano desde Montevideo/Uruguay. >
-- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

