feat: Enhance project and reservation management
- Updated reservation list to display estimated units and improved count display. - Added "Upcoming" status to project dashboard and header with corresponding styles. - Implemented a dropdown for quick status updates in project header. - Modified project list compact view to reflect new status labels. - Updated project overview to include a tab for upcoming projects. - Added migration script to introduce estimated_units column in job_reservations table.
This commit is contained in:
@@ -373,11 +373,13 @@ async def get_projects_list(
|
||||
"""
|
||||
query = db.query(Project)
|
||||
|
||||
# Filter by status if provided; otherwise exclude soft-deleted projects
|
||||
if status:
|
||||
# Filter by status if provided; otherwise exclude archived/deleted from default view
|
||||
if status == "all":
|
||||
query = query.filter(Project.status != "deleted")
|
||||
elif status:
|
||||
query = query.filter(Project.status == status)
|
||||
else:
|
||||
query = query.filter(Project.status != "deleted")
|
||||
query = query.filter(Project.status.notin_(["deleted", "archived", "completed"]))
|
||||
|
||||
# Filter by project type if provided
|
||||
if project_type_id:
|
||||
@@ -438,6 +440,7 @@ async def get_projects_stats(request: Request, db: Session = Depends(get_db)):
|
||||
"""
|
||||
# Count projects by status (exclude deleted)
|
||||
total_projects = db.query(func.count(Project.id)).filter(Project.status != "deleted").scalar()
|
||||
upcoming_projects = db.query(func.count(Project.id)).filter_by(status="upcoming").scalar()
|
||||
active_projects = db.query(func.count(Project.id)).filter_by(status="active").scalar()
|
||||
on_hold_projects = db.query(func.count(Project.id)).filter_by(status="on_hold").scalar()
|
||||
completed_projects = db.query(func.count(Project.id)).filter_by(status="completed").scalar()
|
||||
@@ -459,6 +462,7 @@ async def get_projects_stats(request: Request, db: Session = Depends(get_db)):
|
||||
"request": request,
|
||||
"total_projects": total_projects,
|
||||
"active_projects": active_projects,
|
||||
"upcoming_projects": upcoming_projects,
|
||||
"on_hold_projects": on_hold_projects,
|
||||
"completed_projects": completed_projects,
|
||||
"total_locations": total_locations,
|
||||
|
||||
Reference in New Issue
Block a user