From 9d6530ed473d93201d52c3ff012cb7ca61f80e05 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 07:40:42 -0500 Subject: [PATCH 01/50] Create noticiacontroller.py a --- src/controllers/noticiacontroller.py | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/controllers/noticiacontroller.py diff --git a/src/controllers/noticiacontroller.py b/src/controllers/noticiacontroller.py new file mode 100644 index 0000000..c836bc8 --- /dev/null +++ b/src/controllers/noticiacontroller.py @@ -0,0 +1,33 @@ +from fastapi import HTTPException, Depends, APIRouter +from sqlalchemy.orm import Session +from conexionbd import SessionLocal +from src.models.noticiamodel import get_noticias as get_noticias_db, get_noticia as get_noticia_db +from src.models.noticiamodel import eliminar_noticia as eliminar_noticia_db +from src.models.schemas import NoticiaCreate, NoticiaSchema + +router = APIRouter() + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() + +@router.delete("/noticias/{noticia_id}") +def delete_noticia(noticia_id: int, db: Session = Depends(get_db)): + success = eliminar_noticia_db(db, noticia_id) + if not success: + raise HTTPException(status_code=404, detail="Noticia no encontrada") + return {"message": "Noticia eliminada correctamente"} + +@router.get("/noticias/", response_model=list[NoticiaSchema]) +def read_noticias(db: Session = Depends(get_db)): + return get_noticias_db(db) + +@router.get("/noticias/{noticia_id}", response_model=NoticiaSchema) +def read_publicacion(noticia_id: int, db: Session = Depends(get_db)): + db_noticia = get_noticia_db(db, noticia_id) + if db_noticia is None: + raise HTTPException(status_code=404, detail="Publicación no encontrada") + return db_noticia From 774f051f40d2b9db86657362d8e2a5bbe7010de2 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 07:41:33 -0500 Subject: [PATCH 02/50] Create noticiamodel.py a --- src/models/noticiamodel.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/models/noticiamodel.py diff --git a/src/models/noticiamodel.py b/src/models/noticiamodel.py new file mode 100644 index 0000000..22ee4ed --- /dev/null +++ b/src/models/noticiamodel.py @@ -0,0 +1,21 @@ +from sqlalchemy.orm import Session +from .noticia import Noticia +from .schemas import NoticiaCreate +from fastapi.responses import FileResponse + +def get_eliminarnoticia(): + return FileResponse("src/views/eliminarnoticia.html") + +def eliminar_noticia(db: Session, noticia_id: int): + db_noticia = db.query(Noticia).filter(Noticia.id_noticia == noticia_id).first() + if db_noticia: + db.delete(db_noticia) + db.commit() + return True + return False + +def get_noticias(db: Session): + return db.query(Noticia).all() + +def get_noticia(db: Session, noticia_id: int): + return db.query(Noticia).filter(Noticia.id_noticia == noticia_id).first() From 4f687461db35e5ca9f5ce790607eebaacae7afd6 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 07:42:47 -0500 Subject: [PATCH 03/50] Create noticiarouters.py a --- src/routers/noticiarouters.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/routers/noticiarouters.py diff --git a/src/routers/noticiarouters.py b/src/routers/noticiarouters.py new file mode 100644 index 0000000..c836bc8 --- /dev/null +++ b/src/routers/noticiarouters.py @@ -0,0 +1,33 @@ +from fastapi import HTTPException, Depends, APIRouter +from sqlalchemy.orm import Session +from conexionbd import SessionLocal +from src.models.noticiamodel import get_noticias as get_noticias_db, get_noticia as get_noticia_db +from src.models.noticiamodel import eliminar_noticia as eliminar_noticia_db +from src.models.schemas import NoticiaCreate, NoticiaSchema + +router = APIRouter() + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() + +@router.delete("/noticias/{noticia_id}") +def delete_noticia(noticia_id: int, db: Session = Depends(get_db)): + success = eliminar_noticia_db(db, noticia_id) + if not success: + raise HTTPException(status_code=404, detail="Noticia no encontrada") + return {"message": "Noticia eliminada correctamente"} + +@router.get("/noticias/", response_model=list[NoticiaSchema]) +def read_noticias(db: Session = Depends(get_db)): + return get_noticias_db(db) + +@router.get("/noticias/{noticia_id}", response_model=NoticiaSchema) +def read_publicacion(noticia_id: int, db: Session = Depends(get_db)): + db_noticia = get_noticia_db(db, noticia_id) + if db_noticia is None: + raise HTTPException(status_code=404, detail="Publicación no encontrada") + return db_noticia From 9c41002454e86b49043cdfb25a19374b42c63528 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 07:43:16 -0500 Subject: [PATCH 04/50] Create eliminarnoticia.html a --- src/views/eliminarnoticia.html | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/views/eliminarnoticia.html diff --git a/src/views/eliminarnoticia.html b/src/views/eliminarnoticia.html new file mode 100644 index 0000000..9d07479 --- /dev/null +++ b/src/views/eliminarnoticia.html @@ -0,0 +1,44 @@ + + + + + + Eliminar Noticia + + + +
+
+

Eliminar Noticia

+ Logo +
+
+

¿Estás seguro de que deseas eliminar esta noticia?

+
+ Noticia Image +
+

Título de la Noticia

+

Cuerpo de la noticia...

+
+ +
+ + +
+
+ + + + From 274680760164e1cf60c674f5bd0ba067e1bb6e3e Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 07:45:30 -0500 Subject: [PATCH 05/50] basura a --- src/views/basura.png | Bin 0 -> 52556 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/views/basura.png diff --git a/src/views/basura.png b/src/views/basura.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf1b919fa9ec1d210564b1dcebb8667d23dad49 GIT binary patch literal 52556 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�RN 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 bjaIo8nHg5H@u@fzlONanc-&jN Date: Wed, 15 May 2024 07:57:41 -0500 Subject: [PATCH 06/50] Update eliminarnoticia.html --- src/views/eliminarnoticia.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/eliminarnoticia.html b/src/views/eliminarnoticia.html index 9d07479..5c34bb0 100644 --- a/src/views/eliminarnoticia.html +++ b/src/views/eliminarnoticia.html @@ -15,13 +15,14 @@

Eliminar Noticia

¿Estás seguro de que deseas eliminar esta noticia?

- Noticia Image + Noticia Image +

Título de la Noticia

Cuerpo de la noticia...

+
- - From a4b21c38fea845d607ee5296631679311d9d78c1 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 09:34:59 -0500 Subject: [PATCH 27/50] Create eliminarnoticia.js --- src/views/eliminarnoticia.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/views/eliminarnoticia.js diff --git a/src/views/eliminarnoticia.js b/src/views/eliminarnoticia.js new file mode 100644 index 0000000..8957b70 --- /dev/null +++ b/src/views/eliminarnoticia.js @@ -0,0 +1,31 @@ +const eliminarNoticiaForm = document.getElementById('eliminar-noticia-form'); + +eliminarNoticiaForm.addEventListener('submit', (event) => { + event.preventDefault(); // Prevent default form submission + + const confirmDelete = confirm("¿Está seguro de eliminar esta noticia?"); + if (confirmDelete) { + fetch(eliminarNoticiaForm.action, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + } + }) + .then(response => response.json()) + .then(data => { + // Handle the response from the backend + if (data.message === 'Noticia eliminada correctamente') { + // Deletion successful + alert('Noticia eliminada con éxito!'); + // (Optionally, redirect or update the page) + } else { + // Deletion failed + alert('Error al eliminar la noticia: ' + data.detail); + } + }) + .catch(error => { + console.error('Error:', error); + alert('Error inesperado al eliminar la noticia. Por favor vuelva a intentar'); + }); + } +}); From 6d69731a50a15dcea3e0632546c42d413319ccfa Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 09:36:46 -0500 Subject: [PATCH 28/50] Delete src/views/eliminarnoticia.js --- src/views/eliminarnoticia.js | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/views/eliminarnoticia.js diff --git a/src/views/eliminarnoticia.js b/src/views/eliminarnoticia.js deleted file mode 100644 index 8957b70..0000000 --- a/src/views/eliminarnoticia.js +++ /dev/null @@ -1,31 +0,0 @@ -const eliminarNoticiaForm = document.getElementById('eliminar-noticia-form'); - -eliminarNoticiaForm.addEventListener('submit', (event) => { - event.preventDefault(); // Prevent default form submission - - const confirmDelete = confirm("¿Está seguro de eliminar esta noticia?"); - if (confirmDelete) { - fetch(eliminarNoticiaForm.action, { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json' - } - }) - .then(response => response.json()) - .then(data => { - // Handle the response from the backend - if (data.message === 'Noticia eliminada correctamente') { - // Deletion successful - alert('Noticia eliminada con éxito!'); - // (Optionally, redirect or update the page) - } else { - // Deletion failed - alert('Error al eliminar la noticia: ' + data.detail); - } - }) - .catch(error => { - console.error('Error:', error); - alert('Error inesperado al eliminar la noticia. Por favor vuelva a intentar'); - }); - } -}); From 77d7525d6b705c376a8d0b44abd7e37e1bd4369b Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 09:39:41 -0500 Subject: [PATCH 29/50] Create eliminarnoticia.js --- src/views/eliminarnoticia.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/views/eliminarnoticia.js diff --git a/src/views/eliminarnoticia.js b/src/views/eliminarnoticia.js new file mode 100644 index 0000000..8957b70 --- /dev/null +++ b/src/views/eliminarnoticia.js @@ -0,0 +1,31 @@ +const eliminarNoticiaForm = document.getElementById('eliminar-noticia-form'); + +eliminarNoticiaForm.addEventListener('submit', (event) => { + event.preventDefault(); // Prevent default form submission + + const confirmDelete = confirm("¿Está seguro de eliminar esta noticia?"); + if (confirmDelete) { + fetch(eliminarNoticiaForm.action, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + } + }) + .then(response => response.json()) + .then(data => { + // Handle the response from the backend + if (data.message === 'Noticia eliminada correctamente') { + // Deletion successful + alert('Noticia eliminada con éxito!'); + // (Optionally, redirect or update the page) + } else { + // Deletion failed + alert('Error al eliminar la noticia: ' + data.detail); + } + }) + .catch(error => { + console.error('Error:', error); + alert('Error inesperado al eliminar la noticia. Por favor vuelva a intentar'); + }); + } +}); From f96cbb58c58dbbb6fc374d81e937ba7074451181 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 09:45:09 -0500 Subject: [PATCH 30/50] Update main.py --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index cf6bf8e..c105dd7 100644 --- a/main.py +++ b/main.py @@ -20,4 +20,4 @@ # Endpoint para servir el archivo index.html @app.get("/") async def get_index(): - return FileResponse("src/views/crearnoticia.html") + return FileResponse("src/views/eliminarnoticia.html") From 6a3dfd70ec3391a237a04b429db23152b0afbd4c Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Wed, 15 May 2024 09:48:39 -0500 Subject: [PATCH 31/50] Update main.py --- main.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index c105dd7..2e5e4f5 100644 --- a/main.py +++ b/main.py @@ -20,4 +20,10 @@ # Endpoint para servir el archivo index.html @app.get("/") async def get_index(): - return FileResponse("src/views/eliminarnoticia.html") +  return FileResponse("src/views/crearnoticia.html") + +# Endpoint para eliminar noticias +@app.get("/eliminar-noticia/{noticia_id}") +async def eliminar_noticia_page(noticia_id: int): +  # Opcional: Pasar noticia_id al template para pre-llenar datos +  return FileResponse("src/views/eliminarnoticia.html") From e5678464a5dd6e49e4c71546a005576c739c72da Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:31:28 -0500 Subject: [PATCH 32/50] Delete conexionbd.py --- conexionbd.py | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 conexionbd.py diff --git a/conexionbd.py b/conexionbd.py deleted file mode 100644 index df7f85e..0000000 --- a/conexionbd.py +++ /dev/null @@ -1,10 +0,0 @@ -from sqlalchemy import create_engine -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker - -SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db" - -engine = create_engine(SQLALCHEMY_DATABASE_URL) -SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) - -Base = declarative_base() From 1dbeebb56f62a7250f90a38ecc68623fe64e79d9 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:32:08 -0500 Subject: [PATCH 33/50] Delete main.py --- main.py | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 main.py diff --git a/main.py b/main.py deleted file mode 100644 index 2e5e4f5..0000000 --- a/main.py +++ /dev/null @@ -1,29 +0,0 @@ -import sys -import os -from fastapi import FastAPI -from src.routers.noticiarouters import router as noticia_router -from conexionbd import Base, engine -from fastapi.staticfiles import StaticFiles -from starlette.responses import FileResponse - -# Añadir el directorio raíz del proyecto a sys.path -sys.path.append(os.path.dirname(os.path.abspath(__file__))) -# Crear todas las tablas en la base de datos -Base.metadata.create_all(bind=engine) - -# Crear la instancia de la aplicación FastAPI -app = FastAPI() - -# Incluir el router de noticias -app.include_router(noticia_router, prefix="/api/v1") - -# Endpoint para servir el archivo index.html -@app.get("/") -async def get_index(): -  return FileResponse("src/views/crearnoticia.html") - -# Endpoint para eliminar noticias -@app.get("/eliminar-noticia/{noticia_id}") -async def eliminar_noticia_page(noticia_id: int): -  # Opcional: Pasar noticia_id al template para pre-llenar datos -  return FileResponse("src/views/eliminarnoticia.html") From 2450cb235f67bedf224c0e76bb7d559ff29cb11c Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:32:53 -0500 Subject: [PATCH 34/50] Create main.py --- main.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..57ee586 --- /dev/null +++ b/main.py @@ -0,0 +1,40 @@ +from fastapi import FastAPI, File, UploadFile +from fastapi.staticfiles import StaticFiles +from starlette.responses import FileResponse +from src.routers.noticiarouters import router as noticia_router +from conexionbd import Base, engine +import os + +# Crear todas las tablas en la base de datos +Base.metadata.create_all(bind=engine) + +# Crear la instancia de la aplicación FastAPI +app = FastAPI() + +# Montar directorio estático +app.mount("/static", StaticFiles(directory="static"), name="static") + +# Incluir el router de noticias +app.include_router(noticia_router, prefix="/api/v1") + +# Endpoint para servir el archivo noticiaver.html +@app.get("/") +async def get_index(): + return FileResponse("src/views/noticiaver.html") + +# Endpoint para servir el archivo crearnoticia.html +@app.get("/crearnoticia.html") +async def get_create_news(): + return FileResponse("src/views/crearnoticia.html") + +# Endpoint para manejar la subida de archivos +@app.post("/api/v1/noticias/") +async def create_noticia(titulo: str, cuerpo: str, archivo: UploadFile = File(...)): + # Guarda el archivo + upload_folder = "/static/images" + os.makedirs(upload_folder, exist_ok=True) + file_location = f"{upload_folder}/{archivo.filename}" + with open(file_location, "wb") as file: + file.write(archivo.file.read()) + + return {"titulo": titulo, "cuerpo": cuerpo, "archivo": f"/static/images/{archivo.filename}"} From e938ca06fb6a0d4e438b57d9d6fdcffaa74fa670 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:33:48 -0500 Subject: [PATCH 35/50] Create conexionbd.py --- conexionbd.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 conexionbd.py diff --git a/conexionbd.py b/conexionbd.py new file mode 100644 index 0000000..c28041e --- /dev/null +++ b/conexionbd.py @@ -0,0 +1,10 @@ +from sqlalchemy import create_engine +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker, declarative_base + +SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db" + +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + +Base = declarative_base() From 50ae1b46e48ea087ac71e91544306fe4b6df5b69 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:34:39 -0500 Subject: [PATCH 36/50] Create scriptver.js --- static/scriptver.js | 100 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 static/scriptver.js diff --git a/static/scriptver.js b/static/scriptver.js new file mode 100644 index 0000000..5740d71 --- /dev/null +++ b/static/scriptver.js @@ -0,0 +1,100 @@ +document.addEventListener('DOMContentLoaded', () => { + obtenerNoticias(); + + const searchInput = document.getElementById('search'); + searchInput.addEventListener('keypress', (event) => { + if (event.key === 'Enter') { + buscarNoticias(searchInput.value); + } + }); + + const searchButton = document.getElementById('search-button'); + searchButton.addEventListener('click', () => { + buscarNoticias(searchInput.value); + }); + + const createButton = document.getElementById('create-button'); + createButton.addEventListener('click', () => { + window.location.href = "/crearnoticia.html"; + }); +}); + +async function obtenerNoticias() { + try { + const respuesta = await fetch('/api/v1/noticias/'); + const datos = await respuesta.json(); + + if (respuesta.ok) { + mostrarNoticias(datos); + } else { + console.error('Error al obtener las noticias:', datos); + } + } catch (error) { + console.error('Error al obtener las noticias:', error); + } +} + +async function buscarNoticias(query) { + try { + const respuesta = await fetch(`/api/v1/noticias/buscar/?query=${encodeURIComponent(query)}`); + const datos = await respuesta.json(); + + if (respuesta.ok) { + mostrarNoticias(datos); + } else { + console.error('Error al buscar noticias:', datos); + } + } catch (error) { + console.error('Error al buscar noticias:', error); + } +} + +function mostrarNoticias(noticias) { + const noticiasList = document.getElementById('noticias-list'); + noticiasList.innerHTML = ''; + + noticias.forEach(noticia => { + const noticiaHTML = ` +
+ ${noticia.titulo} +
+

${noticia.titulo}

+

${noticia.cuerpo}

+
+
+ + +
+
+ `; + noticiasList.insertAdjacentHTML('beforeend', noticiaHTML); + }); +} + +async function eliminarNoticia(id_noticia) { + if (!confirm('¿Estás seguro de que deseas eliminar esta noticia?')) { + return; + } + + try { + const respuesta = await fetch(`/api/v1/noticias/${id_noticia}`, { + method: 'DELETE' + }); + + if (respuesta.ok) { + alert('Noticia eliminada'); + obtenerNoticias(); + } else { + const errorData = await respuesta.json(); + console.error('Error al eliminar la noticia:', errorData); + alert('Error al eliminar la noticia'); + } + } catch (error) { + console.error('Error al eliminar la noticia:', error); + alert('Error al eliminar la noticia'); + } +} From 59682af168d77e1330f4539c2f0a99926655285a Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:34:57 -0500 Subject: [PATCH 37/50] Create style.css --- static/style.css | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 static/style.css diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..b12f718 --- /dev/null +++ b/static/style.css @@ -0,0 +1,76 @@ +/* styles.css */ +body { + font-family: Arial, sans-serif; + background-color: #4B0082; + color: white; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.container { + padding: 20px; +} + +header { + text-align: center; + margin-bottom: 20px; +} + +input[type="text"] { + padding: 10px; + width: 300px; + border-radius: 5px; + border: 1px solid #ccc; +} + +button { + padding: 10px; + border: none; + border-radius: 5px; + background-color: #8A2BE2; + color: white; + cursor: pointer; +} + +button:hover { + background-color: #6A1BBE; +} + +.noticia { + background-color: #800080; + border-radius: 10px; + margin-bottom: 20px; + padding: 15px; + display: flex; + align-items: center; +} + +.noticia img { + width: 150px; + height: 150px; + object-fit: cover; /* Esto asegura que la imagen se recorte */ + border-radius: 10px; + margin-right: 20px; +} + +.noticia-info { + flex-grow: 1; +} + +.actions { + display: flex; + gap: 10px; +} + +.actions button { + background-color: transparent; + padding: 0; + border: none; + cursor: pointer; +} + +.actions button img { + width: 30px; + height: 30px; +} From 1470528f73626e77d4932091259dfd46a4cf76e2 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:35:32 -0500 Subject: [PATCH 38/50] Create info.txt --- static/images/info.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 static/images/info.txt diff --git a/static/images/info.txt b/static/images/info.txt new file mode 100644 index 0000000..e88fee7 --- /dev/null +++ b/static/images/info.txt @@ -0,0 +1 @@ +**aqui van las imagenes que se cargan en las noticias** From c405e077303693842fe1e16d02a47aa526036c31 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:35:52 -0500 Subject: [PATCH 39/50] Update noticiacontroller.py --- src/controllers/noticiacontroller.py | 40 +++++++--------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/src/controllers/noticiacontroller.py b/src/controllers/noticiacontroller.py index 3b1864a..98f42c9 100644 --- a/src/controllers/noticiacontroller.py +++ b/src/controllers/noticiacontroller.py @@ -1,36 +1,14 @@ -from fastapi import APIRouter, Depends, HTTPException -from src.models import Noticia, get_crearnoticia -from src.models.schemas import NoticiaCreate, NoticiaDelete -from src.models.noticiamodel import crear_noticia, eliminar_noticia -from sqlalchemy.orm import Session -from conexionbd import SessionLocal +import sys +import os -router = APIRouter() +# Agregar la ruta del directorio raíz de tu proyecto al sys.path +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + +from fastapi import APIRouter +from src.models.noticiamodel import get_crearnoticia +router = APIRouter() @router.get("/") async def get_index(): - """ - Retrieves data for creating a new noticia. (Optional) - - Returns: - Data for the noticia creation form (implementation depends on get_crearnoticia function). - """ - return get_crearnoticia() - -@router.delete("/{noticia_id}", status_code=204) -async def delete_noticia(noticia_id: int, db: Session = Depends(get_db)): - """ - Deletes a noticia from the database by its ID. - - Args: - noticia_id: ID of the noticia to be deleted. - db: SQLAlchemy session object (injected through dependency). - - Raises: - HTTPException: 404 Not Found if noticia with the given ID is not found. - """ - success = eliminar_noticia(db, noticia_id) - if not success: - raise HTTPException(status_code=404, detail="Noticia no encontrada") - return None # No content returned on successful deletion + return get_crearnoticia() From 665987b0d23ab1b83461c31bd12d41196c1b5343 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:36:13 -0500 Subject: [PATCH 40/50] Update noticia.py --- src/models/noticia.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/models/noticia.py b/src/models/noticia.py index 976c3e2..5f84133 100644 --- a/src/models/noticia.py +++ b/src/models/noticia.py @@ -1,3 +1,9 @@ +import sys +import os + +# Agregar la ruta del directorio raíz de tu proyecto al sys.path +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + from sqlalchemy import Column, Integer, String, Date from conexionbd import Base @@ -7,5 +13,5 @@ class Noticia(Base): id_noticia = Column(Integer, primary_key=True, index=True) titulo = Column(String, index=True) cuerpo = Column(String) - archivo = Column(String) # Ruta de la imagen - "static/images/noticia1.jpg". + archivo = Column(String) # Ruta del archivo fecha = Column(Date) From 2455d595999180464624cc26a1dde4be286463f5 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:36:34 -0500 Subject: [PATCH 41/50] Update noticiamodel.py --- src/models/noticiamodel.py | 50 ++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/src/models/noticiamodel.py b/src/models/noticiamodel.py index ebeef21..3adc0b1 100644 --- a/src/models/noticiamodel.py +++ b/src/models/noticiamodel.py @@ -1,32 +1,40 @@ +import sys +import os + +# Agregar la ruta del directorio raíz de tu proyecto al sys.path +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + from sqlalchemy.orm import Session -from .noticia import Noticia -from .schemas import NoticiaDelete +from fastapi import UploadFile +from src.models.noticia import Noticia +from src.models.schemas import NoticiaCreate from fastapi.responses import FileResponse +import shutil -def eliminar_noticia(db: Session, noticia_id: int) -> bool: - """Deletes a noticia from the database by its ID. - - Args: - db: SQLAlchemy session object. - noticia_id: ID of the noticia to be deleted. +def save_file(file: UploadFile, destination: str): + with open(destination, "wb") as buffer: + shutil.copyfileobj(file.file, buffer) + return destination - Returns: - True if the noticia was deleted successfully, False otherwise. - """ +def get_crearnoticia(): + return FileResponse("src/views/crearnoticia.html") - try: - db_noticia = db.query(Noticia).filter(Noticia.id_noticia == noticia_id).first() - if db_noticia: - db.delete(db_noticia) - db.commit() - return True - return False - except Exception as e: - print(f"Error deleting noticia: {e}") - return False # Indicate deletion failure +def create_noticia(db: Session, noticia: NoticiaCreate, file: UploadFile): + file_path = save_file(file, f"static/images/{file.filename}") + db_noticia = Noticia(id_noticia=noticia.id_noticia, titulo=noticia.titulo, cuerpo=noticia.cuerpo, + archivo=file_path, fecha=noticia.fecha) + db.add(db_noticia) + db.commit() + db.refresh(db_noticia) + return db_noticia def get_noticias(db: Session): return db.query(Noticia).all() def get_noticia(db: Session, noticia_id: int): return db.query(Noticia).filter(Noticia.id_noticia == noticia_id).first() + +def delete_noticia(db: Session, noticia_id: int): + db.query(Noticia).filter(Noticia.id_noticia == noticia_id).delete() + db.commit() + From 5f5e6064e092ea36ce12d1998a5c35dc2f963fa1 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:36:53 -0500 Subject: [PATCH 42/50] Update schemas.py --- src/models/schemas.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/models/schemas.py b/src/models/schemas.py index 8f03f15..0d5c23a 100644 --- a/src/models/schemas.py +++ b/src/models/schemas.py @@ -1,21 +1,21 @@ from pydantic import BaseModel from datetime import date -#Actúa como una clase base,reduciendo la duplicación -#de código y asegurando que los campos comunes estén centralizados. +# Actúa como una clase base, reduciendo la duplicación de código y asegurando que los campos comunes estén centralizados. class NoticiaBase(BaseModel): titulo: str cuerpo: str archivo: str fecha: date - -class NoticiaDelete(BaseModel): + +# Extiende NoticiaBase y añade campos específicos necesarios solo para la creación. +class NoticiaCreate(NoticiaBase): id_noticia: int - + # Extiende NoticiaBase y añade campos necesarios para la respuesta de la API, # junto con configuraciones específicas para la interoperabilidad con SQLAlchemy. class NoticiaSchema(NoticiaBase): id_noticia: int class Config: - orm_mode = True + from_attributes = True From be22fcb9c58f6ee6cd12922bec4d30cd45c9b90a Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:37:13 -0500 Subject: [PATCH 43/50] Update noticiarouters.py --- src/routers/noticiarouters.py | 73 ++++++++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 18 deletions(-) diff --git a/src/routers/noticiarouters.py b/src/routers/noticiarouters.py index 8a4f4f0..3c6dd4e 100644 --- a/src/routers/noticiarouters.py +++ b/src/routers/noticiarouters.py @@ -1,10 +1,18 @@ -from fastapi import HTTPException, Depends, APIRouter +import sys +import os +import shutil +from fastapi import HTTPException, Depends, APIRouter, UploadFile, Form from sqlalchemy.orm import Session +from fastapi.responses import JSONResponse +from fastapi import File + +# Agregar la ruta del directorio raíz de tu proyecto al sys.path +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + from conexionbd import SessionLocal -from src.models.noticiamodel import get_noticias as get_noticias_db, get_noticia as get_noticia_db -from src.models.noticiamodel import eliminar_noticia as eliminar_noticia_db -from src.models.schemas import NoticiaDelete, NoticiaSchema -from src.models.noticiamodel import eliminar_noticia +from src.models.noticiamodel import create_noticia as create_noticia_db, get_noticias as get_noticias_db, get_noticia as get_noticia_db, delete_noticia as delete_noticia_db +from src.models.schemas import NoticiaCreate, NoticiaSchema +from src.models.noticia import Noticia router = APIRouter() @@ -15,22 +23,37 @@ def get_db(): finally: db.close() -@router.delete("/noticias/{noticia_id}") -def delete_noticia(noticia_id: int, db: Session = Depends(get_db)): - """Deletes a noticia from the database by its ID. +def get_next_noticia_id(db: Session) -> int: + """Obtiene el próximo ID disponible para una nueva noticia.""" + last_noticia = db.query(Noticia).order_by(Noticia.id_noticia.desc()).first() + if last_noticia: + return last_noticia.id_noticia + 1 + else: + return 1 - Args: - noticia_id: ID of the noticia to be deleted. - db: SQLAlchemy session object. +@router.post("/noticias/", response_model=NoticiaSchema) +def create_noticia( + titulo: str = Form(...), + cuerpo: str = Form(...), + fecha: str = Form(...), + archivo: UploadFile = File(...), + db: Session = Depends(get_db) +): + # Obtener el próximo ID disponible + id_noticia = get_next_noticia_id(db) - Returns: - JSON response with a success message or error details. - """ + # Crear el directorio de imágenes si no existe + upload_folder = "static/images" + os.makedirs(upload_folder, exist_ok=True) - success = eliminar_noticia(db, noticia_id) - if not success: - raise HTTPException(status_code=404, detail="Noticia no encontrada") - return {"message": "Noticia eliminada correctamente"} + # Guardar el archivo en el directorio y obtener su ruta + file_path = os.path.join(upload_folder, archivo.filename) + with open(file_path, "wb") as file_object: + shutil.copyfileobj(archivo.file, file_object) + + # Crear el objeto NoticiaCreate + noticia_data = NoticiaCreate(id_noticia=id_noticia, titulo=titulo, cuerpo=cuerpo, archivo=file_path, fecha=fecha) + return create_noticia_db(db, noticia_data, archivo) @router.get("/noticias/", response_model=list[NoticiaSchema]) def read_noticias(db: Session = Depends(get_db)): @@ -42,3 +65,17 @@ def read_publicacion(noticia_id: int, db: Session = Depends(get_db)): if db_noticia is None: raise HTTPException(status_code=404, detail="Publicación no encontrada") return db_noticia + +@router.delete("/noticias/{noticia_id}", response_model=dict) +def delete_noticia(noticia_id: int, db: Session = Depends(get_db)): + db_noticia = get_noticia_db(db, noticia_id) + if db_noticia is None: + raise HTTPException(status_code=404, detail="Publicación no encontrada") + delete_noticia_db(db, noticia_id) + return {"detail": "Noticia eliminada"} + +@router.get("/noticias/buscar/", response_model=list[NoticiaSchema]) +def search_noticias(query: str, db: Session = Depends(get_db)): + noticias = db.query(Noticia).filter(Noticia.titulo.ilike(f"%{query}%")).all() + return noticias + From 6f2304925737832e4229e0a188f170b544d8073c Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:37:30 -0500 Subject: [PATCH 44/50] Delete src/views/basura.png --- src/views/basura.png | Bin 52556 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/views/basura.png diff --git a/src/views/basura.png b/src/views/basura.png deleted file mode 100644 index dcf1b919fa9ec1d210564b1dcebb8667d23dad49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52556 zcmeFZc|6qZ`#wC~N-HfYl`Od{cgb3o?A?eITBI_T>@j9WmKpmfMI}j+Buhyu*<&z< zA_+0F4aN|Xb!Lbe%UFKryYA2D`M#dl_xF9i|2+SF?$>QBy}jppU)On^=W!m#ak+ik z%t&b6u5~CBO6Y{K!C4eaU>NyWBM3h+O>6y*Lak79)7L+J%n9${EOplCZ>hhOjviG% zfI|Hh6Bk`!QgwQ3M1`1P^)t&g{og!g&YbpW`*8OJ`i|7aO#KI0C-mbSw&1c!^PBGB z#I3u7|Bx~IaBOmIkU;h8F#Q`FRz>zsC-olP-MAvnfu0n8CVc8*CZQ!Jd#Jus)aCIX zp=OWM37NjAO)^(M?&#&L38kA-*hfC`Ny?HhO$7eDOc8V5b8B5wMe}PxrIlY&Q`|Rg z41I0ZrLxIf?{z$1?DRUXWt2%BH)xYxXs5Tfrdoz8?8JA+TM(>ce z=%r(R&*VwxcWB0rIn;RW6z13mSU6GCJjpB8lMRckZvNb^B}_uS|75;6bx!v)%;Z{6 z<4fKs)Or!*V+HET(;X<(s?Tl~7kw_8p3-o{W999U`IYy>dcxHxl$Nfar@bS_*+k=P~w)F1>y=Zz`N+0j#ETtl^D(9$lL|sblsJxQu z5yiu*hoqDhm5wSXsw*fRmQz&HP*l}WQIq=TKWTV3FDDm`vj)fic`x`*Tl$KRkEe!$ z0+C3RCmxo^d$}q=u)sZ(6_l0b;0if!f1HoKpB&En&wt&)z}ef;%gxir4UdyT?r86T z_w~`1hLQe$1gz)3Z;SK(XPRKb6#VQx6_n%^kw^O1g{G$e^QBnqzpwW8F(kmd{4?JF z_Qu{8{+`YXXPv$AzFv;bh6HDv&!7K#GbhJ?|E{O6m&dOsb#hd2_Hf3+W!^9_rGLMb z=M}sU-unvv|MDFF{^x%`ji-jbm$SVO-pc}y_xRUBo&MKdq?F;QrT)6$hI7Iby$>KG z`sWv%4eWiKwWXC6m5<0N!vD$^O3E5aO0a5jiYgk4ioY*4g*b4s_p$%qU5s~fbMgP* zTxx2naRTS$n+t<|2u4*@Q!egf6tJHgQAP-QFRp+IY)ct!*WW_M~=v; zLwv~{bvf$dpr&^8h_agVucw5&nR~gx&awCSuXja8Jf zHo0!zc2H~yZ8|8y_}D^!c6~v2A9JBZSdaqg#UTy|GS0%|8eO5OsnG+ zdz`B?Bu)is(34>!6eox02M`Cx6_;UP{JG9!ZV`M{DzJKHJOf~zw)9v`PnVs%7QK$CDHbfQ` zElqWO%C@1Xwx@l4<$vH#{PVx=IIz~c+i&A(&&Vln-x!UxO}#hpF;*gG?e`xElZ%f( zpq!4olm;4D^bHMZ4W00z*sS(+ zAfHhVp`pUaXT1%ZntuKEtrdT0AU{AU>FNEtiIm{KZi4#HP5v_{|A~|T>>bp{|D=Nd zq{si1jQ^BTfENEr1^-C}|49Y^T`G8CK953OzPM0vu3MyfsmyoEGT%05=t;v%`jsPP z$J1gkg;pa{Ysv_eq;VgOTCzA? zHCfBo^+dh@x+m4~K8M6DypUzNzR)V`bY|N+O-)U;T~Xl{nde`(xo=r{t#!=TO*OIE zz3@ew`w225&ZS^y$Xg~Z!oFK*cwRQ)l!}yr~E4{4xaxx7sRTM}kxfOHTv)|(~EtnBoq1Q>? z2ru{6t_b!E8j4i#9`y3}@%Hxia&^skN2M;73v#lu|8FDz6+Mi~_)^qM}_&oB4D<4>lajj_twUi6Ui z3@wm%Yy6ED=5)JVQG<;DiOgVbYvS@pQ@CR+TFb$JO)KG7Rvz0V=o=WThu?bTGHuYy zzAf0p<;v&75J2@XrVP?N$U?FDh#i+NYSNhHjrMI}j zd+y5cyat&PnVe;vQT>k#+H?nW1ju?ZBS8px%|nKC(p{qJG;6XjdBCjUzslV zb}6*F&u)+TEX7*N-lH)(Nf=JV;>mlo4;E8;YnC=FCd_MNZ_zo=uyX-86WJvQ6ORb< z{jq(86I$k8CDs?6QyxFQpOCO~r=%n)(8a~Y*~`moU`#ToVqt-{wIAutX%X;Jb0ah) z;8z0a^msYO4X}qe403dI^ul7XZ)|gxy)c-Qs;a6^@Tr|n4}AF+v!;+WJWshb{q81a zn{~zU7bLytb?vI-3{^jV$zqT$|7zfZ>NKS-AowlCwkJ6WFyPyR0 zrArBytgN0edU`^L-rnbmii%!XWtpU(U5l>p4KA{5DD=X0a+zl^U$D+y0goy$=NZ_* z-Z6~z8OZ`HkLQT{OeB>=Um!%4VQmpwWHHYrETcEiw|GFK9G=<1aa(E;y2lEzF$U0?Ndz+`Q^)( z?K*xVhG#FI+WcRidtkMloq2ry;Mc6ItjV^vwuFX;hRMOfLA&AYR~QTil2qLbJ#~K) zD9n~*94X1bm~%l+m(A(qlrcGdf<9E2Br_wcEK7Cu9LR)wY|wo&`}aEq1zE!zj(2f& z6}Csly?*_=@axyFKcm!0#oQp*s5GD<{vE2(5f^l+mZjc9jq9T&b(eguUOgkB9k3VP zJHMdd&jy#n8<>!rrDN8hJ6ZD{k)v}Ij9hiAq*wGzKxBIaJk&q zadB}8$OnbUS#o!FHnhBO!5ND+9p#p;{17Ww;%n-oni%J!At#-W2|k*fWJV^hu)&Al zGFEpoV=$SwXNykmfdT{9Sj)?tJ9kc5MP(n7ZRdUtrZj%}^7czZgIu07qgFaq;QiDd zcv0GuDw!i06s%2!1Xo^M>=y!?!QIVmgr1q1iELBY47;L^cUa0vYoE6kx+QI1w5r~v zKwG3akA%C~ZI(~3og!RLW|lYL23#^~FnS7G*CCOAkUu+Hd^akpc41+`jt1}A0Pn6f zU!WTtR2hHyuV0J*tFoiiJw!uhI71b){gDZUg@w_a9;z&)i2Qf&_M*{f`}Ku_9C#L( z(=E4eyt9&<47PjI=6>;m>E12&6wSVcZ{s?n^F*;`?D^oP7qh4K|5@vF7K$IKKyy;=_fPgqM#cm{Lj6oxr$;#d$=IXI zwN4L0mv+Cq&c;=#UKu+|sZOLsP?jz&vFPnnyWOGmPO zUS6J@V4b-3!C}-y5b%Var`8M`4OMcM78kP6WZTlK1E28m@$t@%j{1OmUYvcMyCwSr z8lA;_-9HbR=4KXMx_QcPb9kk;!c1w&`K$c7S0l4Ur9C4)Q0HO7x>!X}z9+SETtibr zXbyRQRXdz+bG0mtPpeOCrG% z{Ijm@n_mt{re9wnLHg`^h@botpF`6Pm>yo3pPz57ir7fXgIgpfCg$hm?coM!@1A%W z_SxfeLAP&%bpBW#Zwi+#${!LA6X|4@v$IW!DPm}B^n5YvdXw0pT|W%>K9x~~&C$}* z0-M9R#A~oFacXMn>Gi;_TJ;#nT_oE?kIk&uAqNo7l z+!n4a6vP`SO0v;U)6}+>EdYd)@w0LH@WxNrOVOp9m9N~PENRCW-#EPTLG6o`$D|-C z$Adl(dch{yo7iyY7T~e7nQgG9##GyQ4^`Q;v^1~De#4TWxqRy~zsVfCfRXgXf`S5B zyWr)(K@p0c>zZGnN{)>R?cg_x+Wml9mC+N(p^CDZlo>|g47)aL^~TEgamITqgX^)6 z39`A5#C{kihaVT~e*IWdm=fM=>lhf!)Eyh>PLwZ=FAa&dIJhr)=r)4)wrpOT`GbkO za9wIm{DI-0;qHY8>+9x`NKwyCkK7AFZPJc$~n$N!0y_8Q&TGSAl(HNmJ zaVIye1c+ZLe-~;Igp;zevh)xwC4RlA{O6nNMMI`5*DG|FbJNJGX5aFYOnycB>0_%= zA3xpfUF6SU=-JeXZy&;XnI+yb9q#LaRU37K#xirt=W|Lw1qBA8p=$4FJPdJu(+XgV?DrxQoNVg6e@xFE4~tvg znQzXFwO~&kNw#Z!M8pktC#~P)8*5Mzud^(@rHI17trqI!xkP0>W?WjOdVfp_dJ{J? zquE0>-7@n8B&xQy^9UA15Zc@9Y?HLFep7?dI_1HO5xN~3FYDK!)CZuBg*tMPHWe1g zd!wXI*=(aGr_5)lF=?6J-2C83qAAjG)R*46ajiaFiP69Nyjvj}$6Y_PSd2;II;sbq zq20Efc@-*Am_wx)CNc&$oj(w5)z!rLbgigvYzC*A2>8TsZ+9}Q3UEV3=|Uu_R1<)$ z*Fb|LPJ3q63Y6ZJtI&t&NAhDmmuhsECgXA{mgWm!z3N9tkq(I)U}KQXP7rT<;K3qS z&-tU9na{k{brzEgUJcndMLju2Ls!%o7Jg#P2@t;7?2nE4`t{6CF|pXGAzFQ$?1iO% zWLeafrtEsUYuu9kk+7J0b{!&Qd;Ic5;}^)uGtC$5g1LPD45uD8JTy!wW-md&R5&_6J;x{+k#>wCV4OiqU; zr4&9I+DJ=rUuZPlrG8C(D^LAA3Pk`ghq~AOrDEYn-D=68i7vVwX>rOZTH-`TON@uA zn4ko43+1GK*;3~&i%Y?_H-5%W9ir=u`uEW28v~L`dKpEZDEdEqvI1dop~tOtDbStK zGKb6-a)h5qvbnU>xg135l@UONA_}L`a0DIyg40_;8UbW5zciFWS|UNdFgh4_=kDFR zNXH0BO!_N2wPa0$`r0$horE1WFpvPM{Mgu7U%N+%HG2_y+~uLMiUn8vRL;_2ISwi` z_)p{^K9Y48t}KLY)bSf^OwuIH&X46Fc^h&CXtU6I^z)apgI`@!ztxq-givKI!N0V+ zt03_SO$o#&&=yfqQ5ELtXG#37oFyaIMTKQLL&jeR71|O8O^&)xZ@>)owYkpR_b8eU ze_U;&gx3AIxNXq!DyypQhYXC&wPoh*A%7qds!nv?@OiqI@`!0RN#4WE4kR%4)IeS5^|_`5@5f*;(3tJrvUcarolwK}#hIjMWN9Zh zgzEz__UM-48eths(<6*Dl~L?A6CpITtBLDPID z*TgSBzAudGxQQ&#ebJsk(r6N~$A55&rn}5!G01~ZA7Fj=CYhat^>ryY01Y1?s_$M$ zVcE3xi$aTY85x~+2S*)w7{E50O56)~m9IYgx)o0(5SD(7>MoDYr=N^xlMrY*Oxu9+ zv_hVX#!9sJ>|GvCiw^M}Y7|GxFi=eK^(W-x*GIVSi#;)^W&U%nY;Wudh%cnf)TJ?0 zH|);9kr{_Yj|mi`chaLv>=^j)>pgdyRmPxC@EU8EyJTy-H23KfbRo;)o97m;G_FH= z?t-2NMH{TsDXK{}E;FM*t-FdsoL2?4J~i*-^y(BN|JS4Eb} zvXsqtU;Ff7NWJ_#Q}52YacOgb0F9(aP_<#&gL*}KXVQT<9P&q+W5C6H=y`vTmK$ly zfj{fwWQm>OLMTM!A7>=0;r3U|k7i!bS)6WBD4!pd^`D)1c1z1`P<-dkwKLanM|Rnx zprZn+sq(VK%44*Tm~SseN~fqU(pOG%X1WTqCfPkB8tU@U=5QjAu!g9?LljYMNmBsJ zC+jgeR1@RXp?iRMLXFqUrUYrse^@P9=EdqNBtnK#fF*$?t-736fpCZ_kQIPa+_&a> zZk7$5-*uwnhVRoC2GV&LYDuHvtvAUO$%3#!gT3Qxe&KZ4!>03bu1Ed;$#b z=FMxbf2%s4HW`awtdV4!nVMz=PyZyNjrtoP?!2ANIBGSW> zIw~}zXI)&?JD!4N1X%bo31L^x>#Vu%xyeB_QK%wCaQb-K9)P|;kX0rLJ*fSD5?{7_ zjWlM2$L^k6D}Zu9Htz7)Xidu9o>Jd21Qn6|U`GL0`+zpIFUI&Yk4M;1=}YsbM8D(k zwabI78KdIdl2_l{btSlu)my|)J?hcRKi9=o$v%1Hxvl8D zAJg6Rd+mh5;?DVyuZb6>rQ=KtAH~O~TO3?0vN%ZfA50>)5SPER;vA3qLkEED?wAn2 z#pCnH9Q@=$L7at``ntM1&-nRl79A6IKJ$%#eu>X$_T82W+Tbq>8?Ty9UAPJY!43) zXa#{^uS(52ubZXVg>sc~V61Il{Nr?YiT=m&qpztiLn&=^b-@c_7AnR?3|6i<+JJCA zlso2ObYoG1?bwggrJbx06X6ZuG|P-RyNJQ!&dLd%b4DORc$MtN)mUa(E;o6oE{~6D za%?jm2&1a5!J2gp@>mRoAZU{~A-qmkdvsvl#SP>$BK~KOiu!MP&tMVMhfVe0TCQYn z!jN=@Jl;1?wcbMsr6!rlJiWpZ-WmC(^pnz4bm_Lo;iJ$ULFx#y_5BnYZj!Vwl`fTV zD!g7|Tu40Fqnp<2g+DY>Gd=T){YPL(Ksm3_0YClSt7M|^;i>)UU#}pAAw7K`fI<)f zLWcZ%7z(7>GoA>V6Yos`{EyhLnjCp*%K;-Z70ZiafN%=CD@b;*epQdc6=P%qQz8v6 zm>WJvlg$4Vx}bWo)4PyF#ze0!yiv1gWnd~p9vaW47DeZYZ&kfpv-s5JjKH_~5%Tnh za{2B-aVAbJ$S%EQB>CBGz=hYP?nCbj$qp(AXc03qcx(RnltKkRscuioL6p>Sr1UmT z=PVD_)ku;SepTIg0!0q`EkyW1fZiz*SA@=ExjLge3)9h*KMayBTMUzN+cE;J87kGK zOC9VvTqf&ksbzo`kC^oYqtb2piCI^|sAE}18$Oq9c8${}+H6T3%1T-*y~XzA;x6W$ zEGDjge!f)8Z$htmWLnazq7fl!h4MHKV`j;4QBZzi}p-U z1lvJt?9PuPw^N$;@Wr&r#$kCudEvYw9h@ETkSWS)+-dZC5db9NS8 zmfxc7{ed9Tk$7aj^lPZZ%4@%yIAk4wHisG)KwSzc=v=53OR?oIMECOLS!|T&C)kLW zKT{XJ)(ik%{vbxrw&7Rz_dD#^5Aw;aTS#AOR`~ZW@*B>Xrh^%Qj+NrmFSj{lJz>=O z0~GFKAXS!gpbeMaLUn$uxw0XAsi0AQV-x0; z8h)DF&kndub}9H!4i)s580Q2$FOZvl$ukkq)7or{8I$q7hYC$QrUzw>IPfVd9zbdV z^bu_rkiI?(sPHGqyZx#L0YyE#!tbYdUuFq;IdU z1(_}F>l(Uo#@Pda>>sIUC`=)yd$&0 z0`?DVB(sb^J3Ul43=^a}E@cd1GGZ8sTX`HpaG~v=S;>q&m`)E%fLPzB=5h~;4^cm8 zCfz%d*r0g%hu2X+Jb*AEY$0B?!=_=9AZG(g0S>35C%M7JF*rG*fnYamDs1y3HAhrv zaNb|jg4Q#Am3%d`%^e|b)$lzF{uJgCgR{)*)rcf5>1t~w9A1UmtqM}whS!s%`N4W* z`8VRbizi8znQfkU{N~Q{4K1`0rxANMZ_!Sw?~|mDSad13tArn((K6y$Z2Q{cK}^hM z&=~DAuG^%9G*4?CPPhxB+`JjM0|1Ez1|O%iVC=A3A7>VGgVC8(7&JgO!|x}yK~0^Q zVkh@iRhrEcBUX(Ljav)A!qp4DTYn6Xnk!d`me77+mBov$b^3`9Szre)C6P&G1Z7uf zs!u^--|_dke=?YnFBY`*x) zV;vGOQO-U-76{`D;!mGK7DzRP{dxk=E$2mU-#~;Fy#zrYp@DgguPS4OR;D0)Y|SnN zNg48Rz(H2k{!wj5{CLN9BG!$Zb2u2^mA(q18=xmhK@jq~l9H0kZpUvxEpbI`Ea6`& zIm?dhML<6gyJE{&pba5nk-iWJMrfH}O5~1$imZ{uzO-KRQ1>-lQ53rB;pdhSR#$uW z3Y#$Y$B#D-9Xj;6I#P6SVQxxUQ&SeyM@aJ|GwTk$SD5dDlnf zlS%>)$-u-aBNHqAt1U#38wE)Q5kRHFBCgGRPk4VxIblOY!idHt3NPsK!4cKRjQi>K zCd+Tzypy_+=>-KBnckbCw)aKtg3id>mi+~st^Ga?_P964(#xitQ{UKl4?FrjPclcuzw{BaQPVTt3V9w#ip!YS7V`{AAil#QNb@Z< zGK79qr~ov{@9+CfeQNmri(r8Fo2*BZaVH9`gsL7D$&P&_EEZ>{NwjM>83v%c4GH+j z^zn~4n?N1l0S_NO?A2Gfs>HMJI!Hk`F%)wF8+eN8V_qdsp%mwarJj8aK&{9kvn|=) zzsl3QhG5qrwu{HLciq_`H#5E+!*jXcV_bll_pPS@8jrlS;3yx@ujefECACvi7HaF( zK2=41+l1s+<8FlcP0}PTO$>ki^FVw(s3uz@t34lIDCpb@ooRgi&A1lGqv0FG{t7=) zL9N4{KSy`Y{6$8efGsvTc{KraU57lsgKvIFn>SvXIYy52rZiYr(-7?HoJMF7aBN=i2oEDO5M;Rm{Dhkt9sEXlW;4joPt!z;&CS-tlAm%q!1r=M5X3l!0h* z2DuhAVkA|8s6WorlH8kc>dufqf{9h#DI_vg_)Ja|Xn`UkB3^L+Txu_rF8eF42}u`H z1y*vOa>MVjPUXo>5Q0m3_U5Ub^!SU;$?DCq&8Y{vvAaAN%|-|-V6INzS`m6KeA!dr z{Z7>-^NOH3U>fGw2tfzz5p+a={6?l@mlrUD*56N{3znKqu7DB4tzP_-B~f#4W4MLT zxd7^sLx@RYXbOoyaPQc!x|EsRr5ds;CoM^$oIZf~IzVwpd>sXsCKqLx?XKESWrIVo z>O}Hb0h;HgM_!?mWER0Wk5&>L2^K14u|W>=f{fV<yE0L_T{4HHH0w25r_4F*{ zC-pSMO)*@tG*(gWHT9!mxxhB(B$BD9p-%KIV=ArB+`D2@b~9Agv`gF;1IM=C=rLP*xd0}HWnhSM7lv;*krKq&yV1^XB3Klofc z7u_@4MlVV3E-dUg)4?hApx`b=R}0H&9%R46E{)kDnVHprlHo)kSl+4b z&sH339?~OI#4PN|eAlrVtwRL9g4zc6TU(J5efD5nK>K&fP#p9a7Z25eYT)GVesH|! zR#&oF$qMyR8auZ%ZF?cl_WOvH=OE$2a0<)UM|PMOe$%pv8#vOS#Mh#DZC&0hN@ zyxEA4)ys^GK_FC=b#;3W?`{m2&4ge^$gmG#tAUKKQW?Xkx28PXW1E>5;VV#0eN>9; zDc=rmE$d=WNa@z*qI#{EGYq<1DT`({sTZeWm65;^3HP#`<}N9wGRI_^+e8}~00n`t{*d>V7nu|yX}(IK zynA+>OMg5nj8ZZ}^3x9xM-`}mP3*dhuj(UO8}z{-Ss#F<=+m7Ri#k5*Yjsm3CRwHJ z%!)dhs`pU}d9ynYbNXgms7;5cv`X_BX^#`vcH(Il9pD3GFRD+G~6rX(=ww)EK zP01-~o{10iK7lvxNO9A3&4~#X>f+4-$_EP6i_c^AibhsT1}$giRQ%FsVyyo{y?+Lp z)%%@4`}vZm%BLDNF91Wk4|X_U!hpYDSlSpSFQwT!&FFklT`B3jCco{hTF}_l;Yn`b zU4}-`#Wp8?fyb)OtQ%udcMbY$yQV<;M4SWc?xP^%%Q%(Tqw!CH%=-+>Fc?i*NCWh~ zQ(T<2cDSg)8r`RoIyUA1Sfrop3lOf-JvaO_q%^3OpmHOZ3FVku3{oI0=B9=aQ-Oq* zpA^_8o;0|aYZjyP=$Nz=`aoV_n53av#J0k_?|V))MH@16n@_VX%i<{Ds}d7p2R1Fv zzZ%0zrg`s!UT-gOkb851wZ-urq5ZCYuh{EkLFnr097!1~XhZvlF`!4%yk$eK7j z=%0*8X@DmoIRZAcSFx3JUH!~$kZz_zwpl+vHSXQYnU|PeV6r#!>uv5mQ@b**yd~)k zTStvI)~##Ae4KCRniEBED(?QO8t(r5YL}r7Zz~%6OPml*`)-XXSCoeLRbX~6$@=7k3V|o$PhLubE&+KP6154K zQjjtV*uTQO;?64$AF<(xiHY@@ZcD1fl8N5<+>S?>Ksn)oAZBQG+!RnS(3=301XU4+ zcs9#2P;gV}d1opi{p<+@T>!{{{5V@)f!T;>to_zwoi8q;`eoy~_cU+z8B7DK;ZIGB zUdG!oEBxlQc=chS8)+^nM6zKIj&%Xh8Sp4XFF&G#!}TmWO6n!z)e(ek_yuUFWjfNh zu~=AOJhcT{?@^S?Ma2|VHjFATme@r)k>j`uLS}fxW(#a;QQ#v?WQjzy1O^Hqbdul! zS}PE+Klb)Q2yk?<;C-7oDiUM!p)uSC-JtunkjJKZp^Lc-+Mlomyg^-RrkBaV@h`Q=yRNgatRt+;f; ztXYOgQHrD>Q9G#h^wGtq!9CMIfB=06MqJP@Ac6h~&at81rG?0dl#0m!)@k8QD9SO@zfVgvoAqWCi5LF*uDz)x?&L9O_EpESc<&{Y}cB0v|3k zHQXT6)~i>}dxJ3qxbhdaIh@i1ml>I?C({-O3o-6|dtc#>({E~WFmDZ$eKvzDCPHmH zSVxGgGn}GsPPN!ymD6Q;RpKwM2-S)ei zEU1y7@&Vld42eDYnoUGDotrv7xxuPGH99YgSEQeAl?7F<6iHW$v-P??6}+y@@hB+Q ze?z%GH{MKIuxBIguDP#iM#yeypDyiFz1My4Re1EP&;iR%e(=T_+G=ebBDF-Q+p6J< zO98So9UL4k=taK)KPIBc=7XzOR#rB@q~t)<@ibSGZwxbbniaK{XgY6yp$R*5y*WCr z-r0X)Ht&$UeBDU}YOD9%QeJmBL1-8}SBOOtQD7n9$~iM{$H?f{o$n9)oIZZ7{1ekr z^Dez4sT7wJR+P=~ZmsF?9pVKOAJ?S!8c|H%`P$^f*{qXprdUgXE(kis%sc#%UC402 zeYD7$ot>Ql1>jS>Bz1w+E}<*&%UK7CCUvQE=q4il)&ZCzl|x=C?1~+H!IPZ4I%H-* zj`I?`%R(I`=ex-!1Jl3JgtEmTSx}OCBK6qUDJ@8OFa<9x4stC*m?-8ij>j{A|MO=) zmftC)>pes5WSeN`lzeg<53#@O;I*kKE7UBI=`$80Q=G1#vM6mDX5!3 zw`Y_9fJh!F46MbViuPEb`v52Td9b7IRQ-SkZU`e)gz4j2jhy~ewcD1?DfT$uE!-&L zA0TqfPIJDrdB_Xw9$@~Gsdkub0f#I8_GhNP?rGF}Z=@g{_~n=Zo1Ly!$ihXaA64JB z7veN=N4|FzR)aSCvhy1@^DRy@#}bqF=Ev%__+6IRHrwciY~Agfkw=9d0p!sAv7K!_ zSQ1@z0J4+kmH?nYJyaPY6XQbb0>!%*D+|S~!x;8HLc_FosvN47$obr& zx{&6#?1mz%d5k|HYUtZO!L8b6DTBRF7Wu?_LG;}kR^_qJf|M*M z0i*=zRO90wG@d&1?Yhw z<3bN~Y}2$gttz?TvOsBh^mI6oIdO1i1<1Hkrc7Yv*j1xd{uEQD{e?MfB9(E*0pC3w zB>+?Ph9n(xA963?P-$sk8u*l(H*X@{`00&XP!rZjvR)?#TOWL_OI_>~mgR0%k<(QS zksMaxL&GrdWL`WJe$3|kNa^K84Y3>J{@l#xl00~`X{gt=)6?&Ov>Ue~?cUZ7&Svn9 zLgx){B4+ltq`3ID%{zBAaev&zUM26DOdXQ>`63A|TMg)C-OcNJx0v&=^w-}2lS2WA z?6mfJYDWGcX>FU;^TBW{@X;XoEmBkgAc;Zo%|z@zdR-1-FA(=g_2j2XwrwR+imctx z72&)9szi@dUYw6M4bG^rX5Y#FU9mjn#aND`o^kFKC|YGJP*#3?`sktfdL#h>Hi$)1 z+eHL^ADC)hEol}4a(ldlZV2qUl8m#iRi~epgw?<(p(8MZ%nPRl&cb&<&Q0X8ojlNk zg>BfFs>B~z-RoWnY3?dVI(b;UJJk-~>F8ZrGBPrQ;QK)irdVdy4i8`1F;RHOBcqrR zn*FS((}TCNuS)$wOvVbZUWJd1A_VIgSMe`k-Vw4BsAt-qXdMMWex|acy=vl;5BS&`f@QzBJgf5qDZShXc%K-e|*0 zmX7)%-u~+$cq*G$u>x$jy}HRm+zop?AQ8fRfca{uH(-ca^Gh1l*S?5)e;8p94-~w6 zcVq^9es&593K4;>6byObi_i|>S)u22wzofK8#HN{keC?z57XV0yTYa-Lg-3SzrV!_ zrX_}T!$YVWcn`=AgkWr|e_*luz*ek>##n+0BLD$fdP+Ie0AKTk&mR!Bd>W30+Hc`kH0mXSH!?} zc6B`fQerVEAYk4Iy7G`AUNq?)!D+P+szU?_KeHIb_&*N@ke6VjMI2fyYKqhudZINv zQ01dFfv1M!3<$Qmc=5idt=}==b~{9x3Ync*PK>5LTs`6O_%}JRr%diJdoPyHB{bxI zj;)&jwhgQ|xql?lhN`{|=@1tMd&SSoR#;x+?!P0imV2%ZyQ$5aOn+m?FB$TOQ#6~y zLx{Q0SQ~P4#$M6ipAkORnusdxDFc@bWCA#Z1+wb+{#@*MfX9f>d=pW`GrA$k36Jh& zVVc>3mnm{U0s@>9z8g3_{FQ(6?>?@Y&hm2}ay3`wm6o!Y`LF=&Ue< z+HKC1Li!o(q|XiyUzNlLq(6A7OR|->D?bFb1&50^QL<=5&WyiUc3S(3v68Vl$!e** zfz-CnSBYy0k;<~MwV%NOoXwjlZqY+%aPY)hT3Ui9R(tnHmtK5P;o_@CbNr?e?^H}r z;h)E5bcp0PEn<5#YEl7}0N;ifZGbHTG|_+k7LvnnATJMR+bJAV#JDT!%W(t3;!V8O znS!x+!+Y}ZS3|@u7j(V_7X!i#BU$R>$B)^bIIv`Ddio-eevK16mRYtRI5vHQoV&|~8o{^HN$jrSs?G@9oO zZbv9aAN_@f3HM+8GH4@bv=COm!6lX?_Q(6R{koNqT9LyUoseWK~Mx2nq_E4;> zu(K_p67&gIx(H)2&%4BWhagDEG(BYsGyc{M{ZHTqaZ*nB%xVyhWdvZ!eOvr@HL|Si zVwmXbCA4V96Ha!fL~9p|O$+G&%L?rVf%%8IY`%2!VKFIpufW!sZqAew{zpeDzG}%{ zXNavc%vPcM3&5t=;siLJk|aLtPFm-K))61gK)-e~iZa8}`vNt}%nT}NBfI$EPKA|E zGYa?v6?(0IPC*T&7mXY^VUY2pAnx}p;!fUr5sgl?0%t8CeJBqgvF<`+zqAnExG|ipz>>YBRiOT#wZ}@V1%}gm2(zMC_nSGoOa+wt@iQ6M}T`MMZnT zeWcQjJ2sfDseA9u&#C+sRN(bMAcCV20H?J-=o<)HK93FzED1S}pP33=MWrUEELtW; z5BL|U{r&u4=heY-nem#mm;H=&CH#w6Zq9EE4hK>DEIkSAQ2FZIZPRI5x|FAX�RN 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 bjaIo8nHg5H@u@fzlONanc-&jN Date: Fri, 24 May 2024 16:37:38 -0500 Subject: [PATCH 45/50] Delete src/views/eliminarnoticia.html --- src/views/eliminarnoticia.html | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 src/views/eliminarnoticia.html diff --git a/src/views/eliminarnoticia.html b/src/views/eliminarnoticia.html deleted file mode 100644 index 83732b2..0000000 --- a/src/views/eliminarnoticia.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - Eliminar Noticia - - - -
- -
-

¿Estás seguro de que deseas eliminar esta noticia?

-
- Noticia Image - -
-

Título de la Noticia

-

Cuerpo de la noticia...

-
-
-
- - -
-
-
- - From 215d53c0c95d05e7886bbba23ead2466fc73f2f5 Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:37:45 -0500 Subject: [PATCH 46/50] Delete src/views/eliminarnoticia.js --- src/views/eliminarnoticia.js | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/views/eliminarnoticia.js diff --git a/src/views/eliminarnoticia.js b/src/views/eliminarnoticia.js deleted file mode 100644 index 8957b70..0000000 --- a/src/views/eliminarnoticia.js +++ /dev/null @@ -1,31 +0,0 @@ -const eliminarNoticiaForm = document.getElementById('eliminar-noticia-form'); - -eliminarNoticiaForm.addEventListener('submit', (event) => { - event.preventDefault(); // Prevent default form submission - - const confirmDelete = confirm("¿Está seguro de eliminar esta noticia?"); - if (confirmDelete) { - fetch(eliminarNoticiaForm.action, { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json' - } - }) - .then(response => response.json()) - .then(data => { - // Handle the response from the backend - if (data.message === 'Noticia eliminada correctamente') { - // Deletion successful - alert('Noticia eliminada con éxito!'); - // (Optionally, redirect or update the page) - } else { - // Deletion failed - alert('Error al eliminar la noticia: ' + data.detail); - } - }) - .catch(error => { - console.error('Error:', error); - alert('Error inesperado al eliminar la noticia. Por favor vuelva a intentar'); - }); - } -}); From e327f317134d9aad34576951b502f5d971f50dcc Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:38:16 -0500 Subject: [PATCH 47/50] Create crearnoticia.html --- src/views/crearnoticia.html | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/views/crearnoticia.html diff --git a/src/views/crearnoticia.html b/src/views/crearnoticia.html new file mode 100644 index 0000000..4710970 --- /dev/null +++ b/src/views/crearnoticia.html @@ -0,0 +1,33 @@ + + + + + + Crear Noticia + + + +
+

[Encabezado de la noticia]

+
+
+ + +
+
+ + +
+
+ + + +
+ +
+ +
+ + + + From 273eee7862508bc0811700daddb80a857264fc6c Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:38:36 -0500 Subject: [PATCH 48/50] Create noticiaver.html --- src/views/noticiaver.html | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/views/noticiaver.html diff --git a/src/views/noticiaver.html b/src/views/noticiaver.html new file mode 100644 index 0000000..135dfb7 --- /dev/null +++ b/src/views/noticiaver.html @@ -0,0 +1,30 @@ + + + + + + Noticias + + + + +
+
+

Hola [Name], aquí están las noticias más relevantes

+
+ + +
+ + +
+ +
+
+ + + From cc933a15e1c679df267c3cc89a9067d60c0ceb4f Mon Sep 17 00:00:00 2001 From: HenryVQ197 <72803163+HenryVQ197@users.noreply.github.com> Date: Fri, 24 May 2024 16:39:48 -0500 Subject: [PATCH 49/50] a a --- static/images/bell-icon.png | Bin 0 -> 5926 bytes static/images/trash-icon.png | Bin 0 -> 19764 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/bell-icon.png create mode 100644 static/images/trash-icon.png diff --git a/static/images/bell-icon.png b/static/images/bell-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4e88a5328c5c451ec8bc3628e56b5eb8c945eae5 GIT binary patch literal 5926 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 QpQT)m_D*({HiY Date: Fri, 24 May 2024 17:41:24 -0500 Subject: [PATCH 50/50] Update crearnoticia.html --- src/views/crearnoticia.html | 56 +++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/src/views/crearnoticia.html b/src/views/crearnoticia.html index 4710970..f3d0d06 100644 --- a/src/views/crearnoticia.html +++ b/src/views/crearnoticia.html @@ -4,30 +4,62 @@ Crear Noticia + +
-

[Encabezado de la noticia]

+

Crear Noticia

- - + +

- - + +

-
- - - +
+ +

+
+
+ +

- + + -
- + + +