Properties rework, States, StatesDefinitions, DeviceLog, and Notes #37
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/states"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Esto atina a resolver ereuse/projectes#108
Se encuentran también los cambios comentados por @cayop en ereuse/devicehub-django#31 y los comentados más abajo en este PR.
Este PR abarca:
Rework de annotations a properties (SystemProperties, UserProperties y LotProperties).
CRUD de StateDefinitions: los cuales son estados custom que el admin administra.
Cambio de estados en dispositivos, y un comando para agregar StatesDefinitions por default.
CRUD de notas: visualización, edición y borrado (solo admin o owner) .
Todas estas operaciones que tienen que ver con un device se guardan a la tabla DeviceLog y se muestran en el tab /log
WIP: States and StatesDefinitionsto Changed annotation syntax and States/StatesDefinitionsChanged annotation syntax and States/StatesDefinitionsto Changed annotation syntax and added States/StatesDefinitionsNos lo hemos mirado @cayop y yo y aquí vienen nuestras notas
De momento puedes probar en demo.ereuse.org
Pronto vamos a habilitar dominios lab1.ereuse.org para dejar una instancia en marcha con estas cosas
Unos comentarios:
veo algo de confusión entre estados y acciones. Mientras que INBOX puede ser un estado, el resto son acciones y creo genera confusión. Se habla de ready for ... or done: por ejemplo: REPAIR es una acción. Quiere decir (ya reparado: operational) o clasificado FOR-REPAIR o READY-FOR-REPAIR (veo en la pantalla "A reparar"). Lo mismo para el resto.
En relación a UNTP, DONATION es una forma concreta de transferencia. O bien cambiarlo por READY-FOR-TRANSFER o añadir READY-FOR-TRANSFER como estado.
Aplica a dispositivos y también a lotes?
Changed annotation syntax and added States/StatesDefinitionsto WIP: Changed annotation syntax and added States/StatesDefinitionsHola @leandro
Si te parece, vamos a continuar como hemos definido cayo y yo, almenos para esta iteración; y dejamos tus comentarios como retrospectiva posterior. Motivo: porque va a haber mucho trabajo en estabilizarlo, cerramos esta fase, y podríamos volver a reflexionar en dónde estamos y hacia dónde vamos más adelante. Ahora mismo creo que necesitamos ir cerrando almenos estas funcionalidades para que vengan las siguientes y poder tenerlas para que ekoa nos devuelva feedback. Además, esta rama se está haciendo muy grande y nadie quisiera alargar mucho esta discusión ahora.
También he movido tu comentario donde creo que tiene más sentido que es en el Proyecto ISOC F3.2, cuando trabajemos esa parte ereuse/projectes#84 (comment)
Te respondo ya a los puntos de tus comentarios como 1, 2 y 3
@cayop y yo lo tenemos muy claro, después de muchas horas de reunión decidimos evitar y desvincularnos del concepto de "acciones". En el modelo planteado no existen las acciones, existen los estados y las notas, de tal forma que es muy flexible para los operadores y organizaciones. Estamos partiendo de unos estados por defecto (porque ahora no hay estados por defecto, y para reducir la fricción inicial de UX) en base a cómo ekoa trabaja (que por cierto es similar a cómo lo hace tau) [1]. De hecho, esta funcionalidad es para ekoa, para que pueda dejar de usar glpi con una herramienta más avanzada o específica para esto. Y ellos con los estados, y ciertas "notas" ya tienen suficiente. Si alguien quiere cambiar los nombres de los estados, hay un menú para hacerlo que @rskthomas desarrolló y que está muy bien.
Pusimos INBOX porque era lo más parecido a "Recepción", otras ideas, bienvenidas sean (excepto "Reception")
En cuanto a DONATION, es como sale en [1], es lo que necesita ekoa. Aquí no estamos entrando en cómo lo necesita UNTP, y de momento las notas y los estados solo aplican a dispositivos. Es probable que necesitemos algo parecido con los lotes, pero de momento, es suficientemenete complejo y nos queremos quedar con la sencillez como lo hemos definido en ereuse/projectes#108
[1]
(esta info está recogida en el informe del viaje de argentina también)
WIP: Changed annotation syntax and added States/StatesDefinitionsto WIP: Properties rework, States, StatesDefinitions, DeviceLog, and NotesWIP: Properties rework, States, StatesDefinitions, DeviceLog, and Notesto Properties rework, States, StatesDefinitions, DeviceLog, and NotesHola Thomas, Un gran cambio. Felicidades.
Estaba viendo el código. Aun no he terminado de hacerlo pero mientras tanto me puedes arreglar una cosa?
En el los tabs de los detalles de un device no me va el tab de componentes. A ti te va? me falta algun fichero?
pd. Solo como sugerencia. No es muy buena idea poner property como nombre de variable en el código porque property es un decorador de metodo en python, es como si llamaras a una variable dict o list o int. Puedes sobrevivir con ello, pero mejor no tenerlo porque nunca sabes donde van a terminar estas variables. Te propongo que a partir de ahora uses algo como prop o algo asi.
Hay otro problema que puedes ir solucionando.
En una evidencia como la que hay por defecto en examples
http://localhost:8000/evidence/7928afeb-e6a4-464a-a842-0c3de0d01677
no me aparecen los SystemProperties. En teoría ahi deberíamos de ver unos enlaces con los diferentes device que poedes ver segun el algoritmo elegido.
Mira como esta ahora en main para hacerte una idea.
Ten en cuenta también que si en esta vista pones un tag entonces se considera un CUSTOM_ID y también se tiene que ver ahi. Toda evidencia solo puede tener un tag en esta sección, osea que o se crea uno, o se sobre escribe el que hay o se borra.
Hola Cayo! Ahí agregué el tab de componentes que me faltó (ahora muestra componentes tanto con tag y sin) y estoy viendo lo de la evidencia 7928afeb-e6a4-464a-a842-0c3de0d01677. Ahora comparo con main a ver qué será.
Tenés razón lo del decorador @property, si querés lo cambio, no creo que tarde mucho y así ya queda más prolijo el código
Bien! Ahí luego de un rato encontré lo que era: un if en el template que chequeaba por el valor de Type, el cual ya es obsoleto para SystemProperty. Ahora muestra bien los enlaces:
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.