sort issues by last activity / creation date
This commit is contained in:
parent
47a915197b
commit
f92f87ce60
2 changed files with 22 additions and 9 deletions
|
@ -61,7 +61,6 @@
|
|||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% comment %}
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-default dropdown-toggle" type="button" id="issue-sort-menu" data-toggle="dropdown">
|
||||
Sort
|
||||
|
@ -69,15 +68,16 @@
|
|||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="issue-sort-menu">
|
||||
<li role="presentation" class="dropdown-header">Sort by</li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=newest">Newest</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=oldest">Oldest</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=most commented">Most commented</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=least-commented">Least commented</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=recently-updated">Recently updated</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=least-recently-updated">Least recently updated</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=newest">Newest</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=oldest">Oldest</a></li>
|
||||
{% comment %}
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=most commented">Most commented</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="?q={{ query }}&sort=least-commented">Least commented</a></li>
|
||||
{% endcomment %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endcomment %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,6 +6,7 @@ from django.views.decorators.http import require_http_methods
|
|||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import HttpResponse
|
||||
from django.db.models import Max
|
||||
|
||||
from tracker.utils import markdown_to_html
|
||||
from tracker.forms import *
|
||||
|
@ -202,8 +203,10 @@ def issue_list(request, project):
|
|||
milestones = Milestone.objects.filter(project=project)
|
||||
|
||||
sort = request.GET.get('sort', '')
|
||||
if sort:
|
||||
sort = '&' + sort
|
||||
sort_type = ['recently-updated', 'least-recently-updated',
|
||||
'newest', 'oldest', '']
|
||||
if sort not in sort_type:
|
||||
sort = ''
|
||||
|
||||
is_open = ''
|
||||
is_close = ''
|
||||
|
@ -290,11 +293,21 @@ def issue_list(request, project):
|
|||
is_all_query += ' ' + constraint
|
||||
|
||||
if issues:
|
||||
if sort and sort == 'newest':
|
||||
issues = issues.extra(order_by=['-opened_at'])
|
||||
elif sort and sort == 'oldest':
|
||||
issues = issues.extra(order_by=['opened_at'])
|
||||
elif sort and sort == 'least-recently-updated':
|
||||
issues = issues.annotate(last_activity=Max('events__date')).order_by('last_activity')
|
||||
else: # recently-updated
|
||||
issues = issues.annotate(last_activity=Max('events__date')).order_by('-last_activity')
|
||||
|
||||
if is_open == '' and is_close == '':
|
||||
is_all = ' active'
|
||||
|
||||
if sort and sort != 'recently-updated':
|
||||
sort = '&sort=' + sort
|
||||
|
||||
c = {
|
||||
'project': project,
|
||||
'issues': issues,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue