o
    ôUËdGª ã                   @   s   d dl mZ d dlT 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mZmZ d dlZd dlmZ d dlZd dlmZ d dlmZ d dlmZ d dlZd dlZd dl T d dl!m"Z" d dl#m$Z$ d dl%Z%d dl&T d dl'Z'd dl(m)Z) G dd„ dee	ƒZ*dd„ Z+G dd„ dee	ƒZ,dd„ Z-dd„ Z.G dd„ dee	ƒZ/G dd „ d ee	ƒZ0d!d"„ Z1d#d$„ Z2d%d&„ Z3d'd(„ Z4d)d*„ Z5dS )+é    )Úrender)Ú*)Úredirectr   )Úservice_account)ÚLoginRequiredMixin)ÚView)Úbuild)Úmessages)ÚQ)ÚDRIVE_IMAGE_PATHÚMAP_API_KEYÚ
MEDIA_ROOTN)Ú	Paginator)ÚJsonResponse)Úget_company_data)ÚHttpResponse)ÚWorkbook)ÚFont)Úparsec                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú	AddImagesc                 C   sœ   t j ¡  dd¡ d¡}tj ¡  dd¡ d¡}tj ¡  dd¡ d¡}g }g }g }g }g }	tj ¡  dd¡ d¡}
||||||||
dtƒ dœ
}t	|d|ƒS )NÚnameÚidÚorder_byzUpload Data)
Ú	countriesÚstatesÚ	districtsÚsubdistrictsÚcitiesÚareasÚsubareasÚstatusesÚtitleÚcompany_dataú menu/master/images/addimage.html)
ÚCountryMasterÚobjectsÚallÚvaluesr   ÚStateMasterÚSubAreaMasterÚStatusMasterr   r   )ÚselfÚrequestr   r   r   r   r   r   r   Úsubaresr    Úcontext© r/   ú3/var/www/html/prime-uav/Admin/UploadImages/views.pyÚget    s   zAddImages.getc                 C   s8  |j dkr˜tjj|jjd d¡}|j d¡}t	jj|d}|j d¡}t
jj|d}|j d¡}tjj|d}|j d¡}tjj|d}|j d¡}tjj|d}|j d	¡}tjj|d}|d
krfd }|j d¡}	|j d¡}
|j d¡}|j d¡}|d
krŽ|d
krŽ|d
krŽ|d
krŽ|
d
krŽ|d
krŽ|d
krŽ|	d
krŽ| d¡d  d¡d }tj d¡}tdd|d}d |¡}| ¡ j|ddd ¡  dg ¡}|rud}|D ]™}| ¡ j|d dd ¡ }d|v rp|d }d|d v rtj |d d d¡}d |d v rk|d d  d! }|d d  d" }|d d  d# }tjjd<i d$d%“d&|“d'|“d(|“d)|“d*|“d+|“d,|“d-|
“d.|d “d/|“d0|“d!|“d"|“d#|“d1|“d|	“d2d%“d3|d d “Ž}qÛ|d% }qÛ|d% }qÛ|rŠd4|› d5}tj||d6d7 td8ƒS td9ƒS t |d:¡ td8ƒS td;ƒS )=NÚPOST©r   r   Ú
user_stateÚuser_districtÚuser_subdistrictÚ	user_cityÚ	user_areaÚsubareaÚ ÚroundÚ
datepickerÚdriveÚsurvey_areaú/éÿÿÿÿú?r   zD/var/www/html/prime-uav/Admin/verdant-rider-387810-f3f9eae56e73.jsonÚv3)Úcredentialsz!'{}' in parents and trashed=falseT)ÚqÚincludeItemsFromAllDrivesÚsupportsAllDrivesÚfilesr   )ÚfileIdÚfieldsÚimageMediaMetadatar   Útimez%Y:%m:%d %H:%M:%SÚlocationÚlatitudeÚ	longitudeÚaltitudeÚ
country_idé   Ústate_idÚdistrict_idÚsubdistrict_idÚcity_idÚarea_idÚ
subarea_idÚ	drive_urlÚ
image_dateÚdrive_image_idÚ
image_nameÚimage_capture_dateÚsize_of_survey_areaÚ	status_idÚ
created_byú z Image  not uploadedzalert-dismissible)Ú
extra_tagsÚaddimageÚ	dashboardzSome field is emptyr#   r/   )ÚmethodÚUserr%   ÚfilterÚuserr   r'   r2   r1   r(   ÚDistrictMasterÚSubDistrictMasterÚ
CityMasterÚ
AreaMasterr)   Úsplitr   ÚCredentialsÚfrom_service_account_filer   ÚformatrG   ÚlistÚexecuteÚdatetimeÚstrptimeÚImageMasterÚcreater	   Úerrorr   )r+   r,   rg   ÚstateÚdistrictÚsubdistrictÚcityÚarear9   r;   Úimg_daterX   r>   Ú	folder_idÚcredsÚserviceÚqueryÚ	file_listÚ	Img_countÚfileÚfile_metadataÚimg_nameÚimg_cap_daterM   rN   rO   ÚdataÚerror_messager/   r/   r0   Úpost.   sn   Pÿ
ÿÿ
Ž

zAddImages.postN)Ú__name__Ú
__module__Ú__qualname__r1   r‰   r/   r/   r/   r0   r      s    r   c                 C   sp   | j dkr0| j d¡}ztjj|d}| ¡  tddiƒW S  tjy/   tddidd Y S w tdd	id
dS )Nr2   r   r3   ÚmessagezItem deleted successfully.zItem not found.i”  )ÚstatuszInvalid request.i  )rd   r2   r1   rt   r%   Údeleter   ÚDoesNotExist)r,   Úitem_idÚitemr/   r/   r0   Údelete_item†   s   
ÿr“   c                   @   ó   e Zd Zdd„ ZdS )Úviewimagelistc           <   
   C   sx  t j  ¡ j}tjj|jjd}tjj|jjd 	dd¡}t
jj|jjd 	d¡}|j dd¡}|j dd	¡}|d
 d dkrQg d¢}tjj|d 	dd¡ d¡}	n'|d
 d dkrlg d¢}tjj|d 	dd¡ d¡}	ntj ¡  	dd¡ d¡}	tj ¡  	dd¡ d¡}
tj ¡  	dd¡ d¡}tj ¡  	dd¡ d¡}g }d
}d }g }g }g }g }g }|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|j dd ¡}|r+tjj|d}|r+tjj|d}|r+tjj|d}|r+tjj|d}|r+tjj|d }g } g }!g }"g }#g }$g }%d!}&d!}'tƒ }(tƒ })tƒ }*tƒ }+tƒ },tƒ }-g }.|rX|&d"| 7 }&|ra|&d#| 7 }&|rj|&d$| 7 }&|rs|&d%| 7 }&|r||&d&| 7 }&|r…|&d'| 7 }&|r |rÖ|&d(| 7 }&|rš|&d)| 7 }&|r²t j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|rÊt j  t|ƒd*¡ ¡ }|&d-t|ƒ d, 7 }&|rÕ|&d.| d, 7 }&nJ|&d(| 7 }&|rå|&d)| 7 }&|rýt j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|rt j  t|ƒd*¡ ¡ }|&d-t|ƒ d, 7 }&|r |&d.| d, 7 }&|r|s|s,|r>|&d)| 7 }&|r=|&d.| d, 7 }&nA|&d/| 7 }&|r\t j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|rtt j  t|ƒd*¡ ¡ }|&d-t|ƒ d, 7 }&|r|&d.| d, 7 }&|rÿ|sÿ|sÿ|sŽ|rÇt j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|r»t j  t|ƒd*¡ ¡ }|&d-t|ƒ d, 7 }&|rÆ|&d.| d, 7 }&n8t j  t|ƒd*¡ ¡ }|&d0t|ƒ d1 7 }&|rôt j  t|ƒd*¡ ¡ }|&d2t|ƒ d1 7 }&|rÿ|&d.| d, 7 }&|r|s|s|s|rGt j  t|ƒd*¡ ¡ }|&d2t|ƒ d1 7 }&|r;t j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|rF|&d.| d, 7 }&n8t j  t|ƒd*¡ ¡ }|&d2t|ƒ d1 7 }&|rtt j  t|ƒd*¡ ¡ }|&d+t|ƒ d, 7 }&|r|&d.| d, 7 }&|rž|sž|sž|sž|sž|r˜|&d3| 7 }&n|&d4| 7 }&|jjsgtjj|jjd 	dd5d6d7d8d9d:d;¡ d¡}| ¡ d ure|d
 d dkrÌd<}'n|d
 d dkr×d=}'|'d>7 }'|D ]f}/|'d?t|/d6 ƒ 7 }'|/d7 d kr>|'d#t|/d7 ƒ 7 }'|/d8 d kr>|'d$t|/d8 ƒ 7 }'|/d9 d kr>|'d%t|/d9 ƒ 7 }'|/d: d kr>|'d&t|/d: ƒ 7 }'|/d; d kr>|'d't|/d; ƒ 7 }'|'d@7 }'qÝ|'d dA… }'|'dB7 }'|rX|d
 d s_|d
 d r?|d
 d r‰|d
 d r‰|dCkr”dDt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dG | }&nÀ|dHkr»dIt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dJ | }&n™|dKkrâdLt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dM | }&nr|dNkr	dOt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dP | }&nK|dQkr0dRt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dS | }&n$|dkrWdTt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& dU | }&nýdVt|d
 d ƒ dE t|d
 d ƒ d1 dF |' |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&nË|d
 d s—|d
 d r=|d
 d ri|d
 d d kri|dCkrÄdZt|d
 d ƒ d, dF |' |& dG | }&n|dHkrád[t|d
 d ƒ d, dF |' |& dJ | }&ns|dKkrþd\t|d
 d ƒ d, dF |' |& dM | }&nV|dNkrd]t|d
 d ƒ d, dF |' |& dP | }&n9|dQkr8d^t|d
 d ƒ d, dF |' |& dS | }&n|dkrUd_t|d
 d ƒ d, dF |' |& dU | }&nÿd`t|d
 d ƒ d, dF |' |& }&në|dCkr†dat|d
 d ƒ d, dF |' |& dG | }&nÎ|dHkr£dbt|d
 d ƒ d, dF |' |& dJ | }&n±|dKkrÀdct|d
 d ƒ d, dF |' |& dM | }&n”|dNkrÝddt|d
 d ƒ d, dF |' |& dP | }&nw|dQkrúdet|d
 d ƒ d, dF |' |& dS | }&nZ|dkrdft|d
 d ƒ d, dF |' |& dU | }&n=dgt|d
 d ƒ d, dF |' |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&n|&r¾|dCkrSdh|' |& dG | }&n|dHkrcdi|' |& dJ | }&nñ|dKkrsdj|' |& dM | }&ná|dNkrƒdk|' |& dP | }&nÑ|dQkr“dl|' |& dS | }&nÁ|dkr£dm|' |& dU | }&n±dn|' |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&n–|dCkrÒdot|ƒ dF |' dG | }&n‚|dHkrædpt|ƒ dF |' dJ | }&nn|dKkrúdqt|ƒ dF |' dM | }&nZ|dNkrdrt|ƒ dF |' dP | }&nF|dQkr"dst|ƒ dF |' dS | }&n2|dkr6dtt|ƒ dF |' dU | }&ndut|ƒ dF |' }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&|& ¡ ratj  |&¡}.nJt!dvƒ nD|rq|d
 d sx|d
 d r|d
 d 	r†|d
 d 	r†|dCkr©dwt|d
 d ƒ dE t|d
 d ƒ d1 |& dG | }&nò|dHkrÌdxt|d
 d ƒ dE t|d
 d ƒ d1 |& dJ | }&nÏ|dKkrïdyt|d
 d ƒ dE t|d
 d ƒ d1 |& dM | }&n¬|dNk	rdzt|d
 d ƒ dE t|d
 d ƒ d1 |& dP | }&n‰|dQk	r5d{t|d
 d ƒ dE t|d
 d ƒ d1 |& dS | }&nf|dk	rXd|t|d
 d ƒ dE t|d
 d ƒ d1 |& dU | }&nCd}t|d
 d ƒ dE t|d
 d ƒ d1 |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&n|d
 d 	s”|d
 d r|d
 d 
r^|d
 d d k
r^|dCk	r½d~t|d
 d ƒ d, |& dG | }&nÞ|dHk	rÖdt|d
 d ƒ d, |& dJ | }&nÅ|dKk	rïd€t|d
 d ƒ d, |& dM | }&n¬|dNk
rdt|d
 d ƒ d, |& dP | }&n“|dQk
r!d‚t|d
 d ƒ d, |& dS | }&nz|dk
r:dƒt|d
 d ƒ d, |& dU | }&nad`t|d
 d ƒ d, |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&n=|dCk
rwd„t|d
 d ƒ d, |& dG | }&n$|dHk
rd…t|d
 d ƒ d, |& dJ | }&n|dKk
r¨d†t|d
 d ƒ d, |& dM | }&nó|dNk
rÀd‡t|d
 d ƒ d, |& dP | }&nÛ|dQk
rØdˆt|d
 d ƒ d, |& dS | }&nÃ|dk
rðd‰t|d
 d ƒ d, |& dU | }&n«dŠt|d
 d ƒ d, |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&nˆ|dCkr%dot|ƒ |& dG | }&nv|dHkr7dpt|ƒ |& dJ | }&nd|dKkrIdqt|ƒ |& dM | }&nR|dNkr[drt|ƒ |& dP | }&n@|dQkrmdst|ƒ |& dS | }&n.|dkrdtt|ƒ |& dU | }&ndut|ƒ |& }&| dWd!¡ ¡ }0dX|0 dY | }1|&|1 }&|& ¡ r§tj  |&¡}.nt!dvƒ |j d‹d
¡}2g dŒ¢}3t"|2ƒ|3v rÀ|2}4nd}4t#|.|4ƒ}5|j dŽd¡}6|5 $|6¡}7t%jjdd‘ 	d’¡}8|8d
 d’ d“kr÷t%jjd”d‘ 	d’¡}9|9d
 d’ }:nd
}:i d•|
“d–|“d—|“d˜|“d™|“dš|“d›|“dœ|“d|	“dž|“dŸt&“d d¡“d¢|7“d£|5“d¤|“d¥|“d|“t'ƒ |:||d¦œ¥};t(|d§|;ƒS )¨N©rg   Ú	from_dateÚto_dater3   Ú
groups__idr   r   Ú
sort_orderÚascr   é   ©rQ   rœ   é   ©Úid__inr   é   ©rœ   r¡   é   r4   r5   r6   r7   r8   r9   r;   Úimage_date_fromÚimage_date_torŽ   Úimage_id©rR   ©rS   ©rT   ©rU   ©rV   r:   ú AND state_id_id = ú AND district_id_id = ú AND subdistrict_id_id = ú AND city_id_id = ú AND area_id_id = ú AND subarea_id_id = ú AND round = ú AND status_id =ú%Y-%m-%dú AND image_date >= 'ú'ú AND image_date <= 'ú AND id = 'ú AND status_id = ú AND (image_date >= 'ú')ú AND (image_date <= 'ú	 AND id =ú
 AND id = Úuser_idrR   rS   rT   rU   rV   rW   ústatus_id IN (1, 2, 4) AND ústatus_id IN (2, 3, 5) AND ú ( ú (state_id_id = ú) ORéýÿÿÿú)Údistrict_id_idzðSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE 1 AND ( image_date <= 'ú') AND (image_date >= 'ú AND z ORDER BY district_name Úsubdistrict_id_idzÿSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE 1 AND ( image_date <= 'z ORDER BY subdistrict_name Ú
city_id_idzÜSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE 1 AND ( image_date <= 'z ORDER BY city_name Ú
area_id_idzÜSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE 1 AND ( image_date <= 'z ORDER BY area_name Úsubarea_id_idzëSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE 1 AND ( image_date <= 'z ORDER BY subarea_name zãSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE 1 AND ( image_date <= 'z ORDER BY status_name úASELECT * FROM dashboard_imagemaster WHERE 1 AND ( image_date <= 'ztext-centerz
 ORDER BY r`   zèSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE image_date >= 'z÷SELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE image_date >= 'zÔSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE image_date >= 'zÔSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE image_date >= 'zãSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE image_date >= 'zÛSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE image_date >= 'ú9SELECT * FROM dashboard_imagemaster WHERE image_date >= 'zèSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE image_date <= 'z÷SELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE image_date <= 'zÔSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE image_date <= 'zÔSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE image_date <= 'zãSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE image_date <= 'zÛSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE image_date <= 'ú:SELECT * FROM dashboard_imagemaster WHERE  image_date <= 'zÚSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id  WHERE zèSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE zÅSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE zÅSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE zÔSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE zÌSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE ú*SELECT * FROM dashboard_imagemaster WHERE zìSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE YEAR(image_date) = zûSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE YEAR(image_date) = zØSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE YEAR(image_date) = zØSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE YEAR(image_date) = zçSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE YEAR(image_date) = zßSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE YEAR(image_date) = ú=SELECT * FROM dashboard_imagemaster WHERE YEAR(image_date) = úEmpty queryzêSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE  (image_date <= 'zùSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE  (image_date <= 'zÖSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE  (image_date <= 'zÖSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE  (image_date <= 'zåSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE  (image_date <= 'zÝSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE  (image_date <= 'ú:SELECT * FROM dashboard_imagemaster WHERE (image_date <= 'zéSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE  image_date >= 'zøSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE  image_date >= 'zÕSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE  image_date >= 'zÕSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE  image_date >= 'zäSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE  image_date >= 'zÜSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE  image_date >= 'zéSELECT dashboard_imagemaster.*, dashboard_districtmaster.name as district_name FROM dashboard_imagemaster LEFT JOIN dashboard_districtmaster on dashboard_districtmaster.id = dashboard_imagemaster.district_id_id WHERE  image_date <= 'zøSELECT dashboard_imagemaster.*, dashboard_subdistrictmaster.name as subdistrict_name FROM dashboard_imagemaster LEFT JOIN dashboard_subdistrictmaster on dashboard_subdistrictmaster.id = dashboard_imagemaster.subdistrict_id_id WHERE  image_date <= 'zÕSELECT dashboard_imagemaster.*, dashboard_citymaster.name as city_name FROM dashboard_imagemaster LEFT JOIN dashboard_citymaster on dashboard_citymaster.id = dashboard_imagemaster.city_id_id WHERE  image_date <= 'zÕSELECT dashboard_imagemaster.*, dashboard_areamaster.name as area_name FROM dashboard_imagemaster LEFT JOIN dashboard_areamaster on dashboard_areamaster.id = dashboard_imagemaster.area_id_id WHERE  image_date <= 'zäSELECT dashboard_imagemaster.*, dashboard_subareamaster.name as subarea_name FROM dashboard_imagemaster LEFT JOIN dashboard_subareamaster on dashboard_subareamaster.id = dashboard_imagemaster.subarea_id_id WHERE  image_date <= 'zÜSELECT dashboard_imagemaster.*, dashboard_statusmaster.name as status_name FROM dashboard_imagemaster LEFT JOIN dashboard_statusmaster on dashboard_statusmaster.id = dashboard_imagemaster.status_id WHERE  image_date <= 'ú9SELECT * FROM dashboard_imagemaster WHERE image_date <= 'Ú
page_count)é
   é   é2   éd   iô  r×   ÚpagerQ   Úupdate_within_range_status©r   ÚvalueÚ1Úupdate_within_ranger   r   r   r   r   r   Úallsubareasr   r    Úimg_listr   r!   zLocation ListingÚpage_objÚ	paginatorÚcountÚ
search_for)r"   Úranger   rš   z!menu/master/images/imagelist.html))rr   ÚnowÚyearÚUserLocationr%   rf   rg   r   ÚUserInfor'   re   ÚGETr1   r*   r   r&   r$   r(   r)   rh   ri   rj   rk   r
   rs   ÚstrÚdateÚis_superuserÚfirstÚreplaceÚstriprt   ÚrawÚprintÚintr   Úget_pageÚSettingr   r   r   )<r+   r,   Úcurrent_yearÚuser_locationsÚ	user_dateÚcurrent_grpr   rš   Ú
status_idsr    r   r   rá   râ   rå   ræ   r   r   r   r   r   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   Úimg_idÚcountry_listÚ
state_listÚdistrict_listÚ	city_listÚ	area_listÚsubarea_listr€   Úextra_whereÚstate_queryÚdistrict_queryÚsubdistrict_queryÚ
city_queryÚ
area_queryÚsubarea_queryÚimagesrg   Údata_sort_fieldÚorder_by_clauseÚpagesÚ	page_listÚpage_passedrä   Úpage_numberrã   Úrange_statusrç   Úsetting_ranger.   r/   r/   r0   r1   —   s¶  €€€€
,"
D
D
D
D
D
D8 
0
0
0
0
0
0(
0
0
0
0
0
0$€













€"
<
<
<
<
<
<0 
(
(
(
(
(
(
(
(
&
&
&
&€








zzviewimagelist.getN)rŠ   r‹   rŒ   r1   r/   r/   r/   r0   r•   –   ó    r•   c                 C   sÀ   | j  dd¡}tjj|d ddddddd	d
ddddd¡}g }|D ]8}|d d |d  d }||d |d |d |d |d	 |d
 |d |d |d |d |d dœ}| |¡ q!t|ddS )NÚtermr:   r3   r   r   Ú
area__nameÚarea__idÚarea__city__idÚarea__city__nameÚarea__city__subdistrict__idÚarea__city__subdistrict__nameÚ%area__city__subdistrict__district__idÚ'area__city__subdistrict__district__nameÚ,area__city__subdistrict__district__state__idÚ.area__city__subdistrict__district__state__namez (rÆ   )r9   r   rV   Ú	area_namerU   Ú	city_namerT   Úsubdistrict_namerS   Údistrict_namerR   Ú
state_nameF)Úsafe)rì   r1   r)   r%   rf   r'   Úappendr   )r,   r€   r   r  r9   Úsubarea_strÚsubarea_dictr/   r/   r0   Úget_subarea_names¤  sH   óÿôr)  c           4   
   C   sÈ  g }d }t j  ¡ j}tjj| jjd}tjj| jjd 	dd¡}t
jj| jjd 	d¡}|d d dkrIg d¢}ttjj|d	 	d
d¡ d¡ƒ}n+|d d dkrfg d¢}ttjj|d	 	d
d¡ d¡ƒ}nttj ¡  	d
d¡ d¡ƒ}t|jddd ¡ ƒ}	t|jddd ¡ ƒ}
t|jddd ¡ ƒ}t|jddd ¡ ƒ}t|jddd ¡ ƒ}t|jddd ¡ ƒ}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j d d ¡}| j d!d ¡}|r5tjj|d"}|r5tjj|d#}|r5tjj|d$}|r5tjj|d%}|r5tjj|d&}g }g }	g }
g }g }g }d'} d'}!tƒ }"tƒ }#tƒ }$tƒ }%tƒ }&g }'|r_| d(| 7 } |rh| d)| 7 } |rq| d*| 7 } |rz| d+| 7 } |rƒ| d,| 7 } |rŒ| d-| 7 } |r'|rÝ| d.| 7 } |r¡| d/| 7 } |r¹t j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |rÑt j  t|ƒd0¡ ¡ }| d3t|ƒ d2 7 } |rÜ| d4| d2 7 } nJ| d.| 7 } |rì| d/| 7 } |rt j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |rt j  t|ƒd0¡ ¡ }| d3t|ƒ d2 7 } |r'| d4| d2 7 } |r†|s†|s3|rE| d/| 7 } |rD| d4| d2 7 } nA| d5| 7 } |rct j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |r{t j  t|ƒd0¡ ¡ }| d3t|ƒ d2 7 } |r†| d4| d2 7 } |r|s|s|s•|rÎt j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |rÂt j  t|ƒd0¡ ¡ }| d3t|ƒ d2 7 } |rÍ| d4| d2 7 } n8t j  t|ƒd0¡ ¡ }| d6t|ƒ d7 7 } |rût j  t|ƒd0¡ ¡ }| d8t|ƒ d7 7 } |r| d4| d2 7 } |r†|s†|s†|s|rNt j  t|ƒd0¡ ¡ }| d8t|ƒ d7 7 } |rBt j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |rM| d4| d2 7 } n8t j  t|ƒd0¡ ¡ }| d8t|ƒ d7 7 } |r{t j  t|ƒd0¡ ¡ }| d1t|ƒ d2 7 } |r†| d4| d2 7 } |r¥|s¥|s¥|s¥|s¥|rŸ| d9| 7 } n| d:| 7 } | jjsútjj| jjd 	d
d;dddddd¡ d
¡}| ¡ d urù|d d dkrÓd<}!n|d d dkrÞd=}!|!d>7 }!|D ]f}(|!d?t|(d ƒ 7 }!|(d d krE|!d)t|(d ƒ 7 }!|(d d krE|!d*t|(d ƒ 7 }!|(d d krE|!d+t|(d ƒ 7 }!|(d d krE|!d,t|(d ƒ 7 }!|(d d krE|!d-t|(d ƒ 7 }!|!d@7 }!qä|!d dA… }!|!dB7 }!|r_|d d sf|d d rÕ|d d r‘|d d r‘dCt|d d ƒ dD t|d d ƒ d7 dE |! |  } nX|d d sŸ|d d rÔ|d d rÂ|d d d krÂdFt|d d ƒ d2 dE |! |  } n'dGt|d d ƒ d2 dE |! |  } n| rßdH|! |  } n
dIt|ƒ dE |! } |  ¡ rõtj  | ¡}n‘t!dJƒ nŒ|r|d d s|d d rn|d d r2|d d r2dKt|d d ƒ dD t|d d ƒ d7 |  } nD|d d s@|d d rm|d d r_|d d d kr_dFt|d d ƒ d2 |  } ndLt|d d ƒ d2 |  } ndIt|ƒ |  } |  ¡ r‚tj  | ¡}nt!dJƒ |d u r‘t!dJƒ n|D ]})i }*|)j|*d
< t"jj|)j#d 	d¡}+|+ $¡ r¶|+d d |*dM< nd'|*dM< tjj|)j%d 	d¡},|, $¡ rÓ|,d d |*dN< nd'|*dN< tjj|)j&d 	d¡}-|- $¡ rð|-d d |*dO< nd'|*dO< tjj|)j'd 	d¡}.|. $¡ r|.d d |*dP< nd'|*dP< tjj|)j(d 	d¡}/|/ $¡ r*|/d d |*dQ< nd'|*dQ< tjj|)j)d 	d¡}| $¡ rG|d d |*d< nd'|*d< tjj|)j*d 	dd
¡}|d d |*d < |d d
 |*dR< |)j+|*dS< |)j,|*dT< |)j-|*dU< |)j.|*d< |)j/|*d!< |)j0|*dV< |)j0d ur t
jj|)j0d 	d
d¡}(|(d d |*dW< nd |*dW< | 1|*¡ q“t2jjdXdY 	dZ¡}0|0d dZ d[krÏt2jjd\dY 	dZ¡}1|1d dZ }2nd}2t3 4|¡|t5ƒ t6|2t7d]œ}3t8| d^|3ƒS )_Nr–   r—   r˜   r3   r™   r   rœ   r   rŸ   r   r   r   r¡   r¢   rR   T©ÚflatrS   rT   rU   rV   rW   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   r¦   r§   r¨   r©   rª   r«   r:   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÎ   rÈ   rÉ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rw   rx   ry   rz   r{   r^   rM   rN   rO   Ú
updated_byÚ	groups_idrÜ   rÝ   rÞ   rß   rà   )Ú	locationsrŽ   r"   r   rç   r   zmenu/master/images/map.html)9rr   rè   ré   rê   r%   rf   rg   r   rë   r'   re   rp   r*   r   r&   Úvalues_listÚdistinctrì   r1   rh   ri   rj   rk   r)   r
   rs   rí   rî   rï   rð   rò   rt   ró   rô   r(   Ústate_id_idÚexistsrÇ   rÊ   rË   rÌ   rÍ   r^   rM   rN   rO   r;   rZ   r,  r&  r÷   ÚjsonÚdumpsr   r   r   r   )4r,   Úlocation_datar.  rø   rù   rú   rû   rü   ÚstatusOptionsrÿ   r   Úsubdistrict_listr  r  r  r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   rý   r   r   r   r   r   rþ   r€   r  r  r  r  r	  r
  r  rg   rL   Ú	location_rw   rx   ry   rz   r{   r  rç   r  r.   r/   r/   r0   Ú	maps_viewÎ  sè  ""
€€€€
,": &$€
€"2 €















r9  c                   @   r”   )ÚUpdateStatusc                 C   s¸   t jj|jjd d¡}|j d¡}|j d¡}tjj|dj	||d d t
j
 ¡  d¡d tjj|d d¡}t jj|d d d dd	¡}d
d|d d	 dœ}t |d¡ t|ƒS )Nr3   r   Úselected_valueÚsel_idr   r´   )rŽ   r,  Ú
updated_atr,  r™   TzStatus updated successfully.)Úsuccessr   Úgroup_idústatus was successfully updated)re   r%   rf   rg   r   r'   r2   r1   rt   Úupdaterr   rè   Ústrftimer	   r>  r   )r+   r,   rg   rŽ   r<  r¿   Úuser_groups_idr‡   r/   r/   r0   r‰   +  s   .zUpdateStatus.postN©rŠ   r‹   rŒ   r‰   r/   r/   r/   r0   r:  *  r  r:  c                   @   r”   )ÚChangeStatusc              	   C   sÌ   t jj|jjd d¡}|j d¡}|j d¡}z	t	 
|d ¡}W n ttfy.   g }Y nw dd„ |D ƒ}|sGdd	d
œ}t |d¡ t|ƒS tjj|dj||d d d ddd
œ}t |d¡ t|ƒS )Nr3   r   ÚidsÚSValuer   c                 S   s   g | ]}t |ƒ‘qS r/   )rõ   )Ú.0r   r/   r/   r0   Ú
<listcomp>D  s    z%ChangeStatus.post.<locals>.<listcomp>FzPlease Select Checkbox.)r>  r   zPlease Select CheckboxrŸ   )rŽ   r,  TzStatus updated successfullyr@  )re   r%   rf   rg   r   r'   r2   Úgetlistr1   ÚastÚliteral_evalÚSyntaxErrorÚ
ValueErrorr	   rv   rt   rA  r>  r   )r+   r,   rg   r<  rŽ   Úid_listrF  r‡   r/   r/   r0   r‰   9  s"   ÿ
	 ú
zChangeStatus.postNrD  r/   r/   r/   r0   rE  8  r  rE  c           >   
   C   sJ  t j  ¡ j}tjj| jjd}tjj| jjd 	dd¡}t
jj| jjd 	d¡}|d d dkrCg d¢}tjj|d	 	d
d¡ d¡}n'|d d dkr^g d¢}tjj|d	 	d
d¡ d¡}ntj ¡  	d
d¡ d¡}tj ¡  	dd
¡ d¡}tj ¡  	d
d¡ d¡}g }	d}
d }g }g }g }g }| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}|rtjj|d}|rtjj|d}|rtjj|d}|rtjj|d}|rtjj|d}g }g }g }g }g }g } d}!d}"tƒ }#tƒ }$tƒ }%tƒ }&tƒ }'tƒ }(g })|r<|!d | 7 }!|rE|!d!| 7 }!|rN|!d"| 7 }!|rW|!d#| 7 }!|r`|!d$| 7 }!|ri|!d%| 7 }!|r|rº|!d&| 7 }!|r~|!d'| 7 }!|r–t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|r®t j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|r¹|!d,| d* 7 }!nJ|!d&| 7 }!|rÉ|!d'| 7 }!|rát j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rùt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|r|!d,| d* 7 }!|rc|sc|s|r"|!d'| 7 }!|r!|!d,| d* 7 }!nA|!d-| 7 }!|r@t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rXt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|rc|!d,| d* 7 }!|rã|sã|sã|sr|r«t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rŸt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|rª|!d,| d* 7 }!n8t j  t|ƒd(¡ ¡ }|!d.t|ƒ d/ 7 }!|rØt j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rã|!d,| d* 7 }!|rc|sc|sc|sò|r+t j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rt j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|r*|!d,| d* 7 }!n8t j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rXt j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rc|!d,| d* 7 }!|r‚|s‚|s‚|s‚|s‚|r||!d1| 7 }!n|!d2| 7 }!| jjjdd3d4 ¡ d5k}*t
jj| jjd 	d
d6¡}+| jjstjj| jjd 	d
d7d8d9d:d;d<d=¡ d
¡}| ¡ d urï|d d dkrÊd>}"n|d d dkrÕd?}"|"d@7 }"|D ]f},|"dAt|,d8 ƒ 7 }"|,d9 d kr<|"d!t|,d9 ƒ 7 }"|,d: d kr<|"d"t|,d: ƒ 7 }"|,d; d kr<|"d#t|,d; ƒ 7 }"|,d< d kr<|"d$t|,d< ƒ 7 }"|,d= d kr<|"d%t|,d= ƒ 7 }"|"dB7 }"qÛ|"d dC… }"|"dD7 }"|*rZdEt|+d d
 ƒ }!n¢|rd|d d sk|d d rÚ|d d r–|d d r–dFt|d d ƒ dG t|d d ƒ d/ dH |" |! }!nf|d d s¤|d d rÙ|d d rÇ|d d d krÇdIt|d d ƒ d* dH |" |! }!n5dJt|d d ƒ d* dH |" |! }!n"|!rädK|" |! }!ndLt|ƒ dH |" }!n|*rüdEt|+d d
 ƒ }!|! ¡ rt j !|!¡})n‘t"dMƒ nŒ|r|d d s|d d r|d d rE|d d rEdNt|d d ƒ dG t|d d ƒ d/ |! }!nD|d d sS|d d r€|d d rr|d d d krrdIt|d d ƒ d* |! }!ndOt|d d ƒ d* |! }!ndLt|ƒ |! }!|! ¡ r•t j !|!¡})nt"dMƒ | jj}-|)D ]g}.i }/|.j|/dP< tjj|.j#d 	d¡}0|0rÀ|0d d |/dQ< nd|/dQ< tjj|.j$d 	d¡}1|1rÛ|1d d |/dR< nd|/dR< tjj|.j%d 	d¡}2|2rö|2d d |/dS< nd|/dS< tjj|.j&d 	d¡}3|3r|3d d |/dT< nd|/dT< tjj|.j'd 	d¡}4|4r,|4d d |/dU< nd|/dU< tjj|.j(d 	d¡}5|5rG|5d d |/dV< nd|/dV< tjj|.j)d 	d
d¡}t j  t|.j*ƒd(¡ ¡ }6|*r¬t j  t|.j+ ¡ ƒd(¡ ¡ |/dW< |.j,|/dX< t-|.j. |/dY< |6|/dZ< | j /¡ }7|7|/d[< |.j0s˜d\|/d]< n|.j0|/d]< |.j1s¦d\|/d^< n[|.j1|/d^< nU|.j2|/d_< |.j3|/d`< |.j4|/da< |6|/db< |d d |/dc< |-rt|.j5ƒ}8t6|8ƒ}9|9 ¡ }:|:|/dd< |.j7säd\|/de< nt
jj|.j7d 	dfdgd6¡};|;d df dh |;d dg  |/de< |	 8|/¡ qŸt9 :|	¡}<|*rt;|<|+ƒ}=|=S t<|-|+|<||||||ƒ	}=|=S )iNr–   r—   r˜   r3   r™   r   rœ   r   rŸ   r   r   r   r¡   r¢   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   r¦   r§   r¨   r©   rª   r«   r:   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   Tr*  úUpload TeamÚusernamer¿   rR   rS   rT   rU   rV   rW   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   z5SELECT * FROM dashboard_imagemaster WHERE created_by=rÎ   rÈ   rÉ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   úLocation IDÚStateÚDistrictúSub DistrictúCity/VillageÚAreaúSub AreaúUpload Dateú
Drive Linkú
Image LinkúGiven Survey Dateú	User Nameú---ú
Image NameúImage Capture DateÚLatitudeÚ	LongitudeúOperation RoundúSurvey DateÚStatusú
Updated Atú
Updated ByÚ
first_nameÚ	last_namer`   )=rr   rè   ré   rê   r%   rf   rg   r   rë   r'   re   r*   r   r&   r$   r(   rì   r1   rh   ri   rj   rk   r)   r
   rs   rí   rî   Úgroupsr/  rð   rï   rò   rt   ró   rô   r1  rÇ   rÊ   rË   rÌ   rÍ   r^   rY   Ú
created_atrX   r   rZ   Úget_full_namer[   r\   rM   rN   r;   r=  r   r,  r&  ÚpdÚ	DataFrameÚexcel_format_upload_teamÚprepare_excel_format)>r,   rø   rù   rú   rû   rü   r    r   r   râ   rå   ræ   r   r   r   r   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   rý   rþ   rÿ   r   r  r  r  r€   r  r  r  r  r  r	  r
  r  Úis_upload_team_userÚcrt_userrg   Ú	superuserÚimgÚ
image_datarw   rx   ry   rz   r{   Úsubarea1Úsurvey_dateÚuser_full_nameÚinput_stringÚdatetime_objÚ	date_onlyÚfull_name_uÚdfÚfile_responser/   r/   r0   Úexport_excelX  s  €€€€
,": &$€

"2 €


 









 

ûr  c           =      C   sb  t j  ¡ j}tjj| jjd}tjj| jjd 	dd¡}t
jj| jjd 	d¡}|d d dkrCg d¢}tjj|d	 	d
d¡ d¡}n'|d d dkr^g d¢}tjj|d	 	d
d¡ d¡}ntj ¡  	d
d¡ d¡}tj ¡  	dd
¡ d¡}tj ¡  	d
d¡ d¡}g }	d}
d }g }g }g }g }| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}| j dd ¡}|rtjj|d}|rtjj|d}|rtjj|d}|rtjj|d}|rtjj|d}g }g }g }g }g }g } d}!d}"tƒ }#tƒ }$tƒ }%tƒ }&tƒ }'tƒ }(g })|r<|!d | 7 }!|rE|!d!| 7 }!|rN|!d"| 7 }!|rW|!d#| 7 }!|r`|!d$| 7 }!|ri|!d%| 7 }!|r|rº|!d&| 7 }!|r~|!d'| 7 }!|r–t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|r®t j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|r¹|!d,| d* 7 }!nJ|!d&| 7 }!|rÉ|!d'| 7 }!|rát j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rùt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|r|!d,| d* 7 }!|rc|sc|s|r"|!d'| 7 }!|r!|!d,| d* 7 }!nA|!d-| 7 }!|r@t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rXt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|rc|!d,| d* 7 }!|rã|sã|sã|sr|r«t j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rŸt j  t|ƒd(¡ ¡ }|!d+t|ƒ d* 7 }!|rª|!d,| d* 7 }!n8t j  t|ƒd(¡ ¡ }|!d.t|ƒ d/ 7 }!|rØt j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rã|!d,| d* 7 }!|rc|sc|sc|sò|r+t j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rt j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|r*|!d,| d* 7 }!n8t j  t|ƒd(¡ ¡ }|!d0t|ƒ d/ 7 }!|rXt j  t|ƒd(¡ ¡ }|!d)t|ƒ d* 7 }!|rc|!d,| d* 7 }!|r‚|s‚|s‚|s‚|s‚|r||!d1| 7 }!n|!d2| 7 }!| jjjdd3d4 ¡ d5k}*t
jj| jjd 	d
d6¡}+|r¦|d d s­|d d r|d d rÔ|d d rÔd7t|d d ƒ d8 t|d d ƒ d/ |! }!nD|d d sâ|d d r|d d r|d d d krd9t|d d ƒ d* |! }!nd:t|d d ƒ d* |! }!nd;t|ƒ |! }!|! ¡ r$tj  |!¡})nt!d<ƒ | jj"},|)D ]u}-i }.|-j|.d=< tjj|-j#d 	d¡}/|/rO|/d d |.d>< nd|.d>< tjj|-j$d 	d¡}0|0rj|0d d |.d?< nd|.d?< tjj|-j%d 	d¡}1|1r…|1d d |.d@< nd|.d@< tjj|-j&d 	d¡}2|2r |2d d |.dA< nd|.dA< tjj|-j'd 	d¡}3|3r»|3d d |.dB< nd|.dB< tjj|-j(d 	d¡}4|4rÖ|4d d |.dC< nd|.dC< tjj|-j)d 	d
d¡}t j  t|-j*ƒd(¡ ¡ }5t j  t|-j+ ¡ ƒd(¡ ¡ |.dD< |-j,|.dE< t-|-j. |.dF< |5|.dG< t
jj|-j/d 	dHdId6¡}6|6d dH dJ |6d dI  |.dK< |-j0s8dL|.dM< nt
jj|-j0d 	dHdId6¡}7|7d dH dJ |7d dI  |.dM< |-j1s^dL|.dN< n|-j1|.dN< |-j2sldL|.dO< n|-j2|.dO< |-j3|.dP< |d d |.dQ< |-j4|.dR< |-j5|.dS< |-j3|.dP< t|-j6ƒ}8t7|8ƒ}9|9 ¡ }:|:|.dT< |	 8|.¡ q.t9 :|	¡};t;|;|+ƒ}<|<S )UNr–   r—   r˜   r3   r™   r   rœ   r   rŸ   r   r   r   r¡   r¢   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   r¦   r§   r¨   r©   rª   r«   r:   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   Tr*  rP  rQ  rÔ   rÈ   rÏ   rÕ   rÒ   rÓ   rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  rh  ri  r`   r]  r^  rg  r_  r`  rc  re  ra  rb  rf  )<rr   rè   ré   rê   r%   rf   rg   r   rë   r'   re   r*   r   r&   r$   r(   rì   r1   rh   ri   rj   rk   r)   r
   rs   rí   rî   rj  r/  rð   rò   rt   ró   rô   rï   r1  rÇ   rÊ   rË   rÌ   rÍ   r^   rY   rk  rX   r   rZ   r_   r,  r[   r\   r;   rM   rN   r=  r   r&  rm  rn  Úexcel_format_upload_team_admin)=r,   rø   rù   rú   rû   rü   r    r   r   râ   rå   ræ   r   r   r   r   r4   r5   r6   r7   r8   r9   r;   r¤   r¥   rŽ   rý   rþ   rÿ   r   r  r  r  r€   r  r  r  r  r  r	  r
  r  rq  rr  rs  rt  ru  rw   rx   ry   rz   r{   rv  rw  Ú	full_namer|  ry  rz  r{  r}  r~  r/   r/   r0   Úupload_export_excelÎ  s¶  €€€€"2 €


 
 
 










r‚  c	           ,   
   C   s0  dt j  ¡  d¡ d }	d}
tdd}d |	¡|d< tj|d	d
}t ¡ }|j||
dd |j	}|j
|
 }| dd¡ | dd¡ | dd¡ | dd¡ ttƒ d  }| d|dddœ¡ d}| ddddddœ¡}| d||¡ d t j  ¡  d!¡ }| d"|¡ | ddd#d$d%œ¡}| dddd#d$d&œ¡}| d'd(|¡ | d)d*|¡ | d+d,|¡ | d-d.|¡ | d/d0|¡ | d1d2|¡ | d3d4|¡ | d5d6|¡ | d7d8|¡ | d9d:|¡ | d;d<|¡ | d=d>|¡ |rtjj|d?jd@dAdB ¡ }| dCdD||¡ n| dCdD||¡ |r'tjj|d?jd@dAdB ¡ }| dEdD||¡ n| dEdD||¡ |rItjj|d?jd@dAdB ¡ }| dFdD||¡ n| dFdD||¡ |rktjj|d?jd@dAdB ¡ }| dGdD||¡ n| dGdD||¡ |rtjj|d?jd@dAdB ¡ }| d#dD||¡ n| d#dD||¡ |r¯tjj|d?jd@dAdB ¡ }| dHdD||¡ n| dHdD||¡ t|ƒ}|dIkr#t||dJ d6k ƒ}t||dJ dKk ƒ}t||dJ dLk ƒ}t||dJ dMk ƒ} t||dJ dNk ƒ}!| ddD||¡ | dOdD||¡ | dPdD||¡ | dQdD||¡ | ddD| |¡ | dRdD|!|¡ n0| ddDdI|¡ | dOdDdI|¡ | dPdDdI|¡ | dQdDdI|¡ | ddDdI|¡ | dRdDdI|¡ t|jjƒD ]\}"}#| d|"|#|¡ qYg dS¢}$| rx|$  dT¡ |$  dU¡ |j!r¬t|$ƒD ]\}%}&| d|%|&|¡ q€t|$ƒ}'t"dVdWƒD ]}(t"|'ƒD ]})| |(|)dX|¡ qq—nf| ddd#d$dYdZœ¡}*||$ }|j#\}+}%t"|+ƒD ]M}(t"|%ƒD ]E})|)dEkrä| |(dV |)t$|j|(|)f ƒ|¡ qÊ|)dGksî|)dHkrÿ| |(dV |)|j|(|)f |*¡ qÊ| |(dV |)|j|(|)f |¡ qÊqÄ| %¡  |S )[NÚAdmin_Site_ú%d%m%Yú.xlsxÚSheet1úapplication/vnd.ms-excel©Úcontent_typeúattachment; filename="{}"úContent-DispositionÚ
xlsxwriter©ÚengineF©Ú
sheet_nameÚindexzA:Jé   zK:Ké   zL:LúM:NÚcompany_logoÚA1çÍÌÌÌÌÌÜ?ç      Ð?©Úx_scaleÚy_scalez@Vector Control by Drone Technology
(Survey and Operation Report)rQ   é   ÚArialÚvcenterÚcenter)Ú	text_wrapÚ	font_sizeÚ	font_nameÚvalignÚalignzA1:K4zReport Generation Date: z%d/%m/%YzH6:J6é   ÚCalibri©r   Úborderr¡  r¢  )Úboldr   r¨  r¡  r¢  zA8:C8rS  zA9:C9rT  zA10:C10rU  zA11:C11rV  zA12:C12rW  zA13:C13rX  zA14:C14zTotal No. of SiteszA15:C15ÚPendingzA16:C16z%No of Sites Completed by Ground Team:zA17:C17zNot Reachable By Ground Team:zA18:C18z$No of Sites Completed by Drone Team:zA19:C19zNot Reachable By Drone Team:r3   r   Tr*  é   é   é   é	   r×   é   r   re  zCompleted by GTzNot Reachable by GTzCompleted by DTzNot Reachable by DTé   é   é   é   )rR  rS  rT  rU  rV  rW  rX  ra  rb  rc  rd  re  rf  rg  rØ   é   úN/Aúdd/mm/yy©r   r¨  r¡  r¢  Ú
num_format)&rr   rè   rB  r   ro   rm  ÚExcelWriterrn  Úto_excelÚbookÚsheetsÚ
set_columnr   r   Úinsert_imageÚ
add_formatÚmerge_ranger(   r%   rf   r/  rð   Úwriterh   ri   rj   rk   r)   ÚlenÚ	enumerateÚcolumnsr'   r&  Úemptyrç   Úshaperõ   Úclose),rs  rr  r}  r4   r5   r6   r7   r8   r9   Ú	file_namer  ÚresponseÚwriterÚempty_dfÚworkbookÚ	worksheetÚ
image_pathr!   ro   Ú
date_titleÚ
row_formatÚheader_formatrw   rx   ry   rz   r{   Úsubarea_valueÚtotal_sitesÚtotal_pending_siteÚcompleted_by_gtÚnot_reachable_by_gtÚcompleted_by_dtÚnot_reachable_by_dtÚcol_numrÞ   ÚheadersÚcol_idxÚheaderÚnum_colsÚrÚcÚdate_formatÚrow_idxr/   r/   r0   rp    sÒ   




ÿÿ

&""ú	rp  c              
   C   sÈ  t |d d ƒd tj ¡  d¡ d }d}tdd}d	 |¡|d
< tj|dd}t ¡ }|j	||dd |j
}|j| }| dd¡ | dd¡ ttƒ d  }	| d|	dddœ¡ d}
| dddddddœ¡}| d|
|¡ | ddd d!d"œ¡}| dddd d!ddd#œ¡}| d$d%|¡ | d&d'|¡ | d(d)|¡ | d*d+|¡ | d,d-|¡ | d.d/|¡ | d0d1|¡ | d2d3|¡ | d4d5|¡ | d6d7|¡ | d8d9|¡ | d:d;|¡ | d<d=|¡ | d>d?|¡ | d@dA|¡ | ddd d!dBdCœ¡}g dD¢}| jr t|ƒ}tdEdFƒD ]}t|ƒD ]}| ||dG|¡ qqn>| | } | j\}}t|ƒD ]0}t|ƒD ](}|dHv rK| |dE || j||f |¡ q3| |dE || j||f |¡ q3q-| ¡  |S )INr   rQ  Ú_r„  r…  r†  r‡  rˆ  rŠ  r‹  rŒ  r  Fr  zA:Lr¯  r”  é$   r•  r–  r—  r˜  r™  úDATA UPLOAD REPORTrQ   rœ  r  rž  rŸ  ©r   r¨  r¡  r¢  r£  r¤  zA1:L3r¥  r¦  r§  ©r©  r   r¨  r¡  r¢  r£  r¤  úA5:A7rY  úB5:B7r]  úC5:C7rR  úD5:D7r_  úE5:E7r`  úF5:F7r\  úG5:L5ÚLocationúG6:G7rS  úH6:H7rT  úI6:I7rU  úJ6:J7rV  úK6:K7rW  úL6:L7rX  zM5:M7rZ  zN5:N7r[  r¶  r·  )rY  r]  rR  r_  r`  r\  rS  rT  rU  rV  rW  rX  rZ  r[  r«  r­  rµ  )r   rž   r£   )rí   rr   rè   rB  r   ro   rm  r¹  rn  rº  r»  r¼  r½  r   r   r¾  r¿  rÀ  rÅ  rÂ  rç   rÁ  rÆ  r'   rÇ  ©r}  rr  rÈ  r  rÉ  rÊ  rË  rÌ  rÍ  rÎ  r!   ro   rÐ  rÑ  rà  rÚ  rÝ  rÞ  rß  rá  rÛ  r/   r/   r0   ro  Ã  sh   (

ÿÿ

""üro  c              
   C   s"  dt j  ¡  d¡ d }d}tdd}d |¡|d< tj|d	d
}t ¡ }|j||dd |j	}|j
| }| dd¡ | dd¡ ttƒ d  }	| d|	dddœ¡ d}
| dddddddœ¡}| d|
|¡ | ddddd œ¡}| dddddddd!œ¡}| d"d#|¡ | d$d%|¡ | d&d'|¡ | d(d)|¡ | d*d+|¡ | d,d-|¡ | d.d/|¡ | d0d1|¡ | d2d3|¡ | d4d5|¡ | d6d7|¡ | d8d9|¡ | d:d;|¡ | d<d=|¡ | d>d?|¡ | d@dA|¡ | dBdC|¡ | dDdE|¡ | dFdG|¡ | dHdI|¡ | dJdK|¡ | dddddLdMœ¡}g dN¢}| jrBt|ƒ}tdOdPƒD ]}t|ƒD ]}| ||dQ|¡ q3q-nI| dddddLdMœ¡}| | } | j\}}t|ƒD ]0}t|ƒD ](}|dRv rx| |dO || j||f |¡ q`| |dO || j||f |¡ q`qZ| ¡  |S )SNzAdmin_upload data_r„  r…  r†  r‡  rˆ  rŠ  r‹  rŒ  r  Fr  zA:Rr¯  zS:Trã  r•  r–  r—  r˜  r™  rä  rQ   rœ  r  rž  rŸ  rå  zA1:S3r¥  r¦  r§  ræ  rç  rY  rè  r]  ré  rR  rê  r_  rë  r`  rì  r\  rí  rî  rï  rS  rð  rT  rñ  rU  rò  rV  ró  rW  rô  rX  zM6:M7ra  zN6:N7rb  zO6:O7rc  zP6:P7re  zQ6:Q7rf  zR6:R7rg  zS5:S7rZ  zT5:T7r[  r¶  r·  )rY  r]  rR  r_  r`  r\  rS  rT  rU  rV  rW  rX  ra  rb  rc  re  rf  rg  rZ  r[  r«  r­  rµ  )r   rž   r£   r°  r²  )rr   rè   rB  r   ro   rm  r¹  rn  rº  r»  r¼  r½  r   r   r¾  r¿  rÀ  rÅ  rÂ  rç   rÁ  rÆ  r'   rÇ  rõ  r/   r/   r0   r€    sv   

ÿÿ

""ür€  )6Údjango.shortcutsr   Údashboard.modelsr   Úgoogle.oauth2r   Údjango.contrib.auth.mixinsr   Údjango.viewsr   Úgoogleapiclient.discoveryr   Údjango.contribr	   Údjango.db.modelsr
   Únazox.settingsr   r   r   rr   Údjango.core.paginatorr   r3  Údjango.httpr   Úsettings.viewsr   r   Úpandasrm  ÚioÚsettings.modelsÚopenpyxlr   Úopenpyxl.stylesr   rK  Úusers.modelsÚosÚdateutil.parserr   r   r“   r•   r)  r9  r:  rE  r  r‚  rp  ro  r€  r/   r/   r/   r0   Ú<module>   s`    g    *  ^   x  E 3P