
    -i                     b   d dl mZmZmZ d dl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 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&m'Z'  G d de      Z( G d de      Z) G d dee      Z* G d de	      Z+ G d de      Z, G d de	      Z-y)    )renderredirectget_object_or_404)ViewListViewTemplateView
DetailView
CreateView)LoginRequiredMixin)authenticateloginlogout)messages)JsonResponseHttpResponse)reversereverse_lazy)CountQ)timezone)ContentFile)csrf_exempt)require_POST)DBHelper   )SupportTicketTicketMessagec                       e Zd ZdZd Zd Zy)	LoginViewzVista de login personalizadac                 \    |j                   j                  rt        d      S t        |d      S )Ndashboard:dashboardclients/login.html)useris_authenticatedr   r   selfrequests     7/var/www/app.tikistats.com/public_html/clients/views.pygetzLoginView.get   s)    <<((122g344    c                    |j                   j                  d      }|j                   j                  d      }t        |||      }|et        ||       t	        j
                  |d|j                  xs |j                   d       |j                  j                  dd      }t        |      S t	        j                  |d       t        |d	      S )
Nusernamepassword)r,   r-   u   ¡Bienvenido !nextr!   u!   Usuario o contraseña incorrectosr"   )POSTr)   r   r   r   success
first_namer,   GETr   errorr   )r&   r'   r,   r-   r#   next_urls         r(   postzLoginView.post   s    <<##J/<<##J/GhJ'4 Wdoo6V5WWX&YZ {{v/DEHH%%NN7$GH'#788r*   N)__name__
__module____qualname____doc__r)   r6    r*   r(   r   r      s    &59r*   r   c                       e Zd ZdZd Zy)
LogoutViewzVista de logout personalizadac                 .    t        |       t        d      S )N/)r   r   r%   s     r(   r)   zLogoutView.get/   s    w}r*   N)r7   r8   r9   r:   r)   r;   r*   r(   r=   r=   ,   s
    'r*   r=   c                   &     e Zd ZdZdZ fdZ xZS )PQRSViewzclients/pqrs.htmlr?   c           
      b   t        |   di |}dddddddt        j                         dd	d
dddddt        j                         dg|d<   ddddddt        j                         t        j                         dddddddt        j                         t        j                         dg|d<   |S ) Nr   z#TKT-20251017-0001u/   Problema con acceso a estadísticas del partidoin_progresszEn ProgresoReclamoMedia)pkticket_numbersubjectstatusstatus_displayticket_type_displaypriority_display
created_at   z#TKT-20251015-0089u;   Sugerencia para mejorar la visualización de mapas de calorwaiting_userzEsperando Respuesta
SugerenciaBajaactive_tickets   z#TKT-20251001-0045u.   Consulta sobre exportación de reportes en PDFresolvedResueltou	   Petición)rF   rG   rH   rI   rJ   rK   rM   resolved_at   z#TKT-20250928-0034z#Error al cargar dashboard principalclosedCerrado)rF   rG   rH   rI   rJ   rK   rM   	closed_athistory_ticketsr;   )superget_context_datar   now)r&   kwargscontext	__class__s      r(   r]   zPQRSView.get_context_data9   s    '*4V4
 !5L'"/'0$+&lln	 !5X("7'3$*&lln	%
 !4 !5K$",'2&lln'||~	 !5@""+'0&lln%\\^	&
!". r*   )r7   r8   r9   template_name	login_urlr]   __classcell__)ra   s   @r(   rA   rA   4   s    'MI3 3r*   rA   c                   2    e Zd ZeZdZg dZ ed      Zd Z	y)TicketCreateViewz	pqrs.html)ticket_typerH   descriptionprioritypqrsc                 D    t        j                  |d       t        d      S )NuI   Función de creación de tickets temporalmente deshabilitada (modo demo).rj   r   infor   r&   r'   argsr_   s       r(   dispatchzTicketCreateView.dispatchw   s    gjkr*   N)
r7   r8   r9   r   modelrb   fieldsr   success_urlrp   r;   r*   r(   rf   rf   p   s     EMBFv&K r*   rf   c                       e Zd ZeZdZdZd Zy)TicketDetailViewzclients/ticket_detail.htmlticketc                 D    t        j                  |d       t        d      S )Nz:Vista de detalles temporalmente deshabilitada (modo demo).rj   rl   rn   s       r(   rp   zTicketDetailView.dispatch   s    g[\r*   N)r7   r8   r9   r   rq   rb   context_object_namerp   r;   r*   r(   ru   ru   }   s    E0M" r*   ru   c                       e Zd ZeZdgZd Zy)TicketMessageCreateViewmessagec                 D    t        j                  |d       t        d      S )Nu?   Función de respuestas temporalmente deshabilitada (modo demo).rj   rl   rn   s       r(   rp   z TicketMessageCreateView.dispatch   s    g`ar*   N)r7   r8   r9   r   rq   rr   rp   r;   r*   r(   rz   rz      s    E[F r*   rz   N).django.shortcutsr   r   r   django.views.genericr   r   r   r	   r
   django.contrib.auth.mixinsr   django.contrib.authr   r   r   django.contribr   django.httpr   r   django.urlsr   r   django.db.modelsr   r   django.utilsr   django.core.files.baser   django.views.decorators.csrfr   django.views.decorators.httpr   dashboard.db_helperr   modelsr   r   r   r=   rA   rf   ru   rz   r;   r*   r(   <module>r      s    @ @ U U 9 ; ; # 2 - % ! . 4 5 ( 09 96 8!< 8x	 z 	  z   j  r*   