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