
    IrUi                         d dl mZ d dlmZ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 d d
lmZ  G d dej,                        Zy)    )OrderedDict)viewsetsstatus)SearchFilterOrderingFilter)Response)DjangoFilterBackend)OurLimitOffsetPagination)BDCProgressSerializer)BDCProgressService)BookingIntentFilterCompanyPermissionc                   @    e Zd ZeZeeegZe	Z
ddgZg dZdgZd Zd Zy)BDCProgressViewSetfrom_numbercustomer_name)	
created_atr   r   transfer_numberbooking_intentbooking_datetime	sentimentdurationcostz-created_atc                     t        d      gS )Nview_bdc_progressr   )selfs    F/var/www/html/dp2/backend_v2.1/server/apps/calls/views/bdc_progress.pyget_permissionsz"BDCProgressViewSet.get_permissions%   s    !"5677    c                 Z   |j                   }|j                  r;|j                  j                  dd       }|s{t	        ddit
        j                        S |j                  st	        ddit
        j                        S |j                  j                  }|st	        ddit
        j                        S |j                  }t        j                  ||      }| j                  |      }t        j                  |      }| j                  |      }t        |d      }| j                  |j                         }	t#        d	|	j                   d	   fd
|	j                   d
   fd|	j                   d   fd|d   fd|d   fd|d   fd|d   fd|d   fd|d   fd|	j                   d   fg
      }
t	        |
      S )N
bdc_numberdetailz$Please provide bdc_number parameter.)r   z!User must have an active company.z3Your company does not have a BDC number configured.T)manycountnextprevioustotal_callsrecieved_callsreceived_callscalls_missed	schedulednot_scheduled
percentageresults)useris_superuserquery_paramsgetr   r   HTTP_400_BAD_REQUESTactive_companyr"   r   fetch_callsfilter_queryset	get_statspaginate_querysetr   get_paginated_responsedatar   )r   requestr0   r"   companyquerysetstatspage
serializer	paginatedordered_responses              r   listzBDCProgressViewSet.list(   s   || --11,EJEF!66 
 &&BC!66 
 ,,77JTU!66 
 %%%11'7C''1",,X6%%h/*4d;
//
@	&innW-.Y^^F+,
34E-01u%567U>23%,-eO455./	y12(
  ())r    N)__name__
__module____qualname__r
   pagination_classr	   r   r   filter_backendsr   filterset_classsearch_fieldsordering_fieldsorderingr   rD    r    r   r   r      s@    /*L.IO)OM
O H83*r    r   N)collectionsr   rest_frameworkr   r   rest_framework.filtersr   r   rest_framework.responser   django_filters.rest_frameworkr	   utils.paginationsr
   apps.calls.serializersr   apps.calls.servicesr   apps.calls.filtersr   apps.permissions.permissionsr   GenericViewSetr   rN   r    r   <module>rZ      s7    # + ? , = 6 8 2 2 :L*00 L*r    