refactor: replace issues backend with milestone tasks
This commit is contained in:
@@ -231,14 +231,14 @@ def delete_project(
|
||||
|
||||
project_code = project.project_code
|
||||
|
||||
# Delete milestones and their issues
|
||||
# Delete milestones and their tasks
|
||||
from app.models.milestone import Milestone
|
||||
from app.models.task import Task
|
||||
milestones = db.query(Milestone).filter(Milestone.project_id == project_id).all()
|
||||
for ms in milestones:
|
||||
# Delete issues under milestone
|
||||
issues = db.query(models.Issue).filter(models.Issue.milestone_id == ms.id).all()
|
||||
for issue in issues:
|
||||
db.delete(issue)
|
||||
tasks = db.query(Task).filter(Task.milestone_id == ms.id).all()
|
||||
for task in tasks:
|
||||
db.delete(task)
|
||||
db.delete(ms)
|
||||
|
||||
# Delete project members
|
||||
@@ -363,13 +363,14 @@ from sqlalchemy import func as sqlfunc
|
||||
|
||||
@router.get("/{project_id}/worklogs/summary")
|
||||
def project_worklog_summary(project_id: int, db: Session = Depends(get_db)):
|
||||
from app.models.task import Task as TaskModel
|
||||
results = db.query(
|
||||
models.User.id, models.User.username,
|
||||
sqlfunc.sum(WorkLog.hours).label("total_hours"),
|
||||
sqlfunc.count(WorkLog.id).label("log_count")
|
||||
).join(WorkLog, WorkLog.user_id == models.User.id)\
|
||||
.join(models.Issue, WorkLog.issue_id == models.Issue.id)\
|
||||
.filter(models.Issue.project_id == project_id)\
|
||||
.join(TaskModel, WorkLog.task_id == TaskModel.id)\
|
||||
.filter(TaskModel.project_id == project_id)\
|
||||
.group_by(models.User.id, models.User.username).all()
|
||||
total = sum(r.total_hours for r in results)
|
||||
by_user = [{"user_id": r.id, "username": r.username, "hours": round(r.total_hours, 2), "logs": r.log_count} for r in results]
|
||||
|
||||
Reference in New Issue
Block a user