Add colors in tags for yhr filter data endpoints
parent
2ac242795a
commit
5472c993f8
|
@ -394,7 +394,9 @@ def _get_epics_tags(project, queryset):
|
|||
FROM projects_project
|
||||
WHERE id=%s)
|
||||
|
||||
SELECT tag_color[1] tag, COALESCE(epics_tags.counter, 0) counter
|
||||
SELECT tag_color[1] tag,
|
||||
tag_color[2] color,
|
||||
COALESCE(epics_tags.counter, 0) counter
|
||||
FROM project_tags
|
||||
LEFT JOIN epics_tags ON project_tags.tag_color[1] = epics_tags.tag
|
||||
ORDER BY tag
|
||||
|
@ -405,9 +407,10 @@ def _get_epics_tags(project, queryset):
|
|||
rows = cursor.fetchall()
|
||||
|
||||
result = []
|
||||
for name, count in rows:
|
||||
for name, color, count in rows:
|
||||
result.append({
|
||||
"name": name,
|
||||
"color": color,
|
||||
"count": count,
|
||||
})
|
||||
return sorted(result, key=itemgetter("name"))
|
||||
|
|
|
@ -427,24 +427,28 @@ def _get_issues_tags(project, queryset):
|
|||
where_params = queryset_where_tuple[1]
|
||||
|
||||
extra_sql = """
|
||||
WITH issues_tags AS (
|
||||
SELECT tag,
|
||||
COUNT(tag) counter FROM (
|
||||
SELECT UNNEST(issues_issue.tags) tag
|
||||
FROM issues_issue
|
||||
INNER JOIN projects_project
|
||||
ON (issues_issue.project_id = projects_project.id)
|
||||
WHERE {where}) tags
|
||||
GROUP BY tag),
|
||||
project_tags AS (
|
||||
SELECT reduce_dim(tags_colors) tag_color
|
||||
FROM projects_project
|
||||
WHERE id=%s)
|
||||
WITH "issues_tags" AS (
|
||||
SELECT "tag",
|
||||
COUNT("tag") "counter"
|
||||
FROM (
|
||||
SELECT UNNEST("issues_issue"."tags") "tag"
|
||||
FROM "issues_issue"
|
||||
INNER JOIN "projects_project"
|
||||
ON ("issues_issue"."project_id" = "projects_project"."id")
|
||||
WHERE {where}
|
||||
) "tags"
|
||||
GROUP BY "tag"),
|
||||
"project_tags" AS (
|
||||
SELECT reduce_dim("tags_colors") "tag_color"
|
||||
FROM "projects_project"
|
||||
WHERE "id"=%s)
|
||||
|
||||
SELECT tag_color[1] tag, COALESCE(issues_tags.counter, 0) counter
|
||||
SELECT "tag_color"[1] "tag",
|
||||
"tag_color"[2] "color",
|
||||
COALESCE("issues_tags"."counter", 0) "counter"
|
||||
FROM project_tags
|
||||
LEFT JOIN issues_tags ON project_tags.tag_color[1] = issues_tags.tag
|
||||
ORDER BY tag
|
||||
LEFT JOIN "issues_tags" ON "project_tags"."tag_color"[1] = "issues_tags"."tag"
|
||||
ORDER BY "tag"
|
||||
""".format(where=where)
|
||||
|
||||
with closing(connection.cursor()) as cursor:
|
||||
|
@ -452,9 +456,10 @@ def _get_issues_tags(project, queryset):
|
|||
rows = cursor.fetchall()
|
||||
|
||||
result = []
|
||||
for name, count in rows:
|
||||
for name, color, count in rows:
|
||||
result.append({
|
||||
"name": name,
|
||||
"color": color,
|
||||
"count": count,
|
||||
})
|
||||
return sorted(result, key=itemgetter("name"))
|
||||
|
|
|
@ -352,7 +352,9 @@ def _get_tasks_tags(project, queryset):
|
|||
FROM projects_project
|
||||
WHERE id=%s)
|
||||
|
||||
SELECT tag_color[1] tag, COALESCE(tasks_tags.counter, 0) counter
|
||||
SELECT tag_color[1] tag,
|
||||
tag_color[2] color,
|
||||
COALESCE(tasks_tags.counter, 0) counter
|
||||
FROM project_tags
|
||||
LEFT JOIN tasks_tags ON project_tags.tag_color[1] = tasks_tags.tag
|
||||
ORDER BY tag
|
||||
|
@ -363,9 +365,10 @@ def _get_tasks_tags(project, queryset):
|
|||
rows = cursor.fetchall()
|
||||
|
||||
result = []
|
||||
for name, count in rows:
|
||||
for name, color, count in rows:
|
||||
result.append({
|
||||
"name": name,
|
||||
"color": color,
|
||||
"count": count,
|
||||
})
|
||||
return sorted(result, key=itemgetter("name"))
|
||||
|
|
|
@ -488,7 +488,9 @@ def _get_userstories_tags(project, queryset):
|
|||
FROM "projects_project"
|
||||
WHERE "id"=%s)
|
||||
|
||||
SELECT "tag_color"[1] "tag", COALESCE("userstories_tags"."counter", 0) "counter"
|
||||
SELECT "tag_color"[1] "tag",
|
||||
"tag_color"[2] "color",
|
||||
COALESCE("userstories_tags"."counter", 0) "counter"
|
||||
FROM "project_tags"
|
||||
LEFT OUTER JOIN "userstories_tags"
|
||||
ON "project_tags"."tag_color"[1] = "userstories_tags"."tag"
|
||||
|
@ -500,9 +502,10 @@ LEFT OUTER JOIN "userstories_tags"
|
|||
rows = cursor.fetchall()
|
||||
|
||||
result = []
|
||||
for name, count in rows:
|
||||
for name, color, count in rows:
|
||||
result.append({
|
||||
"name": name,
|
||||
"color": color,
|
||||
"count": count,
|
||||
})
|
||||
return sorted(result, key=itemgetter("name"))
|
||||
|
|
Loading…
Reference in New Issue