Skip to content
Snippets Groups Projects
Verified Commit ea5d40a4 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch 'master' into 483-caching-issues

parents 755b8045 d6722497
No related branches found
No related tags found
1 merge request!747Resolve "Caching issues"
Pipeline #38248 failed
......@@ -14,6 +14,7 @@ Fixed
* Fix order of submit buttons in login form and restructure login template
to make 2FA work correctly.
* Fix page title bug on the impersonate page.
* Provide `style.css` and icon files without any authentication to avoid caching issues.
`2.0rc7`_ - 2021-10-18
......@@ -41,6 +42,7 @@ Added
* OpenID Connect scope and accompanying claim ``groups``
* Support config files in JSON format
* Allow apps to dynamically generate OAuth scopes
* Provide an ``ExtensiblePolymorphicModel`` to support the features of extensible models for polymorphic models and vice-versa.
Changed
~~~~~~~
......
......@@ -120,3 +120,7 @@ class InstalledWidgetsDashboardWidgetOrderManager(Manager):
# [obj["id"] for obj in list(Person.objects.all().values("id"))]
return super().get_queryset().filter(widget_id__in=dashboard_widget_pks)
class PolymorphicCurrentSiteManager(_CurrentSiteManager, PolymorphicManager):
"""Default manager for extensible, polymorphic models."""
......@@ -24,9 +24,16 @@ from guardian.admin import GuardedModelAdmin
from guardian.core import ObjectPermissionChecker
from jsonstore.fields import IntegerField, JSONFieldMixin
from material.base import Layout, LayoutNode
from polymorphic.base import PolymorphicModelBase
from polymorphic.managers import PolymorphicManager
from polymorphic.models import PolymorphicModel
from rules.contrib.admin import ObjectPermissionsModelAdmin
from aleksis.core.managers import CurrentSiteManagerWithoutMigrations, SchoolTermRelatedQuerySet
from aleksis.core.managers import (
CurrentSiteManagerWithoutMigrations,
PolymorphicCurrentSiteManager,
SchoolTermRelatedQuerySet,
)
class _ExtensibleModelBase(models.base.ModelBase):
......@@ -351,6 +358,22 @@ class ExtensibleModel(models.Model, metaclass=_ExtensibleModelBase):
abstract = True
class _ExtensiblePolymorphicModelBase(_ExtensibleModelBase, PolymorphicModelBase):
"""Base class for extensible, polymorphic models."""
class ExtensiblePolymorphicModel(
ExtensibleModel, PolymorphicModel, metaclass=_ExtensiblePolymorphicModelBase
):
"""Model class for extensible, polymorphic models."""
objects = PolymorphicCurrentSiteManager()
objects_all_sites = PolymorphicManager()
class Meta:
abstract = True
class PureDjangoModel(object):
"""No-op mixin to mark a model as deliberately not using ExtensibleModel."""
......
......@@ -4,9 +4,8 @@
{% extends "core/base.html" %}
{% load i18n %}
{% block page_title %}
{% blocktrans %}Impersonate user{% endblocktrans %}
{% endblock %}
{% block browser_title %}{% trans "Impersonate" %}{% endblock %}
{% block page_title %}{% trans "Impersonate" %}{% endblock %}
{% block content %}
{% if page.object_list %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment