Skip to content
Snippets Groups Projects
Commit de34baa8 authored by Alexa Valentová's avatar Alexa Valentová
Browse files

fix articles page adding

parent 2b8d1544
Branches
Tags
2 merge requests!1131Release,!1130Minor bugfixes
Pipeline #19651 passed
......@@ -32,6 +32,7 @@ class Command(BaseCommand):
self.stdout.write("Updating calendars...")
for cal in Calendar.objects.all():
self.stdout.write(f"\n@ {cal.id} | {cal.url}")
try:
cal.update_source()
self.stdout.write("+ ok")
......
......@@ -84,3 +84,7 @@ class DistrictArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
.order_by("name")
.distinct("name")
)
else:
self.fields["shared_tags"].queryset = DistrictArticleTag.objects.filter(id=-1)
self.fields["displayed_tags"].queryset = DistrictArticleTag.objects.filter(id=-1)
self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
......@@ -45,9 +45,21 @@ class ElectionsArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
.values_list("tag_id", flat=True)
.distinct()
)
valid_shared_tag_ids = (
self.instance.shared_tags.values_list("id", flat=True).distinct().all()
)
self.fields["displayed_tags"].queryset = (
ElectionsArticleTag.objects.filter(id__in=valid_tag_ids)
.order_by("tag__name")
.distinct("tag__name")
)
self.fields["displayed_shared_tags"].queryset = (
SharedTag.objects.filter(id__in=valid_shared_tag_ids)
.order_by("name")
.distinct("name")
)
else:
self.fields["shared_tags"].queryset = ElectionsArticleTag.objects.filter(id=-1)
self.fields["displayed_tags"].queryset = ElectionsArticleTag.objects.filter(id=-1)
self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
......@@ -45,9 +45,21 @@ class MainArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
.values_list("tag_id", flat=True)
.distinct()
)
valid_shared_tag_ids = (
self.instance.shared_tags.values_list("id", flat=True).distinct().all()
)
self.fields["displayed_tags"].queryset = (
MainArticleTag.objects.filter(id__in=valid_tag_ids)
.order_by("tag__name")
.distinct("tag__name")
)
self.fields["displayed_shared_tags"].queryset = (
SharedTag.objects.filter(id__in=valid_shared_tag_ids)
.order_by("name")
.distinct("name")
)
else:
self.fields["shared_tags"].queryset = MainArticleTag.objects.filter(id=-1)
self.fields["displayed_tags"].queryset = MainArticleTag.objects.filter(id=-1)
self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
\ No newline at end of file
......@@ -77,15 +77,18 @@ class TagModelChoiceField(ModelMultipleChoiceField):
return obj.tag.name
from taggit.models import Tag
class ArticlesPageForm(ClusterForm):
displayed_tags = TagModelChoiceField(
queryset=None,
queryset=Tag.objects.filter(id=-1),
required=False,
label="Z tohoto webu",
widget=CheckboxSelectMultiple,
)
displayed_shared_tags = ModelMultipleChoiceField(
queryset=None,
queryset=Tag.objects.filter(id=-1),
required=False,
label="Sdílecí",
help_text=(
......@@ -96,7 +99,7 @@ class ArticlesPageForm(ClusterForm):
)
shared_tags = ModelMultipleChoiceField(
queryset=None,
queryset=Tag.objects.filter(id=-1),
required=False,
label="Štítky pro sdílení mezi weby",
help_text="Články z ostatních webů se štítky, které vybereš, se ukážou na tomto webu.",
......
from wagtail.admin.forms import WagtailAdminPageForm
from django.forms.models import ModelChoiceIterator
from shared.forms import ArticlesPageForm as SharedArticlesPageForm
......@@ -24,13 +25,10 @@ class UniwebHomePageAdminForm(WagtailAdminPageForm):
class UniwebArticlesPageForm(SharedArticlesPageForm, WagtailAdminPageForm):
def __init__(self, *args, **kwargs):
from shared.models import SharedTag
from .models import UniwebArticleTag
super().__init__(*args, **kwargs)
self.fields["shared_tags"].queryset = SharedTag.objects.order_by("name")
if self.instance.pk:
valid_tag_ids = (
UniwebArticleTag.objects.filter(
......@@ -39,9 +37,21 @@ class UniwebArticlesPageForm(SharedArticlesPageForm, WagtailAdminPageForm):
.values_list("id", flat=True)
.distinct()
)
valid_shared_tag_ids = (
self.instance.shared_tags.values_list("id", flat=True).distinct().all()
)
self.fields["displayed_tags"].queryset = (
UniwebArticleTag.objects.filter(id__in=valid_tag_ids)
.order_by("tag__name")
.distinct("tag__name")
)
self.fields["displayed_shared_tags"].queryset = (
SharedTag.objects.filter(id__in=valid_shared_tag_ids)
.order_by("name")
.distinct("name")
)
else:
self.fields["shared_tags"].queryset = UniwebArticleTag.objects.filter(id=-1)
self.fields["displayed_tags"].queryset = UniwebArticleTag.objects.filter(id=-1)
self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment