Open Crashillo opened 1 year ago
En la misma linea que este problema, el usuario nukeador, quien está bloqueando el proyecto, me comenta que cómo se puede "desbloquear" el proyecto, ya que por tiempo, no puede ahora mismo completar el proceso.
¿Hay alguna manera de liberar un proyecto para que otro usuario contribuya?
He estado investigando este problema: el combo se bloquea debido a que el job.estado
viene como FIXME
https://github.com/OSM-es/CatAtomWeb/blob/1a4a17366c396d0e16f8a2b127f5a27805079618/src/components/JobPanel.vue#L59-L68
Pero claro, no es tan sencillo, el tema está en que el PanelProcessGroup se rellena exclusivamente con el elemento que ya estaba siendo procesado, por lo que nunca se pueden procesar de manera individual.
Lo que debe de hacer el tercer combo (si existe para el municipio seleccionado) es tratar cada elemento como si fuesen municipios diferentes (aunque se trate de barrios), de tal manera que al cambiar esa selección, todo el panel de procesamiento haga referencia a esa última selección.
Luego hay otro asunto, que es el tema de "desbloquear" un proyecto. Por ahora solo se permite eliminarlo (aunque te lo descargues)
Respecto a los bloqueos de archivos a revisar. El usuario que descarga el archivo lo deja bloqueado. Cuando sube el archivo se quita el bloqueo. El botón para deshacer quita el bloqueo.
Se puede añadir un timeout para que el bloqueo se quite de forma automática pasado un tiempo.
El registro de archivos a revisar está en el archivo review.txt que genera CatAtom2Osm
CatAtomWeb coge los fixmes y marca los bloqueos a través de CatAtomApi
La petición /job entrega los datos del proyecto incluyendo los archivos a revisar. Los proporciona el método review de Work
La petición GET /fixme (empleada al descargar el fixme), llama al metodo lock_fixme de Work para marcar el bloqueo. Añade a la fila del fixme el id, nombre de usuario y true para indicar que está bloqueado
La petición POST /fixme (empleada al deshacer) llama a unlock_fixme de Work que recupera la fila del fixme de backup/review.txt
La petición PUT /fixme (empleada al subir un archivo corregido) marca en review el id y nombre de usuario.
Los cambios a realizar son:
1 Work.lock_fixme debe añadir una marca de tiempo además de true para indicar el bloqueo.
2 Work.review debe, antes de entregar la lista de fixmes, quitar el bloqueo a los que tengan antigüedad caducada. Concrétamente en _get_fixme_dict
¿se puede considerar resuelta?
En el siguiente video se puede ver como el combo selector de 3er nivel queda completamente bloqueado, por el hecho de que uno de los subelementos esté actualmente bloqueado por alguien.
Debería ser posible crear diferentes proyectos para una misma localidad a la vez, es decir, que un subelemento esté bloqueado, no implicase bloquear al resto.
https://user-images.githubusercontent.com/817526/224988514-c226bf63-bbbd-4202-86fa-0c47123e4038.mp4