rrs: add maintenance plan selection

Add a drop-down for selecting the maintenance plan from the recipes
page.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
Paul Eggleton 2018-03-21 14:36:33 +13:00
parent 9b7eec7ec8
commit 1733170583
3 changed files with 25 additions and 0 deletions

View File

@ -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,

View File

@ -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

View File

@ -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">