# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from django.db import models, transaction
import catalogue.models
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from django.db import models, transaction
import catalogue.models
from sorl.thumbnail import ImageField
from django.conf import settings
from django.contrib.contenttypes.fields import GenericRelation
from django.core.files.storage import FileSystemStorage
from sorl.thumbnail import ImageField
from django.conf import settings
from django.contrib.contenttypes.fields import GenericRelation
from django.core.files.storage import FileSystemStorage
from slugify import slugify
from ssify import flush_ssi_includes
from catalogue.models.tag import prefetched_relations
from catalogue.utils import split_tags
from picture import tasks
from slugify import slugify
from ssify import flush_ssi_includes
from catalogue.models.tag import prefetched_relations
from catalogue.utils import split_tags
from picture import tasks
area = jsonfield.JSONField(_('area'), default={}, editable=False)
kind = models.CharField(
_('kind'), max_length=10, blank=False, null=False, db_index=True,
area = jsonfield.JSONField(_('area'), default={}, editable=False)
kind = models.CharField(
_('kind'), max_length=10, blank=False, null=False, db_index=True,
def related_themes(self):
return catalogue.models.Tag.objects.usage_for_queryset(
self.areas.all(), counts=True).filter(category__in=('theme', 'thing'))
def flush_includes(self, languages=True):
def related_themes(self):
return catalogue.models.Tag.objects.usage_for_queryset(
self.areas.all(), counts=True).filter(category__in=('theme', 'thing'))
def flush_includes(self, languages=True):