You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
692 B
22 lines
692 B
from rest_framework.viewsets import ModelViewSet
|
|
|
|
from ..actions.update_cache import delete_polygon_batch_from_cache
|
|
from ..models import Provider, ServiceArea
|
|
from ..serializers import ProviderSerializer
|
|
|
|
|
|
class ProvidersViewSet(ModelViewSet):
|
|
serializer_class = ProviderSerializer
|
|
queryset = Provider.objects.all()
|
|
|
|
def destroy(self, request, *args, **kwargs):
|
|
provider_id = kwargs['pk']
|
|
|
|
service_area_qs = ServiceArea.objects.filter(provider_id=provider_id)
|
|
|
|
if service_area_qs.exists():
|
|
delete_polygon_batch_from_cache(service_area_qs)
|
|
_ = service_area_qs.delete()
|
|
|
|
return super(ProvidersViewSet, self).destroy(request)
|