HiginioUrbano / practica_dwec_gestor_presupuesto

Práctica de Gestión de Presupuestos para el módulo de Desarrollo Web en Entorno Cliente
GNU General Public License v3.0
0 stars 0 forks source link

Error al cargar gastosAPI #15

Closed HiginioUrbano closed 2 years ago

HiginioUrbano commented 2 years ago

Aquí te lo dejo, disculpas, siempre tengo abiertos los dos y me confundí

Muy buenas @pedroprieto (creo) he conseguido hacer funcionar la funcion cargarGastosApi y BorrarGastosApi agregando async antes de la función tal y como indicas en el tutorial. Ahora bien, cuando pulso en el botón borrarGasto, me genera un conflicto entre ambas funciones y no se porqué. La orden se ejecuta, puesto que me borra el gasto en el servidor, pero no se me actualiza automaticamente ya que me salta el conflicto entre ambas, debo pulsar en el botón cargarGastoAPI para ver el resultado, qué estoy haciendo mal=?

pedroprieto commented 2 years ago

Buenas,

Los objetos de la API no deben interactuar con los locales, ya que no funcionará. Para borrar un objeto de la API debes haberlo creado en la API. No puedes borrar un objeto con el botón borrarAPI si ha sido creado en local.

Dicho esto, ¿por qué tienes comentada esta funcionalidad? https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/24f0923cef3f7f5ad00ed26bb36f78ea8a82ad64/js/gestionPresupuestoWeb.js#L83

Un saludo!

HiginioUrbano commented 2 years ago

Buenas, la funcionalidad la tengo comentada para que no me haga conflicto con el resto de cosas puesto que me quedé a mitad de esa parte, en el nuevo código ya lo he hecho.

Pero los objetos que intento borrar están siempre en la API, aún así no se me cargan de manera predeterminada una vez los borro, la función cargarDatos no salta, me da error, en cambio si pulso el botón de cargar sí me funciona y sí me borra el gasto de la API, no se si me estoy explicando bien.

PD: te actualizo el código tal y como lo tengo ahora que ya no tengo comentada la parte que me comentas y a la hora de crear un nuevo gasto se me crea por partes en 8 partes diferentes y tampoco entiendo porque. Muchas gracias

HiginioUrbano commented 2 years ago

Y también cuando le doy a editar (formulario) los botones que me aperecen abajo son los de añadir gasto (formulario) y no se porqué he repasado 20 veces el código y no doy con el motivo, seguro que es un error super tonto, pero no veo el motivo por el cual pasa eso, puesto que tengo el botón asociado al evento editarHandle

pedroprieto commented 2 years ago

Buenas,

Envíame el usuario que utilizas para la API. Seguramente hayas creado los gastos sin el campo etiquetas...

HiginioUrbano commented 2 years ago

higiniourbano

No, sí que he usado etiquetas (creo)

El vie., 14 ene. 2022 8:52, Pedro Prieto @.***> escribió:

Buenas,

Envíame el usuario que utilizas para la API. Seguramente hayas creado los gastos sin el campo etiquetas...

— Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/15#issuecomment-1012878004, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNIVO7HBFXZCA4IMYYDUV7I4LANCNFSM5L3GYFCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: <HiginioUrbano/practica_dwec_gestor_presupuesto/issues/15/1012878004@ github.com>

pedroprieto commented 2 years ago

Sí, está bien.

Error: imagen

En la línea 318 haces referencia a gasto, que no existe. En su lugar, es this.gasto.

En cuanto a los botones que aparecen al darle a editar, lo veo correcto... Lo único, no añadas el botón a través de JS: hazlo en la plantilla (template) del HTML.

Aún así, tienes más problemas, ya que al corregirlo sigue sin funcionar. Ve poco a poco...

HiginioUrbano commented 2 years ago

Vale, pero el problema de que al borrar el gasto, no me carga los gastos? Ese problema donde está? Porque es el que más loco me tiene

El vie, 14 ene 2022 a las 10:11, Pedro Prieto @.***>) escribió:

Sí, está bien.

Error: [image: imagen] https://user-images.githubusercontent.com/7632447/149489354-70956f99-1b4e-4861-be47-24a7005298e5.png

En la línea 318 haces referencia a gasto, que no existe. En su lugar, es this.gasto.

En cuanto a los botones que aparecen al darle a editar, lo veo correcto... Lo único, no añadas el botón a través de JS: hazlo en la plantilla ( template) del HTML.

Aún así, tienes más problemas, ya que al corregirlo sigue sin funcionar. Ve poco a poco...

— Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/15#issuecomment-1012938119, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNIAMMLVE7SCD7KNFXLUV7SCLANCNFSM5L3GYFCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: <HiginioUrbano/practica_dwec_gestor_presupuesto/issues/15/1012938119@ github.com>

HiginioUrbano commented 2 years ago

He actualizado el gasto, ya me crea el gasto correctamente.

Actualmente tengo 2 problemas que no estoy sabiendo solucionar por mi mismo.

1.- Da igual si creo o borro un gasto en la API, no me carga la API excepto que le de al botón de cargargastosAPI, aunque si que me crea o me borra el gasto en la API.

2.- No consigo que al editar me detecte la ID correcta, he probado diferentes combinaciones de this.gasto etc y ninguna me funciona. El funcionamiento es el mismo que en el caso de borrarlo, por qué no me funciona usando la misma sintaxis?

pedroprieto commented 2 years ago

Buenas,

El problema es que defines cargarGastosApi como una función constructora de un objeto manejador de eventos. https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/7564d04744185e58bc9438acec4db9180d7ef0e6/js/gestionPresupuestoWeb.js#L398-L399

El enunciado dice que tienes que crearla como una función manejadora de eventos. De esta manera la podrás llamar como una función normal; la que tú has creado no puedes llamarla, ya que lo que hace es crear un objeto.

Un saludo!

HiginioUrbano commented 2 years ago

Pero es que si quito lo de this.handleEvent y lo dejo como async function cargarGastosAPI() no me funciona, me tira error en el await

pedroprieto commented 2 years ago

Debe funcionar. Lo único, tendrás que cambiar el modo en el que la utilizas como manejadora de eventos: https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/7564d04744185e58bc9438acec4db9180d7ef0e6/js/gestionPresupuestoWeb.js#L518-L520

Un saludo!

HiginioUrbano commented 2 years ago

Si, lo había cambiado, simplemente se me había olvidado quitar los parentesis de la función, solo había quitado el new, ya funciona!

HiginioUrbano commented 2 years ago

Lo único que me queda es que no me reconoce el Id del gasto, he usado el mismo método que para borrarlo y he probado otras cosas, pero no me lo coge

HiginioUrbano commented 2 years ago

Buenas Pedro, he vuelto a actualizar el código porque he agregado la práctica de librerías.

El problema que te comento arriba aún no lo he solucionado, el del id en editar, si me pudieses echar un cable te lo agradecería.

Con las librerías creía haberlo hecho todo bien, pero me salta un error: DevTools failed to load source map: Could not load content for https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@1.0.0/dist/chartjs-adapter-moment.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE Esto me dice la consola, es como si el script no lo detectase bien.

pedroprieto commented 2 years ago

Buenas,

De momento el error que veo es que no has corregido la función cargarGastos, tal como os indiqué en el foro y en el enunciado corregido de la práctica de almacenamiento local: https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/df58bec9073d38ad5c23abd38c341b32fc565e88/js/gestionPresupuesto.js#L291

Corrige eso y prueba de nuevo.

Con respecto al problema de las librerías, he ejecutado tu código y no me ha salido ningún error de carga de librerías...

Un saludo!

HiginioUrbano commented 2 years ago

Si hago la corrección que me indicas el código de cargarGastosAPI me deja de funcionar.

Y lo que me comentas de las librerías, puede ser que no funcionen en google Chrome? Que es el navegador que yo uso actualmente. Por consiguiente, las librerías las tengo realizadas correctamente?

pedroprieto commented 2 years ago

Buenas,

Tienes que hacer las correcciones pero teniendo en cuenta qué parámetro has utilizado en tu función.

Las librerías se cargan, pero las gráficas no se cargan.

No es un tema de navegadores.

Un saludo!

HiginioUrbano commented 2 years ago

He rehecho la función teniendo en cuenta como tenía llamado a los gastos en mi programa y he añadido los parámetros. En la función cargarGastosAPI no he tocado nada, pero no me va. Y he hecho la lógica del código tal cual expones en la corrección y nada.

Entonces de que es un tema? De fallo en el código? Lo he cogido tal cual lo has pasado y también he seguido los pasos tal cual expones en las tutorías y en la práctica.

pedroprieto commented 2 years ago

Buenas,

Si no subes el código no puedo ver nada...

HiginioUrbano commented 2 years ago

Ya lo tienes, que ayer estuve liado y no pude subirlo

pedroprieto commented 2 years ago

Buenas,

imagen

imagen

imagen

imagen

imagen

Este tipo de errores tienes que buscarlos tú más a fondo. No puedes ponerme un issue cada vez que te salga un fallo... Por favor, trata de tirar un poco del hilo del error y buscar el fallo antes.

Un saludo!

HiginioUrbano commented 2 years ago

Pedro, lo inspeccione, pero es que a mí ese fallo no me sale en mi consola. Quiero decir, el fallo existe y es evidente el fallo, pero cuando lo inspeccionaba en mi consola, te prometo que no me sale nada de nada. Solo me sale un aviso en amarillo que dice lo siguiente;:

DevTools failed to load source map: Could not load content for https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@1.0.0/dist/chartjs-adapter-moment.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Este es el único fallo que me salía, por eso te mandé el mensaje

pedroprieto commented 2 years ago

¿No te sale en la consola del navegador? Mándame captura para que vea donde lo estás mirando, por si no estás en el sitio correcto...

HiginioUrbano commented 2 years ago

image

pedroprieto commented 2 years ago

Sí, es ahí, pero en la barra lateral accede a Console (a la derecha de Elements) y prueba a interactuar con la aplicación. Te aparecerán los errores. imagen

HiginioUrbano commented 2 years ago

Interactuo abajo que es lo mismo en un atajo más pequeñito, no?

Al margen de eso, el error que no consigo solucionar por mucho que pruebe, que si me detecta la consola. Es que al editar no me saca el id del gasto de la API. No entiendo cual es el problema cuando en borrar gasto me lo saca sin ningún tipo de problema, pero en este caso me tira error. No sería lo mismo para sacar la ID del gasto en el caso de borrar que de editar?

pedroprieto commented 2 years ago

Porque añades el gasto y el formulario al botón en lugar del manejador:

https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/8b39013fe7f8a6d1a47939a6dafe5f6f19e89b27/js/gestionPresupuestoWeb.js#L367-L370

HiginioUrbano commented 2 years ago

Qué error más tonto... Muchas gracias! Ya lo tengo todo, te hago el pull request.