o
    ³øjF  ã                   @  s˜   d 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
 eƒ ZG dd„ dejƒZG d	d
„ d
ejƒZG dd„ dejƒZG dd„ deejƒZdS )a–  
Modelos SQLAlchemy de LicenciasMiG.

Apunta a la BD compartida con el panel viejo (LicenciasMIG en SQL Server VPS):
  - Solicitudes       -> nueva (creada por migrations\001_create_solicitudes.sql)
  - Usuarios          -> ya existe, reusada para login
  - LicenciasEmpresas -> ya existe, se INSERTA al aprobar una solicitud
  - Empresas          -> ya existe, solo lectura para hidratar datos al aprobar
é    )Úannotations)Údatetime)Ú	UserMixin)Ú
SQLAlchemy)Úcheck_password_hashÚgenerate_password_hashc                   @  sÊ  e Zd ZdZejejdddZeje d¡dddZ	e e d¡¡Z
e e d¡¡Ze e d¡¡Ze e d¡¡Ze e d¡¡Ze e d	¡¡Ze e d	¡¡Ze e d¡¡Ze e d¡¡Ze e d¡¡Ze e d
¡¡Zeje d¡dddZejejddZe ej¡Ze e d¡¡Ze e d¡¡Zeje d¡dddZejejdejdZeje d¡dddZ e ej¡Z!e e d	¡¡Z"e e d¡¡Z#e ej¡Z$e e d¡¡Z%dd„ Z&dS )Ú	SolicitudÚSolicitudesT©Úprimary_keyÚautoincrementé2   F©ÚnullableÚindexéÿ   éô  éd   iè  é   ÚNO)r   Údefault©r   éÈ   ÚMIGé   Ú	PendienteiÐ  é-   c                 C  sæ   i d| j “d| j“d| j“d| j“d| j“d| j“d| j“d| j“d	| j“d
| j	“d| j
“d| j“d| j“d| j“d| j“d| j“d| j“| j| j| jrR| j d¡nd | j| jr^| j d¡nd | j| j| jrl| j d¡nd | jdœ	¥S )NÚSolicitudIDÚNITÚNombreEmpresaÚNombreComercialÚ	DireccionÚTelefonoÚCelularÚDepartamentoÚCiudadÚResponsableÚTelefonoResponsableÚCorreoResponsableÚMotivoÚLicenciaTemporalÚClaveProductoÚClaveMesÚNombreEquipoz%Y-%m-%d %H:%M:%S)	Ú	OSVersionÚModuloÚFechaSolicitudÚEstadoÚFechaResolucionÚUsuarioAprobadorÚObservacionesÚFechaVencimientoÚ	IpCliente)r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   Ústrftimer1   r2   r3   r4   r5   r6   ©Úself© r:   ú$/var/www/html/LicenciasMiG/models.pyÚto_dict6   sZ   ÿþýüûúùø	÷
öõôóòñðïæzSolicitud.to_dictN)'Ú__name__Ú
__module__Ú__qualname__Ú__tablename__ÚdbÚColumnÚIntegerr   ÚStringr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   ÚUnicodeTextr+   r,   r-   r.   r/   ÚDateTimer   Úutcnowr0   r1   r2   r3   r4   r5   r6   r<   r:   r:   r:   r;   r      s:    r   c                   @  s  e Zd ZdZejejdddZeje d¡ddddZ	eje d¡ddZ
eje d¡ddZe e d¡¡Ze e d¡¡Ze e d¡¡Zejejddd	Zejejddd	Ze e d
¡¡Zejejejdd	ZejejejejddZe ej¡Ze ej¡Ze ej¡ZdS )ÚEmpresaÚEmpresasTr
   r   F)r   Úuniquer   r   ©r   ©r   r   é   )r   Úonupdater   N)r=   r>   r?   r@   rA   rB   rC   Ú	EmpresaIDrD   ÚnitÚrazonsocialÚnombrecomercialÚ	direccionÚtelefonoÚcelularÚBooleanÚmensualidadÚ
regularizaÚtipotpvrF   r   rG   ÚfecharegistroÚfechaactualizacionrE   ÚclaveproductoÚnombreequipoÚ	osversionr:   r:   r:   r;   rH   U   s"    rH   c                   @  sj  e Zd ZdZejejdddZeje d¡dddZ	e e d¡¡Z
e e d¡¡Ze e d¡¡Ze e d¡¡Ze e d¡¡Ze e d¡¡Ze e d¡¡Zejejddd	Zejejejdd	Ze e d
¡¡Ze e d
¡¡Ze e d
¡¡Ze e d
¡¡Ze ej¡Ze ej¡Ze ej¡Zeje d
¡ddZejejddd	Z ejejddd	Z!dS )ÚLicenciaEmpresaÚLicenciasEmpresasTr
   r   Fr   r   é
   rL   r   rK   N)"r=   r>   r?   r@   rA   rB   rC   Ú
LicenciaIDrD   rP   rQ   rR   rS   rT   rU   ÚiddepartamentoÚidciudadrV   ÚlicenciatemporalrF   r   rG   rZ   ÚresponsableÚcorreoresponsableÚtelefonoponsableÚmotivolicenciarE   r\   r]   r^   ÚclavemesÚlicenciaactivaÚbloquearlicenciar:   r:   r:   r;   r_   i   s.    r_   c                   @  sÐ   e Zd ZdZejejdddZeje d¡dddZ	eje d¡ddZ
e e d	¡¡Ze e d
¡¡Zeje d¡dddZejejdddZejejejddZe ej¡Zddd„Zddd„Zdd„ ZdS )ÚUsuarioÚUsuariosTr
   r   F)r   rJ   r   r   r   r   ÚAdminrL   ÚpasswordÚstrÚreturnÚNonec                 C  s   t |ƒ| _d S ©N)r   ÚPasswordHash©r9   rp   r:   r:   r;   Úset_password   s   zUsuario.set_passwordÚboolc                 C  s   t | j|ƒS rt   )r   ru   rv   r:   r:   r;   Úcheck_password“   s   zUsuario.check_passwordc                 C  s
   t | jƒS rt   )rq   Ú	UsuarioIDr8   r:   r:   r;   Úget_id–   s   
zUsuario.get_idN)rp   rq   rr   rs   )rp   rq   rr   rx   )r=   r>   r?   r@   rA   rB   rC   rz   rD   ÚUsernameru   ÚNombreCompletoÚEmailÚRolrV   ÚActivorF   r   rG   ÚFechaCreacionÚUltimoAccesorw   ry   r{   r:   r:   r:   r;   rm   ƒ   s    

rm   N)Ú__doc__Ú
__future__r   r   Úflask_loginr   Úflask_sqlalchemyr   Úwerkzeug.securityr   r   rA   ÚModelr   rH   r_   rm   r:   r:   r:   r;   Ú<module>   s    	?