o
    6k~i                     @   s   d dl mZmZ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 ddlmZ dd	lmZ d d
lmZ d dlmZ G dd dejZdS )    )viewsetsstatusfilters)action)Response)IsAuthenticatedOrReadOnlyIsAuthenticated)DjangoFilterBackend)timezone   )AdAdSerializer)IsSuperAdmin)StandardResultsSetPaginationc                       s~   e Zd ZdZegZeZee	j
e	jgZddgZddgZg dZddgZd	d
 Zdd Z fddZeddgddd Z  ZS )	AdViewSetz
Ad ViewSet	is_activeaction_typetitlesubtitle)priority
start_dateend_date
created_at	-priority-created_atc                 C   s   t S )Nr   self r   ./var/www/newdalilibackend/backend/ads/views.pyget_serializer_class   s   zAdViewSet.get_serializer_classc                 C   s0   t j }| jdkrt }|jd||d}|S )NlistTr   start_date__lteend_date__gte)r   objectsallr   r
   nowfilter)r   querysetr'   r   r   r   get_queryset   s   

zAdViewSet.get_querysetc                    s    | j dv rt t gS t  S )N)createupdatepartial_updatedestroy)r   r   r   superget_permissionsr   	__class__r   r   r0   (   s   

zAdViewSet.get_permissionsFget)detailmethodsc                 C   s:   t  }tjjd||ddd}| j|dd}t|jS )zGet all active adsTr"   r   r   )many)	r
   r'   r   r%   r(   order_byget_serializerr   data)r   requestr'   ads
serializerr   r   r   active-   s   
zAdViewSet.active)__name__
__module____qualname____doc__r   permission_classesr   pagination_classr	   r   SearchFilterOrderingFilterfilter_backendsfilterset_fieldssearch_fieldsordering_fieldsorderingr    r*   r0   r   r=   __classcell__r   r   r1   r   r      s    r   N)rest_frameworkr   r   r   rest_framework.decoratorsr   rest_framework.responser   rest_framework.permissionsr   r   django_filters.rest_frameworkr	   django.utilsr
   modelsr   serializersr   common.permissionsr   common.paginationr   ModelViewSetr   r   r   r   r   <module>   s    