forked from mirrors/bookwyrm
Merge pull request #1468 from bookwyrm-social/directory-view
Changes directory default sort
This commit is contained in:
commit
a2d64a2a9a
5 changed files with 31 additions and 10 deletions
|
@ -8,7 +8,7 @@
|
||||||
{% trans "Local users" %}
|
{% trans "Local users" %}
|
||||||
</label>
|
</label>
|
||||||
<label class="is-block">
|
<label class="is-block">
|
||||||
<input type="radio" class="radio" name="scope" value="federated" {% if not request.GET.sort or request.GET.scope == "federated" %}checked{% endif %}>
|
<input type="radio" class="radio" name="scope" value="federated" {% if request.GET.scope == "federated" %}checked{% endif %}>
|
||||||
{% trans "Federated community" %}
|
{% trans "Federated community" %}
|
||||||
</label>
|
</label>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<label class="label" for="id_sort">{% trans "Order by" %}</label>
|
<label class="label" for="id_sort">{% trans "Order by" %}</label>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<select name="sort" id="id_sort">
|
<select name="sort" id="id_sort">
|
||||||
<option value="suggested" {% if not request.GET.sort or request.GET.sort == "suggested" %}checked{% endif %}>{% trans "Suggested" %}</option>
|
<option value="recent" {% if request.GET.sort == "recent" %}selected{% endif %}>{% trans "Recently active" %}</option>
|
||||||
<option value="recent" {% if request.GET.sort == "suggested" %}checked{% endif %}>{% trans "Recently active" %}</option>
|
<option value="suggested" {% if request.GET.sort == "suggested" %}selected{% endif %}>{% trans "Suggested" %}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
""" test for app action functionality """
|
""" test for app action functionality """
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
from tidylib import tidy_document
|
||||||
|
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
|
@ -36,7 +38,10 @@ class EmailBlocklistViews(TestCase):
|
||||||
result = view(request)
|
result = view(request)
|
||||||
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
result.render()
|
html = result.render()
|
||||||
|
_, errors = tidy_document(html.content, options={"drop-empty-elements": False})
|
||||||
|
if errors:
|
||||||
|
raise Exception(errors)
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
def test_blocklist_page_post(self):
|
def test_blocklist_page_post(self):
|
||||||
|
@ -49,7 +54,10 @@ class EmailBlocklistViews(TestCase):
|
||||||
result = view(request)
|
result = view(request)
|
||||||
|
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
result.render()
|
html = result.render()
|
||||||
|
_, errors = tidy_document(html.content, options={"drop-empty-elements": False})
|
||||||
|
if errors:
|
||||||
|
raise Exception(errors)
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
""" test for app action functionality """
|
""" test for app action functionality """
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
from tidylib import tidy_document
|
||||||
|
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
|
@ -51,7 +52,16 @@ class DirectoryViews(TestCase):
|
||||||
|
|
||||||
result = view(request)
|
result = view(request)
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
result.render()
|
html = result.render()
|
||||||
|
_, errors = tidy_document(
|
||||||
|
html.content,
|
||||||
|
options={
|
||||||
|
"drop-empty-elements": False,
|
||||||
|
"warn-proprietary-attributes": False,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if errors:
|
||||||
|
raise Exception(errors)
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
def test_directory_page_empty(self):
|
def test_directory_page_empty(self):
|
||||||
|
@ -62,7 +72,10 @@ class DirectoryViews(TestCase):
|
||||||
|
|
||||||
result = view(request)
|
result = view(request)
|
||||||
self.assertIsInstance(result, TemplateResponse)
|
self.assertIsInstance(result, TemplateResponse)
|
||||||
result.render()
|
html = result.render()
|
||||||
|
_, errors = tidy_document(html.content, options={"drop-empty-elements": False})
|
||||||
|
if errors:
|
||||||
|
raise Exception(errors)
|
||||||
self.assertEqual(result.status_code, 200)
|
self.assertEqual(result.status_code, 200)
|
||||||
|
|
||||||
def test_directory_page_logged_out(self):
|
def test_directory_page_logged_out(self):
|
||||||
|
|
|
@ -25,10 +25,10 @@ class Directory(View):
|
||||||
|
|
||||||
users = suggested_users.get_annotated_users(request.user, **filters)
|
users = suggested_users.get_annotated_users(request.user, **filters)
|
||||||
sort = request.GET.get("sort")
|
sort = request.GET.get("sort")
|
||||||
if sort == "recent":
|
if sort == "suggested":
|
||||||
users = users.order_by("-last_active_date")
|
|
||||||
else:
|
|
||||||
users = users.order_by("-mutuals", "-last_active_date")
|
users = users.order_by("-mutuals", "-last_active_date")
|
||||||
|
else:
|
||||||
|
users = users.order_by("-last_active_date")
|
||||||
|
|
||||||
paginated = Paginator(users, 12)
|
paginated = Paginator(users, 12)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue