mirror of
https://github.com/chylex/Lightning-Tracker.git
synced 2025-04-09 17:15:49 +02:00
Fix wrong JOIN condition used for active milestone progress & reformat all JOIN conditions
This commit is contained in:
parent
303f1fdfd8
commit
2f5d58edc8
@ -187,7 +187,7 @@ SQL
|
||||
$stmt = $filter->prepare($this->db, 'SELECT COUNT(*) FROM issues i', AbstractFilter::STMT_COUNT);
|
||||
}
|
||||
else{
|
||||
$stmt = $filter->prepare($this->db, 'SELECT COUNT(*) FROM issues i LEFT JOIN milestones m ON i.project_id = m.project_id AND i.milestone_id = m.milestone_id', AbstractFilter::STMT_COUNT);
|
||||
$stmt = $filter->prepare($this->db, 'SELECT COUNT(*) FROM issues i LEFT JOIN milestones m ON i.milestone_id = m.milestone_id AND i.project_id = m.project_id', AbstractFilter::STMT_COUNT);
|
||||
}
|
||||
|
||||
$stmt->execute();
|
||||
@ -214,7 +214,7 @@ SELECT i.issue_id AS id,
|
||||
i.date_created,
|
||||
i.date_updated
|
||||
FROM issues i
|
||||
LEFT JOIN milestones m ON i.project_id = m.project_id AND i.milestone_id = m.milestone_id
|
||||
LEFT JOIN milestones m ON i.milestone_id = m.milestone_id AND i.project_id = m.project_id
|
||||
SQL
|
||||
);
|
||||
|
||||
@ -257,7 +257,7 @@ SELECT issues.title AS title,
|
||||
FROM issues
|
||||
LEFT JOIN users author ON issues.author_id = author.id
|
||||
LEFT JOIN users assignee ON issues.assignee_id = assignee.id
|
||||
LEFT JOIN milestones milestone ON issues.project_id = milestone.project_id AND issues.milestone_id = milestone.milestone_id
|
||||
LEFT JOIN milestones milestone ON issues.milestone_id = milestone.milestone_id AND issues.project_id = milestone.project_id
|
||||
WHERE issues.issue_id = :issue_id AND issues.project_id = :project_id
|
||||
SQL
|
||||
);
|
||||
|
@ -152,7 +152,7 @@ SELECT m.milestone_id AS miles
|
||||
FLOOR(SUM(i.progress * iw.contribution) / SUM(iw.contribution)) AS progress,
|
||||
MAX(i.date_updated) AS date_updated
|
||||
FROM milestones m
|
||||
LEFT JOIN issues i ON m.project_id = i.project_id AND m.milestone_id = i.milestone_id
|
||||
LEFT JOIN issues i ON m.milestone_id = i.milestone_id AND m.project_id = i.project_id
|
||||
LEFT JOIN issue_weights iw ON i.scale = iw.scale
|
||||
# WHERE
|
||||
GROUP BY m.milestone_id, m.title
|
||||
|
@ -26,7 +26,7 @@ final class ProjectMemberTable extends AbstractProjectTable{
|
||||
$sql = <<<SQL
|
||||
SELECT COUNT(*)
|
||||
FROM project_members pm
|
||||
LEFT JOIN project_roles pr ON pm.project_id = pr.project_id AND pm.role_id = pr.role_id
|
||||
LEFT JOIN project_roles pr ON pm.role_id = pr.role_id AND pm.project_id = pr.project_id
|
||||
SQL;
|
||||
|
||||
$stmt = $filter->prepare($this->db, $sql, AbstractFilter::STMT_COUNT);
|
||||
@ -50,7 +50,7 @@ SELECT pm.user_id AS user_id,
|
||||
pr.title AS role_title,
|
||||
IFNULL(pr.ordering, ~0) AS role_order
|
||||
FROM project_members pm
|
||||
LEFT JOIN project_roles pr ON pm.project_id = pr.project_id AND pm.role_id = pr.role_id
|
||||
LEFT JOIN project_roles pr ON pm.role_id = pr.role_id AND pm.project_id = pr.project_id
|
||||
JOIN users u ON pm.user_id = u.id
|
||||
SQL;
|
||||
|
||||
|
@ -218,8 +218,7 @@ WHERE role_id = ? AND project_id = ?
|
||||
AND special = FALSE
|
||||
AND ordering > IFNULL((SELECT ordering
|
||||
FROM project_roles pr2
|
||||
JOIN project_members pm ON pr2.project_id = pm.project_id AND
|
||||
pr2.role_id = pm.role_id
|
||||
JOIN project_members pm ON pr2.role_id = pm.role_id AND pr2.project_id = pm.project_id
|
||||
WHERE pm.user_id = ? AND pm.project_id = pr.project_id), ~0)
|
||||
SQL
|
||||
);
|
||||
@ -260,8 +259,7 @@ WHERE project_id = ?
|
||||
AND special = FALSE
|
||||
AND ordering > IFNULL((SELECT ordering
|
||||
FROM project_roles pr2
|
||||
JOIN project_members pm ON pr2.project_id = pm.project_id AND
|
||||
pr2.role_id = pm.role_id
|
||||
JOIN project_members pm ON pr2.role_id = pm.role_id AND pr2.project_id = pm.project_id
|
||||
WHERE pm.user_id = ? AND pm.project_id = pr.project_id), ~0)
|
||||
ORDER BY ordering ASC
|
||||
SQL
|
||||
@ -307,7 +305,7 @@ SQL
|
||||
$stmt = $this->db->prepare(<<<SQL
|
||||
SELECT prp.permission
|
||||
FROM project_role_permissions prp
|
||||
JOIN project_members pm ON prp.project_id = pm.project_id AND prp.role_id = pm.role_id
|
||||
JOIN project_members pm ON prp.role_id = pm.role_id AND prp.project_id = pm.project_id
|
||||
WHERE pm.user_id = ? AND pm.project_id = ?
|
||||
SQL
|
||||
);
|
||||
|
@ -29,8 +29,8 @@ SELECT m.milestone_id AS id,
|
||||
m.title AS title,
|
||||
FLOOR(SUM(i.progress * iw.contribution) / SUM(iw.contribution)) AS percentage_done
|
||||
FROM project_user_settings tus
|
||||
JOIN milestones m ON tus.project_id = m.project_id AND tus.active_milestone = m.milestone_id
|
||||
LEFT JOIN issues i ON m.milestone_id = i.milestone_id
|
||||
JOIN milestones m ON tus.active_milestone = m.milestone_id AND tus.project_id = m.project_id
|
||||
LEFT JOIN issues i ON m.milestone_id = i.milestone_id AND m.project_id = i.project_id
|
||||
LEFT JOIN issue_weights iw ON i.scale = iw.scale
|
||||
WHERE tus.user_id = ? AND tus.project_id = ?
|
||||
GROUP BY m.milestone_id
|
||||
|
Loading…
Reference in New Issue
Block a user