diff --git a/mgmt/views.py b/mgmt/views.py index 31c09d8..db799f7 100644 --- a/mgmt/views.py +++ b/mgmt/views.py @@ -39,6 +39,19 @@ def get_comments(request,id,type): range = None return page_num,range, page.object_list +def get_bugs(request,pid=None): + if pid: + all = Bug.objects.filter(project__pk=pid) + else: + all = Bug.objects.all() + pg = Paginator(all,settings.BUGS_PER_PAGE) + page_num = int(request.GET.get('page',1)) + page = pg.page(page_num) + range = pg.page_range + if range == [1]: + range = None + return page_num,range, page.object_list + ############ # Forms ############ @@ -130,13 +143,15 @@ def one_project(request,id): def project_bugs(request,id): project = Project.objects.get(pk=id) - bugs = Bug.objects.filter(project=project) + page,pages,bugs = get_bugs(request,id) for bug in bugs: bug.complexity_str = dict(settings.COMPLEXITY_CHOICES).get(bug.complexity,'Unknown') bug.priority_str = dict(settings.PRIORITY_CHOICES).get(bug.priority,'Unset') can_report = can(request.user,'send bug') return render_it('project_bugs.html', {'project': project, + 'current_page': page, + 'page_numbers': pages, 'bugs': bugs, 'can_report': can_report}, request) @@ -340,14 +355,16 @@ def create_document(request,project): request) def all_bugs(request): - bugs = Bug.objects.all() + page,pages,bugs = get_bugs(request) return render_it('all_bugs.html', - {'bugs': bugs}, + {'bugs': bugs, + 'current_page': page, + 'page_numbers': pages}, request) def bugs_by_state(request,sid): state = BugState.objects.get(pk=sid) - bugs = Bug.objects.filter(status=state) + page,pages,bugs = Bug.objects.filter(status=state) return render_it('all_bugs.html', {'bugs': bugs, 'state': state.name}, diff --git a/settings.py b/settings.py index 3f3a553..abe25c2 100644 --- a/settings.py +++ b/settings.py @@ -102,6 +102,7 @@ BUG_RIGHTS = { (5,1): 'Team'} COMMENTS_PER_PAGE = 10 +BUGS_PER_PAGE = COMMENTS_PER_PAGE MENU_ANONYMOUS = [(u'Главная','/'), (u'Вход','/login/')] diff --git a/templates/all_bugs.html b/templates/all_bugs.html index 135cc39..d4c913c 100644 --- a/templates/all_bugs.html +++ b/templates/all_bugs.html @@ -19,5 +19,6 @@ </div> {% endfor %} </div> +{% include "pager.html" %} {% endblock %} diff --git a/templates/project_bugs.html b/templates/project_bugs.html index 9bbb530..7c4df45 100644 --- a/templates/project_bugs.html +++ b/templates/project_bugs.html @@ -36,6 +36,7 @@ </div> {% endfor %} </div> + {% include "pager.html" %} {% else %} <p>В этом проекте нет багов.</p> {%endif%}