
    ii+                         d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZ d d	lmZ  G d
 dej,                        Z G d dej,                        Zy)    )viewsetsstatus)action)Response)IsAuthenticated)SearchFilterOrderingFilter)DjangoFilterBackend)CarStockCarImage)CarStockSerializerCarImageSerializer)LimitOffsetPaginationc                   f    e Zd ZeZegZeZe	e
egZg dZg dZd Zd Z eddgd      dd
       Zy	)CarStockViewSet)vinstock_numbermakemodelyearcolor)pricemileager   
created_atc                 `    t         j                  j                  d      j                  d      S )NT)	is_activeimages)r   objectsfilterprefetch_related)selfs    G/var/www/html/dp2/backend_v2.1/server/apps/car_stock/views/car_stock.pyget_querysetzCarStockViewSet.get_queryset!   s'    VdV#h'	
    c                 2    d|_         |j                          y)zG
        Soft delete instead of real delete (enterprise safe).
        FN)r   save)r!   instances     r"   perform_destroyzCarStockViewSet.perform_destroy(   s     #r$   Tpostr   )detailmethodsurl_pathNc                 &   | j                         }t        |j                        }|j                         r7|j	                  |       t        |j                  t        j                        S t        |j                  t        j                        S )zX
        POST /api/car-stock/{id}/images/
        Upload a new image for a car.
        )data)car)r   )

get_objectr   r.   is_validr&   r   r   HTTP_201_CREATEDerrorsHTTP_400_BAD_REQUEST)r!   requestpkr/   
serializers        r"   upload_imagezCarStockViewSet.upload_image/   sh     oo'W\\:
 OOO$JOOF4K4KLL
))&2M2MNNr$   )N)__name__
__module____qualname__r   serializer_classr   permission_classesr   pagination_classr
   r   r	   filter_backendssearch_fieldsordering_fieldsr#   r(   r   r8    r$   r"   r   r      s\    ))*,*L.IOMO
 4&H=
O >
Or$   r   c                   N    e Zd ZdZej
                  j                         ZeZ	e
gZy)CarImageViewSetz,
    DELETE /api/car-stock/images/{id}/
    N)r9   r:   r;   __doc__r   r   allquerysetr   r<   r   r=   rB   r$   r"   rD   rD   <   s,     ##%H))*r$   rD   N)rest_frameworkr   r   rest_framework.decoratorsr   rest_framework.responser   rest_framework.permissionsr   rest_framework.filtersr   r	   django_filters.rest_frameworkr
   apps.car_stock.modelsr   r   apps.car_stock.serializersr   r   utils.paginationsr   ModelViewSetr   rD   rB   r$   r"   <module>rR      sG    + , , 6 ? = 4 M 3-Oh++ -O^+h++ +r$   