-
Notifications
You must be signed in to change notification settings - Fork 238
Expand file tree
/
Copy pathsites.py
More file actions
31 lines (24 loc) · 944 Bytes
/
sites.py
File metadata and controls
31 lines (24 loc) · 944 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from django.conf import settings
from django.contrib.sites.models import Site
from django.db import models
from django.utils.translation import gettext_lazy as _
from feincms import extensions
from feincms.module.page.models import PageManager
def current_site(queryset):
return queryset.filter(site=Site.objects.get_current())
class Extension(extensions.Extension):
def handle_model(self):
self.model.add_to_class(
"site",
models.ForeignKey(
Site,
verbose_name=_("Site"),
default=settings.SITE_ID,
on_delete=models.CASCADE,
),
)
PageManager.add_to_active_filters(current_site, key="current_site")
def handle_modeladmin(self, modeladmin):
modeladmin.extend_list("list_display", ["site"])
modeladmin.extend_list("list_filter", ["site"])
modeladmin.add_extension_options("site")