
    +hP                         d dl Z d dlZd dl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mZ ddlmZmZ d d	lmZ d
 Zd Zd Zd Zd Zed        Zd Zed        Zy)    N)settings)JsonResponse)csrf_exemptstatus   )SchemeSerializerCategorySerializer)Schemes
Categories)Qc                     t         j                  j                  d      }t        |d      }t	        |j
                  t        j                  ddt        j                        S )Nr   r   Tmany)
categoriesr   Fsafer   )r   objectsfilterr
   r   datar   HTTP_200_OK)requestr   
serializers      //var/www/html/SAHYOG_SETU_ADMIN/schemes/apis.pyschemesServicesr      sM    ##**A*6J#JT:J
&BTBTU\ajpj|j|}}    c                     t         j                  j                  d|      }t        |d      }t	        |j
                  t        j                  ddt        j                        S )Nr   r   idFr   )categoryr   r   )r   r   getr
   r   r   r   r   )r   r   r    r   s       r   r    r       sO    !!%%qr%:H#H59Jjoo@R@RSZ_hnhzhz{{r   c                     t         j                  j                  dd|      }t        |d      }t	        |j
                  t        j                  ddt        j                        S )Nr   )r   scheme_typestate_idTr   schemesr   Fr   r   r   r   r	   r   r   r   r   )r   stater&   r   s       r   stateSchemesr)      sO    oo$$aqU$SG!'5JZ__v?Q?QRY^gmgygyzzr   c                     t         j                  j                  dd      }t        |d      }t	        |j
                  t        j                  ddt        j                        S )Nr   )r   business_relatedTr   r%   Fr   r'   )r   r&   r   s      r   businessRelatedSchemesr,      sM    oo$$aA$FG!'5JZ__v?Q?QRY^gmgygyzzr   c                     t         j                  j                  dd|      }t        |d      }t	        |j
                  t        j                  ddt        j                        S )	Nr   r   )r   r#   category_idTr   r%   Fr   r'   )r   r   r&   r   s       r   centralSchemesr/   $   sP    oo$$aqPR$SG!'5JZ__v?Q?QRY^gmgygyzzr   c                    t        j                  | j                        }t        j                  j                  d|d         }|d   r|j                  |d         }|d   r|j                  |d         }|d   r|j                  |d   	      }|d
   r+|j                  t        |d
         t        d      z        }|d   r|j                  d|d   z   dz   g      }|d   r|j                  d|d   z   dz   g      }|d   r|j                  d|d   z   dz   g      }|d   r|j                  d|d   z   dz   g      }|d   r|j                  d|d   z   dz   g      }|d   r|j                  |d         }|d   r|j                  |d         }|d   r|j                  |d         }|d   r|j                  |d   |d          }|d!   r|j                  |d!   |d!   "      }|d#   r|j                  |d#   $      }t        |d%&      }t        |j                  t        j                  d'd(t        j                  )      S )*Nr   r#   r   r#   r    )r.   r(   r$   dbt)r3   divyang_categorydivyang   beneficiaryFIND_IN_SET(, benificiaries)wherecaste	, castes)gender, scheme_for)marital_status, marital_status)religion, religions)areascheme_areas__area
employmentscheme_employment__employment
occupation!scheme_occupations__occupation_idage)age_min__lteage_max__gtefamily_incomeincome_min__lteincome_max__gtesearched_text)title__icontainsTr   r%   Fr   jsonloadsbodyr   r   r   r   extrar	   r   r   r   r   )r   request_datar&   r   s       r   searchSchemesr]   *   s   ::gll+Loo$$a|M?Z$[GJ..|J/G.HG..L,A.BE..|E':.; &'..\:L-M!NQR]^Q_!_`M"--~l=6Q'QRd'd&e-fG--~l76K'KK'W&X-YH--~l86L'L_'\&]-^$%--~lCS6T'TUh'h&i-jJ--~l:6N'N~']&^-_F..l66J.KL!..lA[.\L!..\R^E_.`E..U0CT`afTg.hO$..<3Pdp  rA  eB.  CO$..L4Q.R!'5JZ__v?Q?QRY^gmgygyzzr   c                 T   	 t         j                  j                  d|      }t        |d      }t	        |j
                  t        j                  ddt        j                        S # t        $ r7}t	        dt        j                  ddt        j                        cY d }~S d }~ww xY w)	Nr   r   Fr   )schemer   r   zInvalid scheme id)messager   )
r   r   r!   r	   r   r   r   r   	ExceptionHTTP_400_BAD_REQUEST)r   r   r_   r   es        r   r_   r_   a   s    U$$ab$9%f59

&BTBTU\ajpj|j|}} U)<vGbGbcjox~  yT  yT  U  	UUs   A$A' '	B'0,B"B'"B'c                 P   t        j                  | j                        }t        j                  j                  dd      }t        j                  j                  dd      }|d   r|j                  |d         }|d   r2|j                  |d   |d         }|j                  |d   |d         }|d   rV|j                  t        |d   	      t        d
	      z        }|j                  t        |d   	      t        d
	      z        }|d   r8|j                  d|d   z   dz   g      }|j                  d|d   z   dz   g      }|d   r8|j                  d|d   z   dz   g      }|j                  d|d   z   dz   g      }|d   r8|j                  d|d   z   dz   g      }|j                  d|d   z   dz   g      }|d   r8|j                  d|d   z   dz   g      }|j                  d|d   z   dz   g      }|d   r8|j                  d|d   z   dz   g      }|j                  d|d   z   dz   g      }|d   r*|j                  |d         }|j                  |d         }|d   r*|j                  |d         }|j                  |d         }|d   r*|j                  |d         }|j                  |d         }t        |d      }t        |d      }t        |j                  |j                  t        j                  dd t        j                  !      S )"Nr   r1   r   r(   r2   rQ   rR   r4   r5   r7   r8   r9   r:   r;   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rH   rI   rK   rL   Tr   )state_schemescentral_schemesr   Fr   rW   )r   r\   re   rf   state_serializercentral_serializers         r   checkEligibilityri   k   s   ::gll+LOO**AQ*GMoo,,aq,IOG%,,W8M,NO$%,,|O?\p|  ~M  qN,  O)00<P_C`  uA  BQ  uR0  S&'%,,QFX9Y-Z]^ij]k-kl)00\J\=]1^abmnao1opM"%++>,}B]3]^p3p2q+r)//~lS`Fa7abt7t6u/vG%++>,wBW3WXc3c2d+e)//~lSZF[7[\g7g6h/iH%++>,xBX3XYh3h2i+j)//~lS[F\7\]l7l6m/n$%%++>,O_B`3`at3t2u+v)//~lScFd7dex7x6y/zJ%++>,zBZ3Z[i3i2j+k)//~lS]F^7^_m7m6n/oF%,,,vBV,W)00lSYFZ0[L!%,,\ZfMg,h)00Q]^jQk0lL!%,,Q]^jQk,l)00UabnUo0p'DA)/E+;+@+@VhVmVmx~  yK  yK  L  SX  ag  as  as  t  tr   )datetimerX   randomdjango.confr   django.httpr   django.views.decorators.csrfr   rest_frameworkr   serializersr	   r
   modelsr   r   django.db.modelsr   r   r    r)   r,   r/   r]   r_   ri    r   r   <module>rt      st         $ 4 ! = ' ~
|{{{ 3{ 3{lU 2t 2tr   