o
    K³4hx  ã                   @   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mZmZmZmZmZmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZmZ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(Z(d dl)Z)d dl*Z*d dl+Z+d dl,Z,d dl-Z-d dl.Z.d dl/Z/d dl0Z0d dl1Z1d dl2Z2d dl3Z3d dl4Z4d dl5Z5d dl+Z+d dl6Z6d dl7Z7d dl8Z8d dl9Z:d dl;Z;dd„ Z<edd„ ƒZ=dd„ Z>dd„ Z?dd„ Z@dd„ ZAdd„ ZBdd„ ZCdd „ ZDd!d"„ ZEd#d$„ ZFd%d&„ ZGd'd(„ ZHd)d*„ ZId+d,„ ZJd-d.„ ZKd/d0„ ZLd1d2„ ZMd3d4„ ZNd5d6„ ZOd7d8„ ZPdS )9é    )ÚHttpResponseÚHttpResponseRedirectÚJsonResponse)Úlogin_required)Úxframe_options_exempt)ÚrenderÚredirect)Ú	OrganismoÚReparticionÚDependenciaÚ	MunicipioÚ	LocalidadÚPedidoÚSitio)ÚUser)ÚauthenticateÚloginÚlogout)Ú	Paginator)Úcsrf_exemptÚcsrf_protectÚrequires_csrf_token)Úcache)Úsettings)Úrender_to_string)ÚconfigÚsecuencia_vistasNc                 C   s(   t | j ¡ ƒD ]
}|dkr| j|= qd S )NÚusuario)ÚlistÚsessionÚkeys)ÚrequestÚkey© r#   úOC:\Users\Usuario\Desktop\PROYECTOS\formulario\formularioweb\formulario\views.pyÚlimpiar_session#   s
   €þr%   c                 C   sˆ   t jrt| dƒS t| j d¡ƒ}t|ƒrt| ƒ tdƒS | j	dkr&t| dƒS | j	dkrB| j
 d¡}|d kr9tdƒS || jd< tdƒS d S )	Nzmantenimiento.htmlr   z/formularioÚGETz
login.htmlÚPOSTzcallback[token_pba]ú/)r   ÚMANTENIMIENTOr   Úget_usuarior   ÚgetÚusuario_validor%   r   Úmethodr'   )r!   r   Útokenr#   r#   r$   Ú	loginUser(   s   




úr/   c                 C   s$   z	| j d= W tdƒS    Y tdƒS )Nr   r(   )r   r   )r!   r#   r#   r$   Ú
logoutUser:   s   
ýr0   c                 C   sZ   | d kr+| dkr+z| d d dkrW dS W n   Y t j  | d ¡t j  ¡ k r)dS dS dS )NÚ ZidpZproveedorIdentidadIdZRENAPERFZfechaExpiracionT)ÚdatetimeÚfromtimestampÚnow)Úuserr#   r#   r$   r,   B   s   ÿr,   c                 C   sL   zt  | ¡ d¡}tj|ddid}|d }t |¡}W |S    d}Y |S )Núutf-8Zverify_signatureF)ÚoptionsÚsubr1   )Úbase64Ú	b64decodeÚdecodeÚjwtÚjsonÚloads)r.   ÚdataZdecoded_datar5   r#   r#   r$   r*   Q   s   þr*   c                 C   sž   t jrtdƒS t jrd}|| jd< t| j d¡ƒ}nt| j d¡ƒ}t|ƒs*tdƒS | jdkrM| j d¡}t	| ƒ t
 ¡ }t| d||d |d f|d	œƒS d S )
Nr(   aÜ  ZXlKaGJHY2lPaUpTVXpJMU5pSjkuZXlKemRXSWlPaUo3WENKcFpIQmNJanA3WENKd2NtOTJaV1ZrYjNKSlpHVnVkR2xrWVdSSlpGd2lPbHdpVWtWT1FWQkZVbHdpZlN4Y0ltNXZiV0p5WlZ3aU9sd2lSbkpoYm1OdlhDSXNYQ0psYldGcGJGd2lPbHdpWENJc1hDSm1aV05vWVVWNGNHbHlZV05wYjI1Y0lqb3hOamczT1RnNU9ESTBMRndpWVhCbGJHeHBaRzljSWpwY0lrWkpSMHhKVDB4SlhDSXNYQ0pqZFdsc1hDSTZYQ0l5TURNNE16WXlNREU0TUZ3aUxGd2libWwyWld4Y0lqb3hMRndpYm1sMlpXeEVaWE5qY21sd1hDSTZYQ0pDUVVwUFhDSXNYQ0owYVhCdlJHOWpkVzFsYm5SdlhDSTZYQ0pFVGtsY0lpeGNJbTV5YjBSdlkzVnRaVzUwYjF3aU9sd2lNemd6TmpJd01UaGNJaXhjSW5ScGNHOVFaWEp6YjI1aFhDSTZYQ0pHU1ZOSlEwRmNJaXhjSW5KaGVtOXVVMjlqYVdGc1hDSTZiblZzYkN4Y0ltWmhZMmxoYkZ3aU9tWmhiSE5sTEZ3aWMyVnNabWxsWENJNmJuVnNiQ3hjSW5ObGVHOWNJanBjSWsxY0luMGlMQ0pwYzNNaU9pSkVVRk5KVkNCRWFXZHBkR0ZzSUZOcFoyNWhkSFZ5WlNCUWJHRjBabTl5YlNJc0ltVjRjQ0k2TVRjNE9ETXdORGd5TUgwLllWZzAwOTZvWUdUazBZX1VmaWE3RXVrcnk4c1hnX3NiLVJBU01fbXhqVGlNd3pKbjNlUmFGWGhEblQ0WW9CUWR3SnkzSFA0UXFpRWwweXZQb2x1LTJoR3BRX2JoOTdvYkt0LXU0cm1YczFaUk5aeXhJMG05ZG1faWQ3MFBybm9VSExkNHJFblFOZHlJek80WC1PdGNwY245M204dC15MExHZThSeGt6RVVpYjA1NHZORmpfTENoQkM2cDI3cm1mWlhzbF9oUC1KVGR3THRYQy1pZWh2U0Q1Mkk3M3NVVVRPalNNZWVDOEo0QTJVTUdPbE5aNlNfMWxJMVhsR09ITkNEX1o4SUY0c2g3YmZQUC1mcmtRdnl3WDNDbFJOTWdrbTk3UktGS0JRM0tldHB4dDI5akVkV1hXVnk2aU5HZzI1TkNOeTljYXVRZnAyVmotU0JOWGVQQQ==r   r&   Úmensaje_errorz	main.htmlÚnombreÚapellido)r.   r   Úerror)r   r)   r   ÚTESTr   r*   r+   r,   r-   r%   ÚuuidÚuuid4r   )r!   Ztok_realr   rC   Z
token_uuidr#   r#   r$   Úmain[   s   

 úrG   c                 C   sž   d}| j dkrC| j d¡}|dkr |dkr d| jd< d\}}}}|dkr9t| ƒ\}}|r9d	td
d|iƒd }}}|sCt | ¡\}}}|||dœ}td|iƒS )NFr'   ÚreqZ	siguienteZanteriorzERROR DE CONSULTAr@   )TZ	reiniciarr1   NZmostrar_errorzerror-modal.htmlrC   )ÚaccionÚ	contenidoÚtabÚresp)	r-   r'   r+   r   Úchequear_datosr   r   Ú	get_vistar   )r!   rC   rH   rI   rJ   rK   ÚmensajerL   r#   r#   r$   rN   n   s   

rN   c           (      C   s–  | j  d¡}|d ks|dks|dks|dkrdS | j  d¡}| j  d¡}t ||¡}|dkr5d	| j d< dS |d
kr=t| ƒS |dkrp| j d¡}| j d¡}zddtjj|djfddt	jj|djfg| j d< W dS    Y dS |dkrÛ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¡}dd|fdd|fd d!|	fd"d#|
fd$d%|fg| j d< |dkrÛ|	dkrÛ|
dkrÛ|dkrÛdS |d&kr£| j d'¡}| j d(¡}| j d)¡}| j d*¡}g }d+d,|fd-d.|fd/d0|fd1d2|fd3d4| j d5¡fd6d7| j d8¡fd9d:| j d;¡fd<d=| j d>¡fd?d@| j dA¡fdBdC| j dD¡fd<d=| j d>¡fdEdF| j dG¡fdHdI| j dJ¡fdKdL| j dM¡fdNdO| j dP¡fdQdR| j dS¡fdTdU| j dV¡fdWdX| j dY¡fdZd[| j d\¡fd]d^| j d_¡fd`da| j db¡fg| j d&< |dkr£|dkr£dS |dckr| j dd¡}| j de¡}| j df¡}| j dg¡}| j dh¡}| j di¡}| j dj¡}|dkkrâ|dkkrßdl}ndm}n
|dkkrêdn}nd}dodp|fdqdr|fdsdt|fdudv|fdwd=|fdxdy|fg| j dc< |dkr|dkr|dkr|dkrdS |dzkrw| j d{¡}| j d¡}| j d¡}| j d¡}	| j d¡}
| j d¡}| j d¡}d|d}|fdd|fdd|fd d!|	fd"d#|
fdd|fd~d$d%|fg| j dz< |dkrwdS |dkrº| j d€¡}| j d¡}| j d‚¡}| j d¡}dƒd„|fd…d†|fd‡d|fdˆd%|fg| j d< |dkrº|dkrº|dkrºdS |d‰kr3| j dŠ¡}d‹dŒ„ | j ¡ D ƒd } g }!| D ]E}"tj tjdŽ¡}#dt
t d¡ƒ d‘ }$tj |#|$¡}#t|#d’ƒ}%|" ¡ D ]}&|% |&¡ qûW d   ƒ n	1 sw   Y  |! |$¡ qÕ|!| j d“< d”d•t
t|!ƒƒfd–d—|fg| j d‰< dS |d˜krI| j d˜¡}'d™dš|'fg| j d˜< dS dS )›NÚvistaZmenu_principalZ
organismosÚescuelas©Fr1   ÚdatosÚnivelZconfirmacionTÚcargaZ
estructuraÚ	organismoÚdependenciaZ	ORGANISMOr	   ©ÚidZDEPENDENCIAr   )TzERROR LEYENDO DATOSZ	ubicacionÚ	direccionÚNoner1   zdireccion-descÚ	municipioÚ	localidadÚcoordenadasZ	DIRECCIONu
   DirecciÃ³nÚ
CALLE_DESCõ   DescripciÃ³nÚ	MUNICIPIOr   Ú	LOCALIDADr   ZCOORDENADASZCoordenadasZserviciozcant-dispositivoszusuarios-concurrentesztelefonos-ipzusuarios-vc-concurrentesZ	CANT_DISPzCantidad de dispositivosZUSU_CONCzUsuarios concurrentesZTEL_IPu   TelÃ©fonos IPZUSU_CONC_VCz)Usuarios concurrentes en videoconferenciaZINTRANETZIntranetÚintranetZ	VIDEOLLAMZVideollamadaÚvideollamadaZINTERNETZInternetÚinternetZEMAILÚEmailÚemailZ	AUDIO_STRzAudio streamingZaudiostrZVO_IPzVoice IPZvoipZ	VIDEOCONFZVideoconferenciaÚ	videoconfZMSJ_INSTu   MensajerÃ­a InstantÃ¡neaZinstmsjZ	VIDEO_STRzVideo StreamingZvideostrZAPPSZAplicacionesÚappsZAPPS_VPNzAplicaciones sobre VPNzapps-vpnZSERV_RECzServidor de recursoszserv-recZ
SUBIDA_DOCu%   Subida de documentaciÃ³n digitalizadazdoc-digZ	OTRO_SERVzOtro Servicioz	otro-servZOTRO_SERV_NOMzOtro serviciozservicio-nomZOTRO_SERV_DESCu   DescripciÃ³n del serviciozservicio-descZcontactoznombre-contactozapellido-contactoztfijo-contactoztcel-contactozemail-contactozcontacto-primerazcontacto-segundaÚNOzDe 08:00hs a 16:00hszDe 08:00hs a 12:00hszDe 12:00hs a 16:00hsZNOM_CONTzNombre del contactoZAPE_CONTzApellido del contactoZTEL_CONTu   TelÃ©fono fijoZCEL_CONTu   TelÃ©fono celularZ
EMAIL_CONTZ	HORA_CONTzHorario de contactoZenlacezid-enlace-obtZ	ID_ENLACEz	ID Enlace)r_   r`   r1   ZdestinoÚcalleÚalturaÚdescripcionZ
CALLE_DESTzCalle destinoZALTURA_DESTzAltura destinoZ
DESCR_DESTZCOORDENADAS_DESTÚmudanzaÚtrabajosc                 S   s   i | ]	\}}|t |ƒ“qS r#   )r   )Ú.0r"   Úvaluer#   r#   r$   Ú
<dictcomp>  s    z"chequear_datos.<locals>.<dictcomp>Úimagenesútmp/img/zIMAGEN-é@B z.jpegzwb+Úimagenes_mudanzaZIMAGENESu   ImÃ¡genes subidasZTRABAJOSzTrabajos a realizarÚmotivoZMOTIVOzMotivo del pedido)r   r+   r   Z
get_moduloÚsubir_plantillar'   r	   ÚobjectsrA   r   ÚstrÚreplaceÚFILESÚlistsÚosÚpathÚjoinr   ÚBASE_DIRÚsecretsÚ	randbelowÚopenÚchunksÚwriteÚappendÚlen)(r!   rP   rS   rT   ZmoduloÚorgÚdeprZ   Zdireccion_descr\   r]   r^   Z	cant_dispZusu_concZtel_ipZusu_vc_concZ	serviciosZnombre_contZapellido_contZ
tfijo_contZ	tcel_contZ
email_contZhorario1_contZhorario2_contZhorario_contÚ	id_enlacerV   rW   rk   rl   rm   ro   rs   Znombres_imagenesZimagenr   Únombre_archivoÚdestinationÚchunkrw   r#   r#   r$   rM   ‚   s"   

þ
û 

ë




ú(


ø


ü
ÿÿ

þ

ÿrM   c                 C   sF  t | j d¡ƒ}d|d  d |d  }| j d¡}|dkr!d}nd	| ¡  d
 }|dkrLt |¡D ]}| j |¡D ]}|d |d  d |d  }q:q2z,tjtj	tj
tjd}| dtjtj|tjt |¡tj|tjdœ¡}t|d d ƒ}	W n ty }
 zt|
ƒ W Y d }
~
dS d }
~
ww |dkr'| j d¡}zp| d|	ddœ¡}|D ]b}tj tjd¡}tj ||¡}| d|	d¡}|D ]%}|d dkræ|d tjkræ| dd|d i¡ | d|	tjtjdœ¡ qÁ| d|¡}zt |¡ W n   Y | d d|d d |d d!œ¡}q§W n ty& }
 ztd"t|
ƒ ƒ W Y d }
~
nd }
~
ww |dkrôtj tjd#¡}tj |d$tt  !d%¡ƒ d& ¡}t" #|¡}| $d'¡}| %ddd(¡ | %ddd)¡ | %ddd*¡ | %dd+d,¡ | %dd-d.¡ | %dd/d0¡ | %dd1d2¡ | %dd3d4¡ | %dd5d6¡ | %dd7d8¡ | %dd9d:¡ | %dd;d<¡ | %dd=d>¡ | j d?¡}t&t'|ƒƒD ]}t&t'|| ƒƒD ]}| %|d ||| | ¡ q¿qµ| (¡  | d'|¡}zt |¡ W n   Y | d d|	|d d!œ¡}t|	ƒ| jd@< tt)j) *¡ ƒ +d¡}|d  +dA¡}|d dB |d  dB |d  | jdC< |	dDfS )ENr   ú-Solicitante: rA   ú rB   rP   úalta-escuelasúPedido de ALTA de ESCUELASz
Pedido de z de servicioz
-é   z: é   ©ÚurlZapptokenÚauthÚTicket©Z_users_id_requesterÚ_groups_id_assignÚcontentÚstatusZitilcategories_idZrequesttypes_idÚnameÚtyper   rY   )r1   Trn   rv   Z
TicketTasku
   ImÃ¡genes:)Z
tickets_idr›   rt   ZGroup_Ticketrž   Z	groups_id)rY   rš   rœ   zImagen mudanzaÚDocument_Item©ZitemtypeZitems_idZdocuments_idu   Error enviando imÃ¡genes: ÚtmpúARCHIVO_ESCUELAS-ru   ú.xlsxÚESCUELASú#ÚPredioúID/CUEé   ÚEstablecimientoé   r   é   r   é   Ú	Domicilioé   ÚLatitudé   ÚLongitudé	   u   Ãmbito geogrÃ¡ficoé
   õ
   MatrÃ­culaé   õ   Piso tecnolÃ³gicoé   u   VÃ­nculo principalrU   Úcodigoú-r(   ÚcreadoF),r*   r   r+   Úupperr   Úget_modulosÚglpi_apiÚGLPIr   ÚURL_APIÚ	APP_TOKENÚ
USER_TOKENÚaddÚUSER_IDÚ
GRUPO_CIAUÚESTADOZget_categoriaÚREQUEST_TYPEÚTYPErz   Ú	ExceptionÚprintr~   r   r€   r   r   Zget_sub_itemsÚdeleteÚupdateÚupload_documentÚremover‚   rƒ   Ú
xlsxwriterÚWorkbookÚadd_worksheetr†   Úrangerˆ   Úcloser2   r4   Úsplit)r!   r   rJ   rP   ÚtituloÚvÚdÚglpirL   r¸   ÚeZarchivosZtk_tskrŒ   r   ÚresÚaÚ
res_uploadÚwbÚwsÚDATOSÚiÚjÚres_linkZaux_dater#   r#   r$   Úenviar_formulario1  s¸   ÿþø€þ
€"ñ€þ
 

ÿ&râ   c                 C   s&   | j dkstddiddS t| ƒ}|S )Nr'   rC   õ   ENDPOINT INVÃLIDOéô  ©rœ   )r-   r   Úgenerar_pdf)r!   Z	respuestar#   r#   r$   Údescargar_formulario—  s   
rç   c                 C   s(  | j dkstddiddS | j d¡}|dkr tdtd	ƒd
œƒS tjtjtj	tj
d}tjd|dœg}tj}|jd||d}| ¡  t|ƒdkrQtdtd	ƒd
œƒS |d tj }|d tj }|d tj }|d tj }	|d tj }
|d tj }|d tj }tdtd||||	|
||dœƒd
œƒS )Nr'   rC   rã   rä   rå   r‹   r1   Fzerror-busqueda.html)Z	resultadoÚhtmlr•   Úis)ÚfieldZ
searchtyperq   Znetworkequipment)ÚcriteriaÚforcedisplayr   Tztabla-busqueda-id.html)rA   rV   rW   r\   r]   rZ   r^   )r-   r   r'   r+   r   r½   r¾   r   r¿   rÀ   rÁ   Z	NOMBRE_IDZDISPLAYÚsearchÚkill_sessionrˆ   ZORG_IDZDEP_IDZMUN_IDZLOC_IDZDIR_IDZCOORD_ID)r!   r‹   r×   rë   rì   rL   rA   rV   rW   r\   r]   rZ   r^   r#   r#   r$   Ú	buscar_id  s.   
þ$rï   c                 C   sF   | j  d¡}tjj|d}g }|D ]}| |j|jf¡ qtd|iƒS )NrV   )Znombre__containsÚdependencias)	r&   r+   r   ry   Úfilterr‡   rY   rA   r   )r!   r‰   rŠ   ÚdepsrÖ   r#   r#   r$   Ú
buscar_orgº  s   ró   c                 C   sr   | j  d¡}g }z$tjj|d}t|ƒ}|D ]}| |j|jf¡ q| |j|jf¡ W n   g }Y td|iƒS )NrW   rX   rð   )	r&   r+   r   ry   Úget_organismor‡   rY   rA   r   )r!   rY   rð   rŠ   rò   rÖ   r#   r#   r$   Úget_depÂ  s   rõ   c                 C   s”   g }z4t jj| jd}| |¡ |jdkr(t jj|jd}| d|¡ |jdks| dtjj|jd¡ W |S    tjj| jd}| |¡ Y |S )NrX   r   )	r
   ry   r+   Úreparticionr‡   ÚdependeÚinsertr	   rV   )ZDEPÚrepsÚrepr#   r#   r$   rô   Ï  s   


þýrô   c                 C   sì   g }| j  d¡}| j  d¡}tt|ƒd ƒ}tjj|d d¡}tjj|d d¡}tjj|d d¡}|D ]}| 	|j
|jf¡ q6|D ]}| 	|j
|jf¡ qD|D ]}	| 	|	j
|	jf¡ qRt|ƒdkrgd	}
nd
}
t|
td||dœƒdœƒS )Nr‹   rT   r“   )rV   rA   )r÷   ©rö   r   ÚtrueÚfalsezmodulo-reparticion.html)rT   rù   )rŠ   Úinfo)r'   r+   rz   Úintr
   ry   rñ   Úorder_byr   r‡   rY   rA   rˆ   r   r   )r!   ZreparticionesrY   rT   rù   Zsub_repsrò   ÚrÚsrÖ   rŠ   r#   r#   r$   Úget_reparticionesÝ  s"   r  c                 C   sL   g }| j  d¡}tjj|d d¡}|D ]}| |j|jf¡ qt	d|iƒS )Nrö   rû   rA   rð   )
r'   r+   r   ry   rñ   r   r‡   rY   rA   r   )r!   rð   rú   rò   rÖ   r#   r#   r$   Úget_dependenciasô  s   r  c              	   C   s~  | j  d¡}d}d}d}d}d}d}d}d}	|dkrd}d}|d	kr(d
}d
}d
}	|dkr0d
}d
}	|dkr:d
}d
}d
}	|dkr@d
}t ¡  ¡ dkr]tj tj	d| d ¡}
tj tj	d¡}ntj tj	d¡}
tj tj	d¡}t
tj	ƒ dd¡}|d }g }| j  d¡}|d krˆd
}t |¡D ]}| j  |¡D ]}| |¡ q•qt|
ddd}d
}g }| d| ¡ f¡ | d|f¡ | d|f¡ | d|f¡ | d|f¡ | d |f¡ | d!|f¡ | d"|f¡ | d#|f¡ | d$|	f¡ | d%| j  d&¡f¡ |s7|D ]4}|D ]\}}| d'| d( |¡}q|D ]\}}}| d'| d( | d)d*¡ d+d
¡¡}q|| }qnc|D ]`}|D ]\}}| d'| d( |¡}q=d,|vrX|| }q9|d- }t ¡ D ]\}}|d. t
|ƒ d/ | d0 }q`|d1 }|D ]}|d2 }|D ]}|d3 }|| }|d4 }q‚|d5 }qzq9tj|ddd6dd7œd8}t|d9d:}|d
krµd;| }d<| d= |d>< |S )?NrP   FÚtemplatezdisplay: none;zdisplay:none;r‘   ztemplate-escuelasTÚaltar1   Úbajau   modificaciÃ³nrn   Zwindowszformulario\templates\z.txtzformulario\staticz!formulario/templates/template.txtzformulario/staticú\r(   z/formulario/staticr¸   r  r6   )ÚencodingZTIPO_REQZTCK_GLPIÚstaticZ
static_cssZALTA_MODZALTAZBAJAZMUDANZAZMODIFICACIONZABMZFECHA_SOLICITUDrº   ú<ú>u   SÃÚcheckedr[   z<DATOS>z<thead>z<th style='width: z%;'>z</th>z</thead>z<tr>z<td>z</td>z</tr>zUTF-8)r	  zenable-local-file-access)Úverboser7   zapplication/pdf©Úcontent_typez - Tckz attachment; filename="Formularioz.pdf"úContent-Disposition)r   r+   ÚplatformÚsystemÚlowerr~   r   r€   r   r   rz   r{   r   r¼   r‡   r„   r»   Zget_campos_escuelasÚpdfkitÚfrom_stringr   )r!   rP   rQ   r  r  ZmodificacionZalta_modr  rn   ZabmÚ	file_pathZstatic_pathZpath_cssrS   r¸   rÕ   rÖ   ÚfnrJ   r   ÚlineÚvarÚvalZnomZcampoZlongitudZdatoÚpdfÚresponser#   r#   r$   ræ   ü  s¬   ÿ(û
 ú

ræ   c                 C   s~   t j tjd¡}t j |¡r9t|dƒ}t|dd}dt j |¡› d|d< |W  d   ƒ S 1 s2w   Y  d S tdd	d
S )NzPLANTILLA-ESCUELAS.xlsxÚrbzapplication/octet-streamr  zattachment; filename="ú"r  zFile not foundi”  rå   )	r~   r   r€   r   Ú
MEDIA_ROOTÚexistsr„   r   Úbasename)r!   r  Úfiler  r#   r#   r$   Údescargar_plantillab  s   $ýr$  c           "      C   sn  | j d }|j d¡s|j d¡sdS ztj|j| ¡ d}W n   Y dS | d¡}|j}|dkr4dS |d	kr:d
S |j}d}d}d}d}	d}
d}d}d}d}d}d}d}d}g }t	|ƒD ]Ñ}|dkr¶t	|ƒD ]Æ}dt
| ||¡ƒ ¡ v ry|}t
| ||¡ƒ ¡ dkst
| ||¡ƒ ¡ dkst
| ||¡ƒ ¡ dkrŸ|}dt
| ||¡ƒ ¡ v r­|}dt
| ||¡ƒ ¡ v r»|}dt
| ||¡ƒ ¡ v rÉ|}	dt
| ||¡ƒ ¡ v r×|}
dt
| ||¡ƒ ¡ v rå|}dt
| ||¡ƒ ¡ v ró|}dt
| ||¡ƒ ¡ v r|}dt
| ||¡ƒ ¡ v r|}dt
| ||¡ƒ ¡ v r |}dt
| ||¡ƒ ¡ v r/|}qi|dkr7d}|dkr@|d }|dkrI|d }|	dkrR|d }|
dkr[|d }|dkrd|d }|dkrm|d  }|dkrv|d! }|dkr|d" }|dkrˆ|d# }|dkr‘|d$ }|dkrš|d% }|dkrµ| d&¡r«|d'd … }d(| }d)|f  S q]t
| ||¡ƒ}t
| ||¡ƒ}t
| ||¡ƒ}t
| ||	¡ƒ}t
| ||
¡ƒ}t
| ||¡ƒ}t
| ||¡ƒ}t
| ||¡ƒ}t
| ||¡ƒ}t
| ||¡ƒ d*¡d }t
| ||¡ƒ} t
| ||¡ƒ}!| t
|ƒ||||||||||| |!f¡ q]|| jd+< d,S )-NZarchivoEscuelasr£   z.xls)Tz2No es un tipo de archivo compatible (.xlsx o .xls))Zfile_contents)TzNo se pudo leer archivor   )Tu   Archivo sin informaciÃ³niè  )Tu*   Cantidad mÃ¡xima de puntos excedida (1000)éÿÿÿÿr1   ÚPREDIOÚIDr§   ZCUEÚESTABLECIMIENTOÚ	DOMICILIOra   rb   ÚLATITUDÚLONGITUDz	MBITO GEOZMATRz	PISO TECNZ	PRINCIPALz, ID/CUEz, ESTABLECIMIENTOz, MUNICIPIOz, LOCALIDADz, DOMICILIOu   , ÃMBITO GEOGRÃFICOz	, LATITUDz
, LONGITUDu   , MATRÃCULAu   , PISO TECNOLÃ“GICOu   , VÃNCULO PRINCIPALz, r”   z@No se encontraron los siguientes campos en la planilla cargada: TÚ.rU   rR   )r|   r   ÚendswithÚxlrdZopen_workbookÚreadZsheet_by_indexZnrowsZncolsrÑ   rz   Z
cell_valuer»   Ú
startswithrÓ   r‡   r   )"r!   r?   ÚdocZhojaZfilasÚcolZPREDIO_iZID_iZESTABLECIMIENTO_iZMUNICIPIO_iZLOCALIDAD_iZDOMICILIO_iZAMBITO_iZ	LATITUD_iZ
LONGITUD_iZ
PISO_TEC_iZMATRICULA_iZVINC_PRIN_iZMENSAJE_ERRORZRESrß   rà   r&  r'  r(  ra   rb   r)  r*  r+  ZAMBITOZ	MATRICULAZPISO_TECZ	VINC_PRINr#   r#   r$   rx   l  sÊ   


H€












*
rx   c                 C   sx  zt | j d¡ƒ}d|d  d |d  d }W n   d}Y d}ztjtjtjtjd	}W n   t	d
dddœƒ Y S z| 
dtjtj|tjtjtj|tjdœ¡}t|d d ƒ}W n   t	d
dddœƒ Y S tj tjd¡ }}tj |dtt d¡ƒ d ¡ }}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.¡ | j d/¡}tt|ƒƒD ]}tt|| ƒƒD ]}|
 |d ||| | ¡ qùqï|	 ¡  |  d|¡}zt !|¡ W n   Y | 
d0d||d d1œ¡}| "¡  t	d2d3d4t|ƒ dœƒS )5Nr   r   rA   r   rB   Ú
r1   r’   r•   ZSIÚERRORz#No se pudo conectar con el servidor)rC   rÔ   rO   r˜   r™   r   rY   zNo se pudo crear ticketr¡   r¢   ru   r£   r¤   r¥   r“   r¦   r”   r§   r¨   r©   rª   r   r«   r   r¬   r­   r®   u   Ãmbito GEOr°   r¯   r²   r±   r³   r´   rµ   r¶   rQ   rŸ   r    rj   zSOLICITUD ENVIADAzCodigo de seguimiento: )#r*   r   r+   r½   r¾   r   r¿   rÀ   rÁ   r   rÂ   rÃ   rÄ   rÅ   ZCATEGORIA_ID_ABM_ALTASrÆ   rÇ   rz   r~   r   r€   r   r   r‚   rƒ   rÎ   rÏ   rÐ   r†   rÑ   rˆ   rÒ   rÌ   rÍ   rî   )r!   r   rJ   rÔ   r×   rL   Z	id_ticketr   ÚdirrÜ   rÝ   rÞ   rß   rà   rÛ   rá   r#   r#   r$   Úenviar_plantilla×  sr    
þø	$

ÿr6  c                 C   s~   d| vr|   dd¡ d¡}n	|   dd¡ d¡}t|ƒdkrdS t|d ƒdk r)dS d|d vs5d|d	 vr7dS |d |d	 fS )
Nú,r   r1   r”   )NNr   rª   r¹   r“   )r{   rÓ   rˆ   )r^   Zauxr#   r#   r$   Úget_coordenadas  s   r8  )QÚdjango.httpr   r   r   Zdjango.contrib.auth.decoratorsr   Z$django.views.decorators.clickjackingr   Zdjango.shortcutsr   r   Zformulario.modelsr	   r
   r   r   r   r   r   Údjango.contrib.auth.modelsr   Údjango.contrib.authr   r   r   Údjango.core.paginatorr   Údjango.views.decorators.csrfr   r   r   Údjango.core.cacher   Údjango.confr   Údjango.template.loaderr   Ú
formularior   r   r½   r.  rÎ   Úrandomr‚   Útempfiler  Úior~   r  r=   r<   ÚrequestsÚstringr2   Útimer9   Zgeopy.distanceZgeopyrE   r%   r/   r0   r,   r*   rG   rN   rM   râ   rç   rï   ró   rõ   rô   r  r  ræ   r$  rx   r6  r8  r#   r#   r#   r$   Ú<module>   sp    $

 0ff
k=