Skip to content

Commit

Permalink
trix_admin: Override pager querystrings filing bug report in cradmin f…
Browse files Browse the repository at this point in the history
…ixes #18
  • Loading branch information
tworide committed Aug 20, 2016
1 parent 72ae4f5 commit 8ef254f
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
8 changes: 6 additions & 2 deletions trix/project/develop/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@
"""
from trix.project.default.settings import *


DEBUG = True
TEMPLATE_DEBUG = True
ROOT_URLCONF = 'trix.project.develop.urls'

INSTALLED_APPS = list(INSTALLED_APPS) + [
'django_dbdev',
#'debug_toolbar',
# 'debug_toolbar',
]

from django_dbdev.backends.postgres import DBSETTINGS

DATABASES = {
'default': DBSETTINGS
}
DATABASES['default']['PORT'] = 20987
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

MIDDLEWARE_CLASSES += [
Expand Down
19 changes: 17 additions & 2 deletions trix/trix_admin/views/assignments.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.shortcuts import get_object_or_404
from django.template import defaultfilters
from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import truncatechars
from django.template.defaultfilters import truncatechars, urlencode
from django import forms
from django import http
from django.views.generic import TemplateView
Expand Down Expand Up @@ -81,7 +81,7 @@ def render_value(self, assignment):

class AssignmentQuerysetForRoleMixin(object):
def get_queryset_for_role(self, course):
return self.model.objects.filter(tags=course.course_tag)\
return self.model.objects.filter(tags=course.course_tag) \
.prefetch_related('tags')


Expand Down Expand Up @@ -128,6 +128,21 @@ def get_multiselect_actions(self):
),
]

def _get_pager_extra_querystring(self):
"""
Overriden to handle listencoded string i QueryDict
Base function does not handle multivalue QueryDict
Search for 'mengde' become [u'mengde'] and the pager fails
Need to user the builtin urlencode for QueryDict
"""
querystring = self.request.GET.copy()
if 'page' in querystring:
del querystring['page']
if querystring:
return querystring.urlencode()
else:
return ''


class AssignmentCreateUpdateMixin(object):
model = trix_models.Assignment
Expand Down

0 comments on commit 8ef254f

Please sign in to comment.