Merge branch 'feature/preview-news' into 'develop'
Added new route preview/slug/<slug>/ See merge request gm/gm-backend!219
This commit is contained in:
commit
4ae40dc78d
|
|
@ -179,6 +179,26 @@ class NewsDetailWebSerializer(NewsDetailSerializer):
|
|||
return NewsSimilarListSerializer(obj.should_read(self.context['request'].user), many=True, read_only=True).data
|
||||
|
||||
|
||||
class NewsPreviewWebSerializer(NewsDetailSerializer):
|
||||
"""News preview serializer for web users.."""
|
||||
|
||||
same_theme = SerializerMethodField()
|
||||
agenda = AgendaSerializer()
|
||||
banner = NewsBannerSerializer()
|
||||
|
||||
class Meta(NewsDetailSerializer.Meta):
|
||||
"""Meta class."""
|
||||
|
||||
fields = NewsDetailSerializer.Meta.fields + (
|
||||
'same_theme',
|
||||
'agenda',
|
||||
'banner',
|
||||
)
|
||||
|
||||
def get_same_theme(self, obj):
|
||||
return NewsSimilarListSerializer(obj.same_theme(self.context['request'].user), many=True, read_only=True).data
|
||||
|
||||
|
||||
class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
|
||||
"""News back office base serializer."""
|
||||
is_published = serializers.BooleanField(source='is_publish', read_only=True)
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@ common_urlpatterns = [
|
|||
path('slug/<slug:slug>/', views.NewsDetailView.as_view(), name='rud'),
|
||||
path('slug/<slug:slug>/favorites/', views.NewsFavoritesCreateDestroyView.as_view(),
|
||||
name='create-destroy-favorites'),
|
||||
path('preview/slug/<slug:slug>/', views.NewsPreviewView.as_view(), name='preview'),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -70,6 +70,18 @@ class NewsDetailView(NewsMixinView, generics.RetrieveAPIView):
|
|||
return qs
|
||||
|
||||
|
||||
class NewsPreviewView(NewsMixinView, generics.RetrieveAPIView):
|
||||
"""News preview view."""
|
||||
|
||||
lookup_field = None
|
||||
serializer_class = serializers.NewsPreviewWebSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
"""Override get_queryset method."""
|
||||
qs = models.News.objects.all().annotate_in_favorites(self.request.user)
|
||||
return qs
|
||||
|
||||
|
||||
class NewsTypeListView(generics.ListAPIView):
|
||||
"""NewsType list view."""
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user