aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rrs/models.py6
-rw-r--r--rrs/views.py2
-rw-r--r--templates/rrs/base_toplevel.html17
3 files changed, 25 insertions, 0 deletions
diff --git a/rrs/models.py b/rrs/models.py
index c7d8ea01e5..fcf0876e18 100644
--- a/rrs/models.py
+++ b/rrs/models.py
@@ -27,6 +27,9 @@ class MaintenancePlan(models.Model):
email_to = models.CharField(max_length=255, blank=True, help_text='Recipient for automated emails (separate multiple addresses with ;)')
admin = models.ForeignKey(User, blank=True, null=True, help_text='Plan administrator')
+ def get_default_release(self):
+ return self.release_set.last()
+
def __str__(self):
return '%s' % (self.name)
@@ -43,6 +46,9 @@ class Release(models.Model):
start_date = models.DateField(db_index=True)
end_date = models.DateField(db_index=True)
+ def get_default_milestone(self):
+ return self.milestone_set.last()
+
@staticmethod
def get_by_date(maintplan, date):
release_qry = Release.objects.filter(plan=maintplan,
diff --git a/rrs/views.py b/rrs/views.py
index 8711fd323a..d11046c426 100644
--- a/rrs/views.py
+++ b/rrs/views.py
@@ -508,6 +508,7 @@ class RecipeListView(ListView):
context['this_url_name'] = resolve(self.request.path_info).url_name
+ context['all_maintplans'] = MaintenancePlan.objects.all()
context['maintplan_name'] = self.maintplan_name
maintplan = get_object_or_404(MaintenancePlan, name=self.maintplan_name)
context['release_name'] = self.release_name
@@ -793,6 +794,7 @@ class MaintainerListView(ListView):
context['this_url_name'] = resolve(self.request.path_info).url_name
+ context['all_maintplans'] = MaintenancePlan.objects.all()
context['maintplan_name'] = self.maintplan_name
maintplan = get_object_or_404(MaintenancePlan, name=self.maintplan_name)
context['release_name'] = self.release_name
diff --git a/templates/rrs/base_toplevel.html b/templates/rrs/base_toplevel.html
index ee6790864c..212aaabd1d 100644
--- a/templates/rrs/base_toplevel.html
+++ b/templates/rrs/base_toplevel.html
@@ -14,6 +14,23 @@
{% block topfunctions %}
<ul class="nav">
<li class="divider-vertical" style="display; list-item;"/>
+{% block maintplan_selector %}
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ Maintenance Plan: <b>{{ maintplan_name }}</b>
+ <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu">
+ {% for plan in all_maintplans %}
+ <li><a href="{% url this_url_name plan plan.get_default_release.name plan.get_default_release.get_default_milestone.name %}{{ extra_url_param }}">
+ {% if plan.name = maintplan_name %}<b>{% endif %}
+ {{ plan.name }}
+ {% if plan.name = maintplan_name %}</b>{% endif %}
+ </a></li>
+ {% endfor %}
+ </ul>
+ </li>
+{% endblock %}
{% block release_selector %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">