bmc_hub/app/vendors/backend/views.py
Christian 3a35042788 feat: Implement Vendors API and Frontend
- Added a new API router for managing vendors with endpoints for listing, creating, updating, retrieving, and deleting vendors.
- Implemented frontend views for displaying vendor lists and details using Jinja2 templates.
- Created HTML templates for vendor list and detail pages with responsive design and dynamic content loading.
- Added JavaScript functionality for vendor management, including pagination, filtering, and modal forms for creating new vendors.
- Introduced a settings table in the database for system configuration and extended the users table with additional fields.
- Developed a script to import vendors from an OmniSync database into the PostgreSQL database, handling errors and logging progress.
2025-12-06 11:04:19 +01:00

34 lines
982 B
Python

"""
Vendors Frontend Views
Renders vendor list and detail pages
"""
from fastapi import APIRouter, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
import logging
logger = logging.getLogger(__name__)
router = APIRouter()
templates = Jinja2Templates(directory="app")
@router.get("/vendors", response_class=HTMLResponse, tags=["Frontend"])
async def vendors_page(request: Request):
"""Render vendors list page"""
return templates.TemplateResponse("vendors/frontend/vendors.html", {
"request": request,
"title": "Leverandører"
})
@router.get("/vendors/{vendor_id}", response_class=HTMLResponse, tags=["Frontend"])
async def vendor_detail_page(request: Request, vendor_id: int):
"""Render vendor detail page"""
return templates.TemplateResponse("vendors/frontend/vendor_detail.html", {
"request": request,
"vendor_id": vendor_id,
"title": "Leverandør Detaljer"
})