|
@@ -5,6 +5,7 @@ from django.contrib.auth.decorators import login_required
|
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.models import User
|
|
|
from django.core.paginator import Paginator
|
|
from django.core.paginator import Paginator
|
|
|
|
|
+from django.db.models.aggregates import Sum
|
|
|
from django.http.response import HttpResponse
|
|
from django.http.response import HttpResponse
|
|
|
from django.shortcuts import render, get_object_or_404, redirect
|
|
from django.shortcuts import render, get_object_or_404, redirect
|
|
|
from django.urls.base import reverse
|
|
from django.urls.base import reverse
|
|
@@ -107,11 +108,19 @@ def story_index(request):
|
|
|
if 'assignee' in filters and filters['assignee']:
|
|
if 'assignee' in filters and filters['assignee']:
|
|
|
stories = stories.filter(assignees__id=filters['assignee'])
|
|
stories = stories.filter(assignees__id=filters['assignee'])
|
|
|
|
|
|
|
|
|
|
+ count = stories.count()
|
|
|
|
|
+ total_weight = stories.aggregate(Sum('weight'))['weight__sum']
|
|
|
|
|
+
|
|
|
paginator = Paginator(stories.all(), 20)
|
|
paginator = Paginator(stories.all(), 20)
|
|
|
page = request.GET.get('page')
|
|
page = request.GET.get('page')
|
|
|
stories = paginator.get_page(page)
|
|
stories = paginator.get_page(page)
|
|
|
|
|
|
|
|
- return render(request, 'story_index.html', {'stories': stories, 'sprints': sprints, 'users': users, 'pages': range(1, paginator.num_pages + 1)})
|
|
|
|
|
|
|
+ return render(request, 'story_index.html', {'stories': stories,
|
|
|
|
|
+ 'count': count,
|
|
|
|
|
+ 'total_weight': total_weight,
|
|
|
|
|
+ 'sprints': sprints,
|
|
|
|
|
+ 'users': users,
|
|
|
|
|
+ 'pages': range(1, paginator.num_pages + 1)})
|
|
|
|
|
|
|
|
@login_required
|
|
@login_required
|
|
|
def story_details(request, story_id):
|
|
def story_details(request, story_id):
|