Add tags field to CSV Reports
parent
2b469c560c
commit
4e158810f4
|
@ -12,7 +12,7 @@
|
||||||
- Add catalan (ca) translation.
|
- Add catalan (ca) translation.
|
||||||
- Add traditional chinese (zh-Hant) translation.
|
- Add traditional chinese (zh-Hant) translation.
|
||||||
- Add Jitsi to our supported videoconference apps list
|
- Add Jitsi to our supported videoconference apps list
|
||||||
|
- Add tags field to CSV reports.
|
||||||
|
|
||||||
### Misc
|
### Misc
|
||||||
- New contrib plugin for letschat (by Δndrea Stagi)
|
- New contrib plugin for letschat (by Δndrea Stagi)
|
||||||
|
|
|
@ -68,7 +68,7 @@ def issues_to_csv(project, queryset):
|
||||||
fieldnames = ["ref", "subject", "description", "milestone", "owner",
|
fieldnames = ["ref", "subject", "description", "milestone", "owner",
|
||||||
"owner_full_name", "assigned_to", "assigned_to_full_name",
|
"owner_full_name", "assigned_to", "assigned_to_full_name",
|
||||||
"status", "severity", "priority", "type", "is_closed",
|
"status", "severity", "priority", "type", "is_closed",
|
||||||
"attachments", "external_reference"]
|
"attachments", "external_reference", "tags"]
|
||||||
for custom_attr in project.issuecustomattributes.all():
|
for custom_attr in project.issuecustomattributes.all():
|
||||||
fieldnames.append(custom_attr.name)
|
fieldnames.append(custom_attr.name)
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ def issues_to_csv(project, queryset):
|
||||||
"is_closed": issue.is_closed,
|
"is_closed": issue.is_closed,
|
||||||
"attachments": issue.attachments.count(),
|
"attachments": issue.attachments.count(),
|
||||||
"external_reference": issue.external_reference,
|
"external_reference": issue.external_reference,
|
||||||
|
"tags": ",".join(issue.tags or []),
|
||||||
}
|
}
|
||||||
|
|
||||||
for custom_attr in project.issuecustomattributes.all():
|
for custom_attr in project.issuecustomattributes.all():
|
||||||
|
|
|
@ -85,7 +85,7 @@ def tasks_to_csv(project, queryset):
|
||||||
fieldnames = ["ref", "subject", "description", "user_story", "milestone", "owner",
|
fieldnames = ["ref", "subject", "description", "user_story", "milestone", "owner",
|
||||||
"owner_full_name", "assigned_to", "assigned_to_full_name",
|
"owner_full_name", "assigned_to", "assigned_to_full_name",
|
||||||
"status", "is_iocaine", "is_closed", "us_order",
|
"status", "is_iocaine", "is_closed", "us_order",
|
||||||
"taskboard_order", "attachments", "external_reference"]
|
"taskboard_order", "attachments", "external_reference", "tags"]
|
||||||
for custom_attr in project.taskcustomattributes.all():
|
for custom_attr in project.taskcustomattributes.all():
|
||||||
fieldnames.append(custom_attr.name)
|
fieldnames.append(custom_attr.name)
|
||||||
|
|
||||||
|
@ -109,6 +109,7 @@ def tasks_to_csv(project, queryset):
|
||||||
"taskboard_order": task.taskboard_order,
|
"taskboard_order": task.taskboard_order,
|
||||||
"attachments": task.attachments.count(),
|
"attachments": task.attachments.count(),
|
||||||
"external_reference": task.external_reference,
|
"external_reference": task.external_reference,
|
||||||
|
"tags": ",".join(task.tags or []),
|
||||||
}
|
}
|
||||||
for custom_attr in project.taskcustomattributes.all():
|
for custom_attr in project.taskcustomattributes.all():
|
||||||
value = task.custom_attributes_values.attributes_values.get(str(custom_attr.id), None)
|
value = task.custom_attributes_values.attributes_values.get(str(custom_attr.id), None)
|
||||||
|
|
|
@ -121,7 +121,8 @@ def userstories_to_csv(project,queryset):
|
||||||
fieldnames += ["backlog_order", "sprint_order", "kanban_order",
|
fieldnames += ["backlog_order", "sprint_order", "kanban_order",
|
||||||
"created_date", "modified_date", "finish_date",
|
"created_date", "modified_date", "finish_date",
|
||||||
"client_requirement", "team_requirement", "attachments",
|
"client_requirement", "team_requirement", "attachments",
|
||||||
"generated_from_issue", "external_reference", "tasks"]
|
"generated_from_issue", "external_reference", "tasks",
|
||||||
|
"tags"]
|
||||||
|
|
||||||
for custom_attr in project.userstorycustomattributes.all():
|
for custom_attr in project.userstorycustomattributes.all():
|
||||||
fieldnames.append(custom_attr.name)
|
fieldnames.append(custom_attr.name)
|
||||||
|
@ -152,6 +153,7 @@ def userstories_to_csv(project,queryset):
|
||||||
"generated_from_issue": us.generated_from_issue.ref if us.generated_from_issue else None,
|
"generated_from_issue": us.generated_from_issue.ref if us.generated_from_issue else None,
|
||||||
"external_reference": us.external_reference,
|
"external_reference": us.external_reference,
|
||||||
"tasks": ",".join([str(task.ref) for task in us.tasks.all()]),
|
"tasks": ",".join([str(task.ref) for task in us.tasks.all()]),
|
||||||
|
"tags": ",".join(us.tags or []),
|
||||||
}
|
}
|
||||||
|
|
||||||
for role in us.project.roles.filter(computable=True).order_by('name'):
|
for role in us.project.roles.filter(computable=True).order_by('name'):
|
||||||
|
|
|
@ -195,6 +195,6 @@ def test_custom_fields_csv_generation():
|
||||||
data.seek(0)
|
data.seek(0)
|
||||||
reader = csv.reader(data)
|
reader = csv.reader(data)
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[15] == attr.name
|
assert row[16] == attr.name
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[15] == "val1"
|
assert row[16] == "val1"
|
||||||
|
|
|
@ -145,6 +145,6 @@ def test_custom_fields_csv_generation():
|
||||||
data.seek(0)
|
data.seek(0)
|
||||||
reader = csv.reader(data)
|
reader = csv.reader(data)
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[16] == attr.name
|
assert row[17] == attr.name
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[16] == "val1"
|
assert row[17] == "val1"
|
||||||
|
|
|
@ -276,6 +276,6 @@ def test_custom_fields_csv_generation():
|
||||||
data.seek(0)
|
data.seek(0)
|
||||||
reader = csv.reader(data)
|
reader = csv.reader(data)
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[23] == attr.name
|
assert row[24] == attr.name
|
||||||
row = next(reader)
|
row = next(reader)
|
||||||
assert row[23] == "val1"
|
assert row[24] == "val1"
|
||||||
|
|
Loading…
Reference in New Issue