Browse Source

#702: search and readtracker

Rafał Pitoń 8 years ago
parent
commit
1c9b0c17c4

+ 4 - 3
misago/readtracker/categoriestracker.py

@@ -65,7 +65,7 @@ def sync_record(user, category):
         category=category,
         thread__in=all_threads,
         last_read_on__gt=cutoff_date,
-        thread__last_post_on__lte=F("last_read_on")
+        thread__last_post_on__lte=F("last_read_on"),
     ).count()
 
     category_is_read = read_threads_count == all_threads_count
@@ -93,9 +93,10 @@ def read_category(user, category):
     categories = [category.pk]
     if not category.is_leaf_node():
         categories += category.get_descendants().filter(
-            id__in=user.acl_cache['visible_categories']
+            id__in=user.acl_cache['visible_categories'],
         ).values_list(
-            'id', flat=True
+            'id',
+            flat=True,
         )
 
     user.categoryread_set.filter(category_id__in=categories).delete()

+ 5 - 2
misago/readtracker/tests/test_readtracker.py

@@ -23,7 +23,10 @@ class ReadTrackerTests(TestCase):
         self.anon = AnonymousUser()
 
     def post_thread(self, datetime):
-        return testutils.post_thread(category=self.category, started_on=datetime)
+        return testutils.post_thread(
+            category=self.category,
+            started_on=datetime,
+        )
 
 
 class CategoriesTrackerTests(ReadTrackerTests):
@@ -206,7 +209,7 @@ class ThreadsTrackerTests(ReadTrackerTests):
             thread=self.thread,
             is_hidden=is_hidden,
             is_unapproved=is_unapproved,
-            posted_on=timezone.now()
+            posted_on=timezone.now(),
         )
         return self.post
 

+ 3 - 1
misago/readtracker/threadstracker.py

@@ -145,7 +145,9 @@ def sync_record(user, thread, last_read_reply):
         thread.read_record.save(update_fields=['last_read_on'])
     else:
         user.threadread_set.create(
-            category=thread.category, thread=thread, last_read_on=last_read_reply.posted_on
+            category=thread.category,
+            thread=thread,
+            last_read_on=last_read_reply.posted_on,
         )
         signals.thread_tracked.send(sender=user, thread=thread)
         notification_triggers.append('see_thread_%s' % thread.pk)

+ 5 - 2
misago/search/tests/test_api.py

@@ -28,7 +28,9 @@ class SearchApiTests(AuthenticatedUserTestCase):
         providers = searchproviders.get_providers(True)
         for i, provider in enumerate(response.json()):
             provider_api = reverse(
-                'misago:api:search', kwargs={'search_provider': providers[i].url}
+                'misago:api:search', kwargs={
+                    'search_provider': providers[i].url,
+                }
             )
             self.assertEqual(provider_api, provider['api'])
 
@@ -44,7 +46,8 @@ class SearchApiTests(AuthenticatedUserTestCase):
         providers = searchproviders.get_providers(True)
         for i, provider in enumerate(response.json()):
             provider_api = reverse(
-                'misago:api:search', kwargs={'search_provider': providers[i].url}
+                'misago:api:search',
+                kwargs={'search_provider': providers[i].url},
             )
             self.assertEqual(provider_api, provider['api'])
 

+ 18 - 4
misago/search/tests/test_views.py

@@ -32,13 +32,19 @@ class SearchTests(AuthenticatedUserTestCase):
         """view validates permission to search forum"""
         override_acl(self.user, {'can_search': 0})
 
-        response = self.client.get(reverse('misago:search', kwargs={'search_provider': 'users'}))
+        response = self.client.get(
+            reverse('misago:search', kwargs={
+                'search_provider': 'users',
+            })
+        )
 
         self.assertContains(response, "have permission to search site", status_code=403)
 
     def test_not_found(self):
         """view raises 404 for not found provider"""
-        response = self.client.get(reverse('misago:search', kwargs={'search_provider': 'nada'}))
+        response = self.client.get(reverse('misago:search', kwargs={
+            'search_provider': 'nada',
+        }))
 
         self.assertEqual(response.status_code, 404)
 
@@ -46,12 +52,20 @@ class SearchTests(AuthenticatedUserTestCase):
         """provider raises 403 without permission"""
         override_acl(self.user, {'can_search_users': 0})
 
-        response = self.client.get(reverse('misago:search', kwargs={'search_provider': 'users'}))
+        response = self.client.get(
+            reverse('misago:search', kwargs={
+                'search_provider': 'users',
+            })
+        )
 
         self.assertContains(response, "have permission to search users", status_code=403)
 
     def test_provider(self):
         """provider displays no script page"""
-        response = self.client.get(reverse('misago:search', kwargs={'search_provider': 'threads'}))
+        response = self.client.get(
+            reverse('misago:search', kwargs={
+                'search_provider': 'threads',
+            })
+        )
 
         self.assertContains(response, "Loading search...")

+ 1 - 1
misago/search/views.py

@@ -39,7 +39,7 @@ def search(request, search_provider):
             'url': reverse('misago:search', kwargs={'search_provider': provider.url}),
             'api': reverse('misago:api:search', kwargs={'search_provider': provider.url}),
             'results': None,
-            'time': None
+            'time': None,
         })
 
     return render(request, 'misago/search.html')