get partners by establishment
This commit is contained in:
parent
0e7fd39d37
commit
0261deb5df
|
|
@ -1,13 +1,13 @@
|
|||
"""Back account serializers"""
|
||||
from rest_framework import serializers
|
||||
from partner.models import Partner
|
||||
from partner.models import Partner, PartnerToEstablishment
|
||||
from establishment.serializers import EstablishmentShortSerializer
|
||||
from location.serializers import CountrySimpleSerializer
|
||||
from location.models import Country
|
||||
|
||||
|
||||
class BackPartnerSerializer(serializers.ModelSerializer):
|
||||
establishments = EstablishmentShortSerializer(many=True, read_only=True, source='establishment')
|
||||
# establishments = EstablishmentShortSerializer(many=True, read_only=True, source='establishment')
|
||||
country = CountrySimpleSerializer(read_only=True)
|
||||
type_display = serializers.CharField(read_only=True)
|
||||
country_id = serializers.PrimaryKeyRelatedField(
|
||||
|
|
@ -30,13 +30,39 @@ class BackPartnerSerializer(serializers.ModelSerializer):
|
|||
'price_per_month',
|
||||
'country',
|
||||
'country_id',
|
||||
'establishments',
|
||||
# 'establishments',
|
||||
)
|
||||
extra_kwargs = {
|
||||
'type': {'write_only': True},
|
||||
}
|
||||
|
||||
|
||||
class PartnersForEstablishmentSerializer(serializers.ModelSerializer):
|
||||
id = serializers.IntegerField(source='partner.pk')
|
||||
name = serializers.CharField(source='partner.name')
|
||||
type = serializers.IntegerField(source='partner.type')
|
||||
type_display = serializers.CharField(source='partner.type_display')
|
||||
starting_date = serializers.DateField(source='partner.starting_date')
|
||||
expiry_date = serializers.DateField(source='partner.expiry_date')
|
||||
price_per_month = serializers.DecimalField(source='partner.price_per_month', max_digits=10, decimal_places=2)
|
||||
country = CountrySimpleSerializer(read_only=True, source='partner.country')
|
||||
|
||||
class Meta:
|
||||
model = PartnerToEstablishment
|
||||
fields = (
|
||||
'id',
|
||||
'name',
|
||||
'type',
|
||||
'type_display',
|
||||
'starting_date',
|
||||
'expiry_date',
|
||||
'price_per_month',
|
||||
'country',
|
||||
'url',
|
||||
'image',
|
||||
)
|
||||
|
||||
|
||||
class PartnerPicturesSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ app_name = 'partner'
|
|||
urlpatterns = [
|
||||
path('', views.PartnerLstView.as_view(), name='partner-list-create'),
|
||||
path('<int:id>/', views.PartnerRUDView.as_view(), name='partner-rud'),
|
||||
path('for_establishment/<int:establishment_id>/', views.EstablishmentPartners.as_view(), name='partners-for-establishment'),
|
||||
path('pictures/<int:id>/', views.PartnerPicturesListView.as_view(), name='partner-pictures-get'),
|
||||
# path('bind/<int:partner_id>/<int:establishment_id>/', views.BindPartnerToEstablishmentView.as_view(),
|
||||
# name='bind-partner-to-establishment'),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from rest_framework import generics, permissions
|
||||
|
||||
from partner import filters
|
||||
from partner.models import Partner
|
||||
from partner.models import Partner, PartnerToEstablishment
|
||||
from partner.serializers import back as serializers
|
||||
from utils.permissions import IsEstablishmentManager
|
||||
|
||||
|
|
@ -18,6 +18,17 @@ class PartnerLstView(generics.ListCreateAPIView):
|
|||
filter_class = filters.PartnerFilterSet
|
||||
|
||||
|
||||
class EstablishmentPartners(generics.ListAPIView):
|
||||
queryset = PartnerToEstablishment.objects.all()
|
||||
serializer_class = serializers.PartnersForEstablishmentSerializer
|
||||
pagination_class = None
|
||||
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
|
||||
# filter_class = filters.PartnerFilterSet
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(establishment=self.kwargs['establishment_id'])
|
||||
|
||||
|
||||
class PartnerRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||
"""Partner RUD view."""
|
||||
queryset = Partner.objects.with_base_related()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user