diff --git a/pagure/templates/roadmap.html b/pagure/templates/roadmap.html
index 668d69e..a634cb1 100644
--- a/pagure/templates/roadmap.html
+++ b/pagure/templates/roadmap.html
@@ -101,9 +101,9 @@
{% for stone in milestones %}
- {% if (all_ms_tags is none and (stone in issues or stone in requested_stones)) or all_ms_tags is not none %}
+ {% if (all_ms_tags is none and (stone in active_milestones or stone in requested_stones)) or all_ms_tags is not none %}
{% if stone in requested_stones %}
-
{{ stone }}
@@ -124,6 +125,7 @@
milestone=stone,
tag=tags,
all_ms_tags=all_ms_tags,
+ active_milestones=active_milestones,
status=status) }}"
title="Filter issues by milestone">
{{ stone }}
@@ -142,6 +144,7 @@
namespace=repo.namespace,
milestone=requested_stones,
all_ms_tags=all_ms_tags,
+ active_milestones=active_milestones,
status=status) }}"
title="Filter issues by tag">
{% else %}
@@ -153,6 +156,7 @@
status=status,
tag=tag,
all_ms_tags=all_ms_tags,
+ active_milestones=active_milestones,
milestone=requested_stones) }}"
title="Filter issues by tag">
{% endif %}
diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py
index 74f440c..c43ea82 100644
--- a/pagure/ui/issues.py
+++ b/pagure/ui/issues.py
@@ -714,6 +714,7 @@ def view_roadmap(repo, username=None, namespace=None):
milestones = flask.request.args.getlist('milestone', None)
tags = flask.request.args.getlist('tag', None)
all_ms_tags = flask.request.args.get('all_ms_tags', None)
+ active_milestones = flask.request.args.getlist('active_milestones', None)
repo = flask.g.repo
@@ -772,6 +773,20 @@ def view_roadmap(repo, username=None, namespace=None):
cnt = len(all_milestones)
all_milestones.insert(cnt, all_milestones.pop(index))
+ if len(active_milestones) == 0 and all_ms_tags is None:
+ # We don't have any requested active milestones, so grab a fresh list.
+ # Get all the active tickets regardless what tags/milestones were
+ # requested.
+ active_issues = pagure.lib.search_issues(
+ SESSION,
+ repo,
+ milestones=all_milestones,
+ private=private,
+ status=status if status.lower() != 'all' else None,
+ )
+ for issue in active_issues:
+ active_milestones.append(issue.milestone)
+
return flask.render_template(
'roadmap.html',
select='issues',
@@ -781,6 +796,7 @@ def view_roadmap(repo, username=None, namespace=None):
status=status,
all_ms_tags=all_ms_tags,
milestones=all_milestones,
+ active_milestones=active_milestones,
requested_stones=milestones,
issues=milestone_issues,
tags=tags,