Skip to content

Commit a79eaec

Browse files
committed
remove dependency on django-filter, resolves readthedocs#2635
1 parent 47fca49 commit a79eaec

File tree

14 files changed

+11
-243
lines changed

14 files changed

+11
-243
lines changed

readthedocs/builds/filters.py

-48
This file was deleted.

readthedocs/builds/views.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from django.core.urlresolvers import reverse
1010

1111
from readthedocs.builds.models import Build, Version
12-
from readthedocs.builds.filters import BuildFilter
1312
from readthedocs.projects.models import Project
1413

1514
from redis import Redis, ConnectionError
@@ -37,14 +36,12 @@ class BuildList(BuildBase, ListView):
3736
def get_context_data(self, **kwargs):
3837
context = super(BuildList, self).get_context_data(**kwargs)
3938

40-
filterset = BuildFilter(self.request.GET, queryset=self.get_queryset())
4139
active_builds = self.get_queryset().exclude(state="finished").values('id')
4240

4341
context['project'] = self.project
44-
context['filter'] = filterset
4542
context['active_builds'] = active_builds
4643
context['versions'] = Version.objects.public(user=self.request.user, project=self.project)
47-
context['build_qs'] = filterset.qs
44+
context['build_qs'] = self.get_queryset()
4845

4946
try:
5047
redis = Redis.from_url(settings.BROKER_URL)

readthedocs/core/urls/__init__.py

-13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
from django.conf.urls import url
22

3-
from django_filters import views as django_filters_views
4-
53
from readthedocs.constants import pattern_opts
64
from readthedocs.core import views
75
from readthedocs.core.views import hooks, serve
8-
from readthedocs.builds.filters import VersionFilter
96
from readthedocs.projects.feeds import LatestProjectsFeed, NewProjectsFeed
10-
from readthedocs.projects.filters import ProjectFilter
117

128

139
docs_urls = [
@@ -52,15 +48,6 @@
5248
]
5349

5450
deprecated_urls = [
55-
url(r'^filter/version/$',
56-
django_filters_views.object_filter,
57-
{'filter_class': VersionFilter, 'template_name': 'filter.html'},
58-
name='filter_version'),
59-
url(r'^filter/project/$',
60-
django_filters_views.object_filter,
61-
{'filter_class': ProjectFilter, 'template_name': 'filter.html'},
62-
name='filter_project'),
63-
6451
url(r'^feeds/new/$',
6552
NewProjectsFeed(),
6653
name="new_feed"),

readthedocs/projects/filters.py

-72
This file was deleted.

readthedocs/projects/views/private.py

-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from readthedocs.bookmarks.models import Bookmark
2424
from readthedocs.builds.models import Version
2525
from readthedocs.builds.forms import AliasForm, VersionForm
26-
from readthedocs.builds.filters import VersionFilter
2726
from readthedocs.builds.models import VersionAlias
2827
from readthedocs.core.utils import trigger_build, broadcast
2928
from readthedocs.core.mixins import ListViewWithForm
@@ -62,9 +61,6 @@ def get_queryset(self):
6261

6362
def get_context_data(self, **kwargs):
6463
context = super(ProjectDashboard, self).get_context_data(**kwargs)
65-
version_filter = VersionFilter(constants.IMPORTANT_VERSION_FILTERS,
66-
queryset=self.get_queryset())
67-
context['filter'] = version_filter
6864

6965
bookmarks = Bookmark.objects.filter(user=self.request.user)
7066

readthedocs/projects/views/public.py

+3-10
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
from .base import ProjectOnboardMixin
2626
from readthedocs.builds.constants import LATEST
27-
from readthedocs.builds.filters import VersionSlugFilter
2827
from readthedocs.builds.models import Version
2928
from readthedocs.projects.models import Project, ImportedFile
3029
from readthedocs.search.indexes import PageIndex
@@ -83,8 +82,6 @@ def get_context_data(self, **kwargs):
8382
project = self.get_object()
8483
context['versions'] = Version.objects.public(
8584
user=self.request.user, project=project)
86-
context['filter'] = VersionSlugFilter(self.request.GET,
87-
queryset=context['versions'])
8885

8986
protocol = 'http'
9087
if self.request.is_secure():
@@ -235,11 +232,10 @@ def version_filter_autocomplete(request, project_slug):
235232
queryset = Project.objects.public(request.user)
236233
project = get_object_or_404(queryset, slug=project_slug)
237234
versions = Version.objects.public(request.user)
238-
version_filter = VersionSlugFilter(request.GET, queryset=versions)
239235
resp_format = request.GET.get('format', 'json')
240236

241237
if resp_format == 'json':
242-
names = version_filter.qs.values_list('slug', flat=True)
238+
names = versions.values_list('slug', flat=True)
243239
json_response = json.dumps(list(names))
244240
return HttpResponse(json_response, content_type='text/javascript')
245241
elif resp_format == 'html':
@@ -248,7 +244,6 @@ def version_filter_autocomplete(request, project_slug):
248244
{
249245
'project': project,
250246
'versions': versions,
251-
'filter': version_filter,
252247
},
253248
context_instance=RequestContext(request),
254249
)
@@ -360,8 +355,6 @@ def project_versions(request, project_slug):
360355
versions = Version.objects.public(user=request.user, project=project, only_active=False)
361356
active_versions = versions.filter(active=True)
362357
inactive_versions = versions.filter(active=False)
363-
inactive_filter = VersionSlugFilter(request.GET, queryset=inactive_versions)
364-
active_filter = VersionSlugFilter(request.GET, queryset=active_versions)
365358

366359
# If there's a wiped query string, check the string against the versions
367360
# list and display a success message. Deleting directories doesn't know how
@@ -374,8 +367,8 @@ def project_versions(request, project_slug):
374367
return render_to_response(
375368
'projects/project_version_list.html',
376369
{
377-
'inactive_filter': inactive_filter,
378-
'active_filter': active_filter,
370+
'inactive_versions': inactive_versions,
371+
'active_versions': active_versions,
379372
'project': project,
380373
},
381374
context_instance=RequestContext(request)

readthedocs/restapi/views/model_views.py

-5
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88

99
from readthedocs.builds.constants import BRANCH
1010
from readthedocs.builds.constants import TAG
11-
from readthedocs.builds.filters import VersionFilter
1211
from readthedocs.builds.models import Build, BuildCommandResult, Version
1312
from readthedocs.core.utils import trigger_build
1413
from readthedocs.oauth.services import GitHubService, registry
1514
from readthedocs.oauth.models import RemoteOrganization, RemoteRepository
1615
from readthedocs.builds.constants import STABLE
17-
from readthedocs.projects.filters import ProjectFilter, DomainFilter
1816
from readthedocs.projects.models import Project, EmailHook, Domain
1917
from readthedocs.projects.version_handling import determine_stable_version
2018

@@ -34,7 +32,6 @@ class ProjectViewSet(viewsets.ModelViewSet):
3432
permission_classes = [APIPermission]
3533
renderer_classes = (JSONRenderer,)
3634
serializer_class = ProjectSerializer
37-
filter_class = ProjectFilter
3835
model = Project
3936
paginate_by = 100
4037
paginate_by_param = 'page_size'
@@ -158,7 +155,6 @@ class VersionViewSet(viewsets.ReadOnlyModelViewSet):
158155
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
159156
renderer_classes = (JSONRenderer,)
160157
serializer_class = VersionSerializer
161-
filter_class = VersionFilter
162158
model = Version
163159

164160
def get_queryset(self):
@@ -207,7 +203,6 @@ class DomainViewSet(viewsets.ModelViewSet):
207203
permission_classes = [APIRestrictedPermission]
208204
renderer_classes = (JSONRenderer,)
209205
serializer_class = DomainSerializer
210-
filter_class = DomainFilter
211206
model = Domain
212207

213208
def get_queryset(self):

readthedocs/settings/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ def INSTALLED_APPS(self): # noqa
326326
'field_name_limit': 50,
327327
}
328328
REST_FRAMEWORK = {
329-
'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
329+
# 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
330330
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
331331
'PAGE_SIZE': 10,
332332
}

readthedocs/templates/builds/build_list.html

-15
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,6 @@
1515

1616
{% block content %}
1717

18-
{% comment %}
19-
20-
<div class="navigable">
21-
<h3>
22-
Filters
23-
</h3>
24-
<ul>
25-
<form action="" method="get">
26-
{{ filter.form.as_p }}
27-
<input type="submit" value="Filter" />
28-
</form>
29-
</ul>
30-
31-
{% endcomment %}
32-
3318

3419
<!-- BEGIN queue depth warning -->
3520
{% if queue_length > 10 %}

readthedocs/templates/core/project_details.html

+2-11
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,9 @@ <h3>{% trans "Versions" %}</h3>
2121

2222
<div class="module-list">
2323

24-
{% comment %}
25-
<div class="filter_form">
26-
<form id="filter_form">
27-
{{ filter.form }}
28-
<input type="submit" value="{% trans "Filter" %}">
29-
</form>
30-
</div>
31-
{% endcomment %}
32-
3324
<div class="module-list-wrapper">
3425
<ul>
35-
{% for version in filter.qs|sort_version_aware %}
26+
{% for version in versions|sort_version_aware %}
3627
<li class="module-item col-span">
3728
{% if version.uploaded or version.built %}
3829
{# Link to the docs #}
@@ -70,7 +61,7 @@ <h3>{% trans "Build a version" %}</h3>
7061
<div class="version_right">
7162
<form method="post" action="{% url "generic_build" project.pk %}">
7263
<select id="id_version" name="version_slug">
73-
{% for version in filter.qs|sort_version_aware %}
64+
{% for version in versions|sort_version_aware %}
7465
<option value="{{ version.slug }}">{{ version.slug }}</option>
7566
{% endfor %}
7667
</select>

readthedocs/templates/core/version_list.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div class="module-list-wrapper">
22
<ul>
3-
{% for version in filter.qs %}
3+
{% for version in versions %}
44
<li class="module-item">
55
{# Link to the docs #}
66
<a class="module-item-title" href="{{ version.get_absolute_url }}">{{ version.slug }}</a>

0 commit comments

Comments
 (0)