Ejemplo n.º 1
0
 def test_headers_col2_asc(self):
     """
     If the second column is sorted asc, set it up to be sorted desc.
     """
     request = Mock(GET=QueryDict('ot=asc&o=1'))
     sort_headers = SortHeaders(request, self.header_list)
     headers = list(sort_headers.headers())
     eq_(
         headers[0], {
             'url': '&ot=asc&o=0',
             'text': 'Title 1',
             'class_attr': {
                 'class': 'orderable'
             },
             'sortable': True
         })
     eq_(
         headers[1], {
             'url': '&ot=desc&o=1',
             'text': 'Title 2',
             'class_attr': {
                 'class': 'orderable sorted asc'
             },
             'sortable': True
         })
Ejemplo n.º 2
0
 def test_headers_default(self):
     """
     If no related query params exist, the first column is sorted ascending.
     """
     request = Mock(GET=QueryDict(''))
     sort_headers = SortHeaders(request, self.header_list)
     headers = list(sort_headers.headers())
     eq_(
         headers[0], {
             'url': '&ot=desc&o=0',
             'text': 'Title 1',
             'class_attr': {
                 'class': 'orderable sorted asc'
             },
             'sortable': True
         })
     eq_(
         headers[1], {
             'url': '&ot=asc&o=1',
             'text': 'Title 2',
             'class_attr': {
                 'class': 'orderable'
             },
             'sortable': True
         })
Ejemplo n.º 3
0
 def test_get_order_by_default(self):
     """
     Default order by is first field ascending.
     """
     request = Mock(GET=QueryDict(''))
     sort_headers = SortHeaders(request, self.header_list)
     eq_(sort_headers.get_order_by(), 'field_1')
Ejemplo n.º 4
0
 def test_get_order_by_col2_asc(self):
     """
     If second field ascending is selected, return second field name
     without a minus sign.
     """
     request = Mock(GET=QueryDict('ot=asc&o=1'))
     sort_headers = SortHeaders(request, self.header_list)
     eq_(sort_headers.get_order_by(), 'field_2')
Ejemplo n.º 5
0
 def test_get_order_by_col1_desc(self):
     """
     If first field descending is selected, return first field name
     with a minus sign.
     """
     request = Mock(GET=QueryDict('ot=desc&o=0'))
     sort_headers = SortHeaders(request, self.header_list)
     eq_(sort_headers.get_order_by(), '-field_1')
Ejemplo n.º 6
0
 def get_queryset(self):
     self.sort_headers = SortHeaders(self.request, self.list_headers)
     qs = TaskAttempt.objects.extra(
         select={
             'state_display': TaskAttempt.choice_display_extra_expression('state'),
             'elapsed_time':
                 'EXTRACT(EPOCH FROM (tasks_taskattempt.modified - tasks_taskattempt.created))'
         })
     return qs.order_by(self.sort_headers.get_order_by())
Ejemplo n.º 7
0
 def get_queryset(self):
     self.sort_headers = SortHeaders(self.request, self.list_headers)
     qs = TaskAttempt.objects.extra(
         select={
             'state_display':
             TaskAttempt.choice_display_extra_expression('state'),
             'elapsed_time':
             'TIMESTAMPDIFF(SECOND, tasks_taskattempt.created, tasks_taskattempt.modified)'
         })
     return qs.order_by(self.sort_headers.get_order_by())