feat: add company detail page and transfer ownership UI
- Add company-detail.html with status cards, info sections, vendors list
- Add company-edit.html with transfer ownership modal
- Add company-detail.js and company-edit.js
- Add user search autocomplete for transfer ownership
- Add inline validation errors for transfer form
- Add View button to companies list page
- Add route for /admin/companies/{id} detail page
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,9 @@ Routes:
|
||||
- GET / → Redirect to /admin/login
|
||||
- GET /login → Admin login page (no auth)
|
||||
- GET /dashboard → Admin dashboard (auth required)
|
||||
- GET /companies → Company list page (auth required)
|
||||
- GET /companies/create → Create company form (auth required)
|
||||
- GET /companies/{company_id}/edit → Edit company form (auth required)
|
||||
- GET /vendors → Vendor list page (auth required)
|
||||
- GET /vendors/create → Create vendor form (auth required)
|
||||
- GET /vendors/{vendor_code} → Vendor details (auth required)
|
||||
@@ -152,6 +155,50 @@ async def admin_company_create_page(
|
||||
)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/companies/{company_id}", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def admin_company_detail_page(
|
||||
request: Request,
|
||||
company_id: int = Path(..., description="Company ID"),
|
||||
current_user: User = Depends(get_current_admin_from_cookie_or_header),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
Render company detail view.
|
||||
"""
|
||||
return templates.TemplateResponse(
|
||||
"admin/company-detail.html",
|
||||
{
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"company_id": company_id,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/companies/{company_id}/edit", response_class=HTMLResponse, include_in_schema=False
|
||||
)
|
||||
async def admin_company_edit_page(
|
||||
request: Request,
|
||||
company_id: int = Path(..., description="Company ID"),
|
||||
current_user: User = Depends(get_current_admin_from_cookie_or_header),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
Render company edit form.
|
||||
"""
|
||||
return templates.TemplateResponse(
|
||||
"admin/company-edit.html",
|
||||
{
|
||||
"request": request,
|
||||
"user": current_user,
|
||||
"company_id": company_id,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# VENDOR MANAGEMENT ROUTES
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user