mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
rrs: Maintainers add support for display Milestone intervals
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
This commit is contained in:
parent
b076105829
commit
cec364510f
|
@ -64,6 +64,22 @@ class Milestone(models.Model):
|
||||||
current_milestone = Milestone.get_by_release_and_date(release, current)
|
current_milestone = Milestone.get_by_release_and_date(release, current)
|
||||||
return current_milestone or Milestone.objects.filter().order_by('-end_date')[0]
|
return current_milestone or Milestone.objects.filter().order_by('-end_date')[0]
|
||||||
|
|
||||||
|
""" Get milestone intervals by release """
|
||||||
|
@staticmethod
|
||||||
|
def get_milestone_intervals(release):
|
||||||
|
milestones = Milestone.objects.filter(release = release)
|
||||||
|
|
||||||
|
milestone_dir = {}
|
||||||
|
for m in milestones:
|
||||||
|
if "All" in m.name:
|
||||||
|
continue
|
||||||
|
|
||||||
|
milestone_dir[m.name] = {}
|
||||||
|
milestone_dir[m.name]['start_date'] = m.start_date
|
||||||
|
milestone_dir[m.name]['end_date'] = m.end_date
|
||||||
|
|
||||||
|
return milestone_dir
|
||||||
|
|
||||||
""" Get week intervals from start and end of Milestone """
|
""" Get week intervals from start and end of Milestone """
|
||||||
def get_week_intervals(self):
|
def get_week_intervals(self):
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
@ -77,9 +93,10 @@ class Milestone(models.Model):
|
||||||
if current_date >= self.end_date:
|
if current_date >= self.end_date:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
weeks[week_no] = {}
|
week = "Wk" + str(week_no)
|
||||||
weeks[week_no]['start_date'] = current_date
|
weeks[week] = {}
|
||||||
weeks[week_no]['end_date'] = current_date + week_delta
|
weeks[week]['start_date'] = current_date
|
||||||
|
weeks[week]['end_date'] = current_date + week_delta
|
||||||
current_date += week_delta
|
current_date += week_delta
|
||||||
week_no += 1
|
week_no += 1
|
||||||
|
|
||||||
|
|
27
rrs/views.py
27
rrs/views.py
|
@ -380,7 +380,7 @@ class MaintainerList():
|
||||||
recipes_unknown = '0'
|
recipes_unknown = '0'
|
||||||
percentage_done = '0.00'
|
percentage_done = '0.00'
|
||||||
|
|
||||||
week_statistics = None
|
interval_statistics = None
|
||||||
|
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
self.name = name
|
self.name = name
|
||||||
|
@ -398,7 +398,10 @@ class MaintainerListView(ListView):
|
||||||
milestone = get_object_or_404(Milestone, release = release,
|
milestone = get_object_or_404(Milestone, release = release,
|
||||||
name=self.milestone_name)
|
name=self.milestone_name)
|
||||||
|
|
||||||
milestone_week_intervals = milestone.get_week_intervals()
|
if "All" in milestone.name:
|
||||||
|
intervals = milestone.get_milestone_intervals(release)
|
||||||
|
else:
|
||||||
|
intervals = milestone.get_week_intervals()
|
||||||
|
|
||||||
self.milestone_statistics = _get_milestone_statistics(milestone)
|
self.milestone_statistics = _get_milestone_statistics(milestone)
|
||||||
|
|
||||||
|
@ -413,8 +416,7 @@ class MaintainerListView(ListView):
|
||||||
|
|
||||||
self.maintainer_count = len(maintainer_list)
|
self.maintainer_count = len(maintainer_list)
|
||||||
|
|
||||||
self.milestone_weeks = sorted(milestone_week_intervals.keys())
|
self.intervals = sorted(intervals.keys())
|
||||||
self.current_week = -1
|
|
||||||
current_date = date.today()
|
current_date = date.today()
|
||||||
for ml in maintainer_list:
|
for ml in maintainer_list:
|
||||||
milestone_statistics = _get_milestone_statistics(milestone, ml.name)
|
milestone_statistics = _get_milestone_statistics(milestone, ml.name)
|
||||||
|
@ -425,18 +427,19 @@ class MaintainerListView(ListView):
|
||||||
ml.recipes_unknown = milestone_statistics['unknown']
|
ml.recipes_unknown = milestone_statistics['unknown']
|
||||||
ml.percentage_done = milestone_statistics['percentage'] + '%'
|
ml.percentage_done = milestone_statistics['percentage'] + '%'
|
||||||
|
|
||||||
ml.week_statistics = []
|
ml.interval_statistics = []
|
||||||
for week_no in milestone_week_intervals.keys():
|
self.current_interval = -1
|
||||||
start_date = milestone_week_intervals[week_no]['start_date']
|
for idx, i in enumerate(sorted(intervals.keys())):
|
||||||
end_date = milestone_week_intervals[week_no]['end_date']
|
start_date = intervals[i]['start_date']
|
||||||
|
end_date = intervals[i]['end_date']
|
||||||
|
|
||||||
if current_date >= start_date and current_date <= end_date:
|
if current_date >= start_date and current_date <= end_date:
|
||||||
self.current_week = week_no - 1 # used in template for loop
|
self.current_interval = idx
|
||||||
|
|
||||||
number = RecipeUpgrade.objects.filter(maintainer__name = ml.name,
|
number = RecipeUpgrade.objects.filter(maintainer__name = ml.name,
|
||||||
commit_date__gte = start_date,
|
commit_date__gte = start_date,
|
||||||
commit_date__lte = end_date).count()
|
commit_date__lte = end_date).count()
|
||||||
ml.week_statistics.append('' if number == 0 else number)
|
ml.interval_statistics.append('' if number == 0 else number)
|
||||||
|
|
||||||
return maintainer_list
|
return maintainer_list
|
||||||
|
|
||||||
|
@ -458,8 +461,8 @@ class MaintainerListView(ListView):
|
||||||
context['recipes_unknown'] = self.milestone_statistics['unknown']
|
context['recipes_unknown'] = self.milestone_statistics['unknown']
|
||||||
|
|
||||||
context['maintainer_count'] = self.maintainer_count
|
context['maintainer_count'] = self.maintainer_count
|
||||||
context['milestone_weeks'] = self.milestone_weeks
|
context['intervals'] = self.intervals
|
||||||
context['current_week'] = self.current_week
|
context['current_interval'] = self.current_interval
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
|
@ -45,13 +45,13 @@
|
||||||
<th class="muted">Unknown</th>
|
<th class="muted">Unknown</th>
|
||||||
<th>% done</th>
|
<th>% done</th>
|
||||||
|
|
||||||
{% for w in milestone_weeks %}
|
{% for i in intervals %}
|
||||||
{% if current_week == forloop.counter0 %}
|
{% if current_interval == forloop.counter0 %}
|
||||||
<th class="current-wk">
|
<th class="current-wk">
|
||||||
{% else %}
|
{% else %}
|
||||||
<th class="muted">
|
<th class="muted">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
wk{{ w }}
|
{{ i }}
|
||||||
</th>
|
</th>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -88,8 +88,8 @@
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ ml.percentage_done }}</td>
|
<td>{{ ml.percentage_done }}</td>
|
||||||
{% for number in ml.week_statistics %}
|
{% for number in ml.interval_statistics %}
|
||||||
{% if current_week == forloop.counter0 %}
|
{% if current_interval == forloop.counter0 %}
|
||||||
<td class="current-wk">
|
<td class="current-wk">
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="muted">
|
<td class="muted">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user