o
    h                     @   s   d dl mZ d dlmZ d dlmZ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 d dlmZ ed	d
 Zedd Zedd Zedd ZdS )    )render)login_required)CountQ)timezone)	timedeltadatetime   )
VisitorLogSignupAttemptContactSubmissionPageView)Tenantc                 C   s  t   }|tdd }|tdd }tj }tjj|dd	  }tjj|dd	  }tjj|dd	  }tjjdd }tjjd	d }	t
j }
t
jjd
d }t
jjdd }t
jj|d }t
jj|d }t
jj|d }tj }tjjdd }tjj|d }tjj|d }tjj|dddd }t
jddd }tjddd }tjjddddd }g }tdD ]#}|t|d }tjj|ddd	  }||d|d q|  tjjdd|djdddjtddddd }i d|d|d|d |d!|d"|	d#|
d$|d%|d&|d'|d(|d)|d*|d+|d,|d-||||||d.}t| d/|S )0z+Analytics dashboard for site administrators   )days   )timestamp__date
ip_address)timestamp__date__gteFis_botTsuccess)statusfailed)is_processed)	date__gtez-views_countN
   
-timestamp   )r   r   z%Y-%m-%d)datevisitors)referrer__isnullr   r    )referrerr#   )countz-counttotal_visitorsunique_visitors_todayunique_visitors_weekunique_visitors_monthhuman_visitorsbot_visitorstotal_signupssuccessful_signupsfailed_signupssignups_todaysignups_weeksignups_monthtotal_contactsunprocessed_contactscontacts_todaycontacts_week	top_pages)recent_signupsrecent_contactsrecent_visitorsvisitor_chart_datatop_referrerszanalytics/dashboard.html)r   nowr   r   r
   objectsr$   filtervaluesdistinctr   r   r   order_byrangeappendstrftimereverseexcludeannotater   r   )requesttodayweek_ago	month_agor%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   ir   daily_visitorsr:   context rN   $/var/www/html/pos/analytics/views.pyanalytics_dashboard   s   



	
rP   c                 C   $   t j d}d|i}t| d|S )zDetailed signup analyticsr   signupszanalytics/signup_analytics.html)r   r<   allr@   r   )rG   rR   rM   rN   rN   rO   signup_analyticsp      rT   c                 C   rQ   )zDetailed contact form analyticsr   contactsz analytics/contact_analytics.html)r   r<   rS   r@   r   )rG   rV   rM   rN   rN   rO   contact_analytics|   rU   rW   c                 C   s(   t jjddd}d|i}t| d|S )zDetailed visitor analyticsFr   r   r    z analytics/visitor_analytics.html)r
   r<   r=   r@   r   )rG   r    rM   rN   rN   rO   visitor_analytics   s   rX   N)django.shortcutsr   django.contrib.auth.decoratorsr   django.db.modelsr   r   django.utilsr   r   r   modelsr
   r   r   r   tenants.modelsr   rP   rT   rW   rX   rN   rN   rN   rO   <module>   s   
d

