Skip to content
Snippets Groups Projects
Commit 05c51f37 authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

finish redmine api chart display

parent 244a99b3
No related branches found
No related tags found
2 merge requests!787Release,!743Add Redmine datasets to charts, Instagram feed to homepage
Pipeline #12301 passed
......@@ -730,7 +730,7 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
required=False,
)
def _get_issues_url(self, value, project_id: typing.Union[None, str] = None):
def _get_issues_url(self, value, project_id: typing.Union[None, str, list[str]] = None):
url = "https://redmine.pirati.cz/issues.json"
params = [
("sort", "created_on"),
......@@ -741,8 +741,10 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
),
]
if project_id is not None:
if isinstance(project_id, str):
params.append(("project_id", project_id))
elif isinstance(project_id, list):
params.append(("project_id", ",".join(project_id)))
is_open = value.get("is_open", False)
is_closed = value.get("is_closed", False)
......@@ -767,6 +769,8 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
is_first = False
print(url)
return url
def _get_parsed_issues(self, value, labels, issues_url) -> tuple:
......@@ -871,16 +875,15 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
context = super().get_context(value)
labels = []
datasets = []
if value.get("split_per_project", False):
for day_count in range(
(value["created_on_max_date"] - value["created_on_min_date"]).days + 1
):
day = value["created_on_min_date"] + datetime.timedelta(days=day_count)
labels.append(day)
datasets = []
if value.get("split_per_project", False):
project_choices_lookup = dict(get_redmine_projects())
for project_id in value["projects"]:
......@@ -892,10 +895,8 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
"data": self._get_parsed_issues(value, labels, issues_url),
}
)
labels = [date.strftime("%d. %m. %Y") for date in labels]
else:
issues_url = self._get_issues_url(value)
issues_url = self._get_issues_url(value, value["projects"])
datasets.append(
{
......@@ -904,6 +905,8 @@ class ChartRedmineIssueDataset(blocks.StructBlock):
}
)
labels = [date.strftime("%d. %m. %Y") for date in labels]
context["parsed_issue_labels"] = labels
context["parsed_issues"] = datasets
......@@ -989,7 +992,8 @@ class ChartBlock(blocks.StructBlock):
min_date = value["redmine_issue_datasets"][0]["created_on_min_date"]
max_date = value["redmine_issue_datasets"][0]["created_on_max_date"]
for dataset in value["redmine_issue_datasets"][1:]:
if len(value["redmine_issue_datasets"]) > 1:
for dataset in value["redmine_issue_datasets"]:
if (
dataset["created_on_min_date"] != min_date
or dataset["created_on_max_date"] != max_date
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment