
    W8i                     >    d dl mZ d dlmZ d dlmZ  G d de      Zy)    )Response)TRANSFER_STATUS)OurLimitOffsetPaginationc                   &     e Zd Zd fd	Zd Z xZS )CallBDCLimitOffsetPaginationc                 v    || _         |j                  d      | _        t        |   | j                   ||      S )N   booking_intent)full_querysetfilterscheduled_querysetsuperpaginate_queryset)selfquerysetrequestview	__class__s       R/var/www/html/dp2/backend_v2.1/server/apps/calls/pagination/bdc_call_pagination.pyr   z.CallBDCLimitOffsetPagination.paginate_queryset	   s8    %"*///"Cw(););WdKK    c                    | j                   j                         }| j                   j                  t        j                  j
                        j                         }| j                   j                  t        j                  j
                        j                         }| j                   j                  t        j                  j
                        j                         }| j                   j                  d      j                         }| j                   j                  d      j                         }dddd}|dkD  rTt        ||z  dz  d      |d<   t        ||z  dz  d      |d	<   t        ||z  dz  d      |d
<   t        ||z  dz  d      |d<   t        | j                  | j                         | j                         |||||||d
      S )N)transfer_statusr	   r
   r   )calls_missed	schedulednot_scheduledd      r   calls_receivedr   r   )
countnextprevioustotal_callsrecieved_callsr   r   r   
percentageresults)r   r    r   r   
SUCCESSFULvalueFAILEDroundr   get_next_linkget_previous_link)	r   datar#   r$   r   r   r   r   r%   s	            r   get_paginated_responsez3CallBDCLimitOffsetPagination.get_paginated_response   s   ((..0++22+66<< 3 

%' 	 ))00+2288 1 

%' 	 ++22+66<< 3 

%' 	 &&--Q-?EEG	**111CIIK&'a!L
?).{0Jc/QST)UJ~&+0.;2NRU1UWX+YJ'(&+Y-D,KQ&OJ{#*/1LPS0SUV*WJ'ZZ&&(..0&,("*$
  	r   )N)__name__
__module____qualname__r   r.   __classcell__)r   s   @r   r   r      s    L r   r   N)rest_framework.responser   apps.calls.constantsr   utils.paginationsr   r    r   r   <module>r7      s    , 0 6(#; (r   