Skip to content
This repository was archived by the owner on Feb 28, 2018. It is now read-only.

Commit

Permalink
Merge pull request #278 from datasciencebr/cuducos-fix-ordering
Browse files Browse the repository at this point in the history
Keep user selected ordering in the dashboard
  • Loading branch information
anaschwendler authored Oct 24, 2017
2 parents 9d31da5 + e0a1a51 commit ae01907
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
3 changes: 3 additions & 0 deletions jarbas/core/querysets.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ def tuple_filter(self, **kwargs):
self = self.filter(filter_)
return self

def was_ordered(self):
return bool(self.query.order_by)


def _str_to_tuple(filters):
"""
Expand Down
4 changes: 4 additions & 0 deletions jarbas/core/tests/test_reimbursement_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ def test_not_in_latest_dataset(self):
existing = Reimbursement.objects.in_latest_dataset(True)
self.assertEqual(1, existing.count())

def test_was_ordered(self):
self.assertFalse(Reimbursement.objects.was_ordered())
self.assertTrue(Reimbursement.objects.order_by('pk').was_ordered())


class TestCustomMethods(TestReimbursement):

Expand Down
7 changes: 4 additions & 3 deletions jarbas/dashboard/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,9 +404,10 @@ def get_search_results(self, request, queryset, search_term):
if search_term:
query = SearchQuery(search_term, config='portuguese')
rank = SearchRank(F('search_vector'), query)
queryset = queryset.annotate(rank=rank) \
.filter(search_vector=query) \
.order_by('-rank')
queryset = queryset.annotate(rank=rank).filter(search_vector=query)

if not queryset.was_ordered():
queryset.order_by('-rank')

return queryset, distinct

Expand Down

0 comments on commit ae01907

Please sign in to comment.