admin: make pagination size configurable

This commit is contained in:
Jens Langhammer
2020-09-26 01:51:42 +02:00
parent 5d46c1ea5a
commit e104c74761
19 changed files with 49 additions and 51 deletions

View File

@ -3,7 +3,9 @@ from typing import Any, Dict
from django.contrib import messages
from django.contrib.messages.views import SuccessMessageMixin
from django.db.models import QuerySet
from django.http import Http404
from django.http.request import HttpRequest
from django.views.generic import DeleteView, ListView, UpdateView
from passbook.lib.utils.reflection import all_subclasses
@ -69,3 +71,12 @@ class InheritanceUpdateView(UpdateView):
.select_subclasses()
.first()
)
class UserPaginateListMixin:
"""Get paginate_by value from user's attributes, defaulting to 15"""
request: HttpRequest
def get_paginate_by(self, queryset: QuerySet) -> int:
return self.request.user.attributes.get("paginate_by", 15)