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

fix articles page adding

parent 2b8d1544
No related branches found
No related tags found
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 register or to comment