diff --git a/shared/blocks.py b/shared/blocks.py
index e07f851a94b1a5036bd479f7d4275cbaa370c2e1..869a45551714a4a4f23442f72b47135a7d125f94 100644
--- a/shared/blocks.py
+++ b/shared/blocks.py
@@ -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 = []
+        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)
 
+        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,14 +992,15 @@ 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 (
-                    dataset["created_on_min_date"] != min_date
-                    or dataset["created_on_max_date"] != max_date
-                ):
-                    raise ValidationError(
-                        "Maximální a minimální data všech zdrojů z Redmine musí být stejné"
-                    )
+            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
+                    ):
+                        raise ValidationError(
+                            "Maximální a minimální data všech zdrojů z Redmine musí být stejné"
+                        )
 
         return result