From 39cbbefe73c4310ea5ea27f9c164f7730cd05500 Mon Sep 17 00:00:00 2001
From: vrigal <rigal@teklia.com>
Date: Fri, 13 Dec 2019 10:52:26 +0100
Subject: [PATCH] Update best_classes parameter to with_best_classes

---
 arkindex/documents/api/elements.py            | 32 +++++++++----------
 arkindex/documents/tests/test_classes.py      | 16 +++++-----
 arkindex/documents/tests/test_elements_api.py |  2 +-
 3 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/arkindex/documents/api/elements.py b/arkindex/documents/api/elements.py
index 3ba5d1954d..329e450aed 100644
--- a/arkindex/documents/api/elements.py
+++ b/arkindex/documents/api/elements.py
@@ -103,10 +103,10 @@ class ElementsList(CorpusACLMixin, ListAPIView):
                 }
             },
             {
-                'name': 'best_classes',
+                'name': 'with_best_classes',
                 'in': 'query',
                 'description': (
-                    'List best classifications for each element. '
+                    'Returns best classifications for each element. '
                     'If not set, elements best_classes field will always be null'
                 ),
                 'required': False,
@@ -158,8 +158,8 @@ class ElementsList(CorpusACLMixin, ListAPIView):
                 .exclude(state=ClassificationState.Rejected)
             ).distinct()
 
-        best_classes = self.request.query_params.get('best_classes')
-        if best_classes and best_classes.lower() not in ('false', '0'):
+        with_best_classes = self.request.query_params.get('with_best_classes')
+        if with_best_classes and with_best_classes.lower() not in ('false', '0'):
             filtered_queryset = filtered_queryset.prefetch_related(best_classifications_prefetch)
 
         # ID is required by postgres to order elements with common corpus, type and name
@@ -360,10 +360,10 @@ class ElementParents(ListAPIView):
                 }
             },
             {
-                'name': 'best_classes',
+                'name': 'with_best_classes',
                 'in': 'query',
                 'description': (
-                    'List best classifications for each element. '
+                    'Returns best classifications for each element. '
                     'If not set, elements best_classes field will always be null'
                 ),
                 'required': False,
@@ -398,8 +398,8 @@ class ElementParents(ListAPIView):
 
         prefetch_related_lookups = ('zone__image__server', 'corpus', 'type')
 
-        best_classes = self.request.query_params.get('best_classes')
-        if best_classes and best_classes.lower() not in ('false', '0'):
+        with_best_classes = self.request.query_params.get('with_best_classes')
+        if with_best_classes and with_best_classes.lower() not in ('false', '0'):
             prefetch_related_lookups += (best_classifications_prefetch, )
 
         class_filter = self.request.query_params.get('best_class')
@@ -496,10 +496,10 @@ class ElementChildren(ListAPIView):
                 }
             },
             {
-                'name': 'best_classes',
+                'name': 'with_best_classes',
                 'in': 'query',
                 'description': (
-                    'List best classifications for each element. '
+                    'Returns best classifications for each element. '
                     'If not set, elements best_classes field will always be null'
                 ),
                 'required': False,
@@ -534,8 +534,8 @@ class ElementChildren(ListAPIView):
 
         prefetch_related_lookups = ('zone__image__server', 'corpus', 'type')
 
-        best_classes = self.request.query_params.get('best_classes')
-        if best_classes and best_classes.lower() not in ('false', '0'):
+        with_best_classes = self.request.query_params.get('with_best_classes')
+        if with_best_classes and with_best_classes.lower() not in ('false', '0'):
             prefetch_related_lookups += (best_classifications_prefetch, )
 
         if recursive_param is None or recursive_param.lower() in ('false', '0'):
@@ -575,10 +575,10 @@ class ManageSelection(ListAPIView):
         'tags': ['elements'],
         'parameters': [
             {
-                'name': 'best_classes',
+                'name': 'with_best_classes',
                 'in': 'query',
                 'description': (
-                    'List best classifications for each element. '
+                    'Returns best classifications for each element. '
                     'If not set, elements best_classes field will always be null'
                 ),
                 'required': False,
@@ -598,8 +598,8 @@ class ManageSelection(ListAPIView):
         elements = self.request.session.get('elements_selected')
         filtered_queryset = Element.objects.filter(id__in=elements).order_by('corpus', 'type', 'name')
 
-        best_classes = self.request.query_params.get('best_classes')
-        if best_classes and best_classes.lower() not in ('false', '0'):
+        with_best_classes = self.request.query_params.get('with_best_classes')
+        if with_best_classes and with_best_classes.lower() not in ('false', '0'):
             return filtered_queryset.prefetch_related(best_classifications_prefetch)
 
         return filtered_queryset
diff --git a/arkindex/documents/tests/test_classes.py b/arkindex/documents/tests/test_classes.py
index e4b8d3d3b2..aa5f685c63 100644
--- a/arkindex/documents/tests/test_classes.py
+++ b/arkindex/documents/tests/test_classes.py
@@ -160,7 +160,7 @@ class TestClasses(FixtureAPITestCase):
         with self.assertNumQueries(6):
             response = self.client.get(
                 reverse('api:elements'),
-                data={'type': self.classified.slug, 'best_classes': True}
+                data={'type': self.classified.slug, 'with_best_classes': True}
             )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
@@ -178,7 +178,7 @@ class TestClasses(FixtureAPITestCase):
                 reverse('api:elements'),
                 data={
                     'type': self.classified.slug,
-                    'best_classes': False,
+                    'with_best_classes': False,
                 }
             )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -190,7 +190,7 @@ class TestClasses(FixtureAPITestCase):
         with self.assertNumQueries(6):
             response = self.client.get(
                 reverse('api:elements-parents', kwargs={'pk': str(self.common_children.id)}),
-                data={'type': self.classified.slug, 'best_classes': 1}
+                data={'type': self.classified.slug, 'with_best_classes': 1}
             )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
@@ -206,7 +206,7 @@ class TestClasses(FixtureAPITestCase):
         with self.assertNumQueries(6):
             response = self.client.get(
                 reverse('api:elements-children', kwargs={'pk': str(self.parent.id)}),
-                data={'type': self.classified.slug, 'best_classes': 'yes'}
+                data={'type': self.classified.slug, 'with_best_classes': 'yes'}
             )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
@@ -227,7 +227,7 @@ class TestClasses(FixtureAPITestCase):
         with self.assertNumQueries(6):
             response = self.client.get(
                 reverse('api:elements-children', kwargs={'pk': str(self.parent.id)}),
-                data={'type': self.classified.slug, 'best_classes': 'yes'}
+                data={'type': self.classified.slug, 'with_best_classes': 'yes'}
             )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
@@ -247,7 +247,7 @@ class TestClasses(FixtureAPITestCase):
         parent.classifications.all().filter(confidence=.7).update(state=ClassificationState.Validated)
         response = self.client.get(
             reverse('api:elements-parents', kwargs={'pk': str(self.common_children.id)}),
-            data={'type': self.classified.slug, 'best_classes': 'yes'}
+            data={'type': self.classified.slug, 'with_best_classes': 'yes'}
         )
         for elt in response.json()['results']:
             if elt['id'] == str(parent.id):
@@ -276,7 +276,7 @@ class TestClasses(FixtureAPITestCase):
         )
         response = self.client.get(
             reverse('api:elements-parents', kwargs={'pk': str(self.common_children.id)}),
-            data={'type': self.classified.slug, 'best_classes': 1}
+            data={'type': self.classified.slug, 'with_best_classes': 1}
         )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         for elt in response.json()['results']:
@@ -295,7 +295,7 @@ class TestClasses(FixtureAPITestCase):
         classif.save()
         response = self.client.get(
             reverse('api:elements-parents', kwargs={'pk': str(self.common_children.id)}),
-            data={'type': self.classified.slug, 'best_classes': 1}
+            data={'type': self.classified.slug, 'with_best_classes': 1}
         )
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         for elt in response.json()['results']:
diff --git a/arkindex/documents/tests/test_elements_api.py b/arkindex/documents/tests/test_elements_api.py
index 0758fd36b9..9a1584559a 100644
--- a/arkindex/documents/tests/test_elements_api.py
+++ b/arkindex/documents/tests/test_elements_api.py
@@ -951,7 +951,7 @@ class TestElementsAPI(FixtureAPITestCase):
         self.assertEqual(results[0]['id'], str(self.page.id))
         self.assertEqual(results[1]['id'], str(self.vol.id))
 
-        response = self.client.get(reverse('api:elements-selection') + '?best_classes=true')
+        response = self.client.get(reverse('api:elements-selection') + '?with_best_classes=true')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         results = response.json()['results']
         self.assertEqual(len(results), 2)
-- 
GitLab