Rename BaseFeed fields
This commit is contained in:
+32
-24
@@ -83,28 +83,31 @@ class TagSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class FeedSerializer(serializers.ModelSerializer):
|
||||
tag_id = serializers.PrimaryKeyRelatedField(
|
||||
many=True, source="tags", queryset=Tag.objects.all()
|
||||
tagId = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Tag.objects.all(),
|
||||
many=True,
|
||||
write_only=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Feed
|
||||
fields = (
|
||||
"id",
|
||||
"tags",
|
||||
"tag_id",
|
||||
"visible",
|
||||
"image",
|
||||
"title_fi",
|
||||
"title_en",
|
||||
"description_fi",
|
||||
"description_en",
|
||||
"content_fi",
|
||||
"content_en",
|
||||
"publish_time",
|
||||
"autohide",
|
||||
"autohide_enabled",
|
||||
"image",
|
||||
"tags",
|
||||
"tagId",
|
||||
"isPublished",
|
||||
"publishAt",
|
||||
"autoUnpublish",
|
||||
"unpublishAt",
|
||||
)
|
||||
read_only_fields = ["tags"]
|
||||
depth = 1
|
||||
|
||||
def create(self, validated_data):
|
||||
@@ -117,10 +120,10 @@ class FeedSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class EventSerializer(serializers.ModelSerializer):
|
||||
signupForm = SignupFormSerializer(
|
||||
source="filtered_signup_forms",
|
||||
tagId = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Tag.objects.all(),
|
||||
many=True,
|
||||
read_only=True,
|
||||
write_only=True,
|
||||
)
|
||||
|
||||
signup_id = serializers.PrimaryKeyRelatedField(
|
||||
@@ -128,26 +131,30 @@ class EventSerializer(serializers.ModelSerializer):
|
||||
many=True,
|
||||
write_only=True,
|
||||
)
|
||||
tag_id = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Tag.objects.all(),
|
||||
|
||||
signupForm = SignupFormSerializer(
|
||||
source="filtered_signup_forms",
|
||||
many=True,
|
||||
write_only=True,
|
||||
read_only=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Event
|
||||
fields = (
|
||||
"id",
|
||||
"tag_id",
|
||||
"tags",
|
||||
"visible",
|
||||
"image",
|
||||
"title_fi",
|
||||
"title_en",
|
||||
"description_fi",
|
||||
"description_en",
|
||||
"content_fi",
|
||||
"content_en",
|
||||
"image",
|
||||
"tags",
|
||||
"tagId",
|
||||
"isPublished",
|
||||
"publishAt",
|
||||
"autoUnpublish",
|
||||
"unpublishAt",
|
||||
"start_time",
|
||||
"end_time",
|
||||
"location_fi",
|
||||
@@ -160,7 +167,7 @@ class EventSerializer(serializers.ModelSerializer):
|
||||
|
||||
def create(self, validated_data):
|
||||
signupForms = validated_data.pop("signup_id", [])
|
||||
tags = validated_data.pop("tag_id")
|
||||
tags = validated_data.pop("tagId")
|
||||
event = Event.objects.create(**validated_data)
|
||||
for form in signupForms:
|
||||
event.signupForm.add(form)
|
||||
@@ -171,7 +178,7 @@ class EventSerializer(serializers.ModelSerializer):
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
signupForms = validated_data.pop("signup_id", [])
|
||||
tags = validated_data.pop("tag_id")
|
||||
tags = validated_data.pop("tagId")
|
||||
instance.signupForm.clear()
|
||||
instance.tags.clear()
|
||||
for form in signupForms:
|
||||
@@ -193,7 +200,8 @@ class JobAdSerializer(serializers.ModelSerializer):
|
||||
"description_en",
|
||||
"content_fi",
|
||||
"content_en",
|
||||
"visible",
|
||||
"autohide",
|
||||
"autohide_enabled",
|
||||
"isPublished",
|
||||
"publishAt",
|
||||
"autoUnpublish",
|
||||
"unpublishAt",
|
||||
)
|
||||
|
||||
@@ -11,7 +11,11 @@ class TagTranslationOptions(TranslationOptions):
|
||||
|
||||
@register(BaseFeed)
|
||||
class BaseFeedTranslationOptions(TranslationOptions):
|
||||
fields = ("title", "description", "content")
|
||||
fields = (
|
||||
"title",
|
||||
"description",
|
||||
"content",
|
||||
)
|
||||
|
||||
|
||||
@register(Feed)
|
||||
|
||||
+15
-13
@@ -57,27 +57,27 @@ class FeedViewSet(ModelViewSet):
|
||||
serializer_class = FeedSerializer
|
||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||
filter_fields = ("id", "tags", "visible")
|
||||
search_fields = ("id", "tags", "visible")
|
||||
filter_fields = ("id", "tags", "isPublished")
|
||||
search_fields = ("id", "tags", "isPublished")
|
||||
|
||||
def get_queryset(self):
|
||||
if self.request.user.is_authenticated:
|
||||
return Feed.objects.filter(deleted=False).order_by("-publish_time")
|
||||
return Feed.objects.filter(deleted=False).order_by("-publishAt")
|
||||
else:
|
||||
objs = Feed.objects.filter(deleted=False, visible=True).order_by(
|
||||
"-publish_time"
|
||||
objs = Feed.objects.filter(deleted=False, isPublished=True).order_by(
|
||||
"-publishAt"
|
||||
)
|
||||
|
||||
# TODO: Bad filtering. Rewrite!
|
||||
result_ids = []
|
||||
for obj in objs:
|
||||
if obj.autohide_enabled:
|
||||
if obj.autohide > timezone.now():
|
||||
if obj.autoUnpublish:
|
||||
if obj.unpublishAt > timezone.now():
|
||||
result_ids.append(obj.id)
|
||||
else:
|
||||
result_ids.append(obj.id)
|
||||
|
||||
return Feed.objects.filter(id__in=result_ids).order_by("-publish_time")
|
||||
return Feed.objects.filter(id__in=result_ids).order_by("-publishAt")
|
||||
|
||||
def destroy(self, request, pk=None, *args, **kwargs):
|
||||
try:
|
||||
@@ -95,8 +95,8 @@ class EventViewSet(ModelViewSet):
|
||||
serializer_class = EventSerializer
|
||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||
filter_backends = (filters.DjangoFilterBackend, SearchFilter, OrderingFilter)
|
||||
filter_fields = ("id", "tags", "visible", "signupForm")
|
||||
search_fields = ("id", "tags", "visible", "signupForm")
|
||||
filter_fields = ("id", "tags", "isPublished", "signupForm")
|
||||
search_fields = ("id", "tags", "isPublished", "signupForm")
|
||||
|
||||
def get_queryset(self):
|
||||
|
||||
@@ -117,7 +117,9 @@ class EventViewSet(ModelViewSet):
|
||||
since = self.request.query_params.get("since", None)
|
||||
if since:
|
||||
return (
|
||||
Event.objects.filter(deleted=False, visible=True, end_time__gt=since)
|
||||
Event.objects.filter(
|
||||
deleted=False, isPublished=True, end_time__gt=since
|
||||
)
|
||||
.order_by("start_time")
|
||||
.prefetch_related(
|
||||
Prefetch(
|
||||
@@ -129,7 +131,7 @@ class EventViewSet(ModelViewSet):
|
||||
)
|
||||
return (
|
||||
Event.objects.filter(
|
||||
deleted=False, visible=True, end_time__gt=timezone.now()
|
||||
deleted=False, isPublished=True, end_time__gt=timezone.now()
|
||||
)
|
||||
.order_by("start_time")
|
||||
.prefetch_related(
|
||||
@@ -174,7 +176,7 @@ class JobAdViewSet(ModelViewSet):
|
||||
if self.request.user.is_authenticated:
|
||||
return JobAd.objects.filter(deleted=False)
|
||||
return JobAd.objects.filter(
|
||||
deleted=False, visible=True, autohide__gt=timezone.now()
|
||||
deleted=False, isPublished=True, unpublishAt__gt=timezone.now()
|
||||
)
|
||||
|
||||
def destroy(self, request, pk=None, *args, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user