U
    jmeM                     @   s   d dl 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 Z	dd	 Z
d
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ ZdS ),    renderN)HttpResponse)JsonResponse)uniformc               
   C   sh   z*t d} |   |  }|dg }W n8 t jjk
rb } ztd|  g }W 5 d }~X Y nX |S )Nz8http://210.56.21.197/trucking/index.php/api/getUsersDataresponsezError fetching data: )requestsgetraise_for_statusjson
exceptionsRequestExceptionprint)r   	data_senddatae r   5/var/www/html/TRUCKING_PROJECT/trucking/user/views.pyget_users_data   s    r   c                 C   s   t tddd}|S )Ng      @g      @   )roundr   )user_idZdummy_ratingr   r   r   get_user_rating_function   s    r   c                 C   s   t |}td|iS )Nuser_rating)r   r   )requestr   r   r   r   r   get_user_rating    s    r   c                 C   s   t d t }dd |D }dd |D }d}d}d}d}d}d}	|D ]}
|
d }|
d }|dkr|d	krt|d
7 }n"|dkr|d
7 }n|dkr|d
7 }|dkrF|d	kr|d
7 }qF|dkr|d
7 }qF|dkrF|	d
7 }	qFt| d||||||||	dS )NZuseersc                 S   s   g | ]}|d  dkr|qS role1r   .0userr   r   r   
<listcomp>-   s      zuserList.<locals>.<listcomp>c                 S   s   g | ]}|d  dkr|qS r   3r   r   r   r   r   r"   .   s      r   r   statusr   r   r   2r$   r$   zuser_list.html)shipper_data_listdriver_data_listactive_count_shipperinactive_count_shipperblock_count_shipperactive_count_driverinactive_count_driverblock_count_driver)r   r   r   )r   userDatashipper_listdriver_listr+   r,   r-   r.   r/   r0   r!   r   r%   r   r   r   userList%   s8    	




r4   c                 C   s
   t | dS )Nzrating.htmlr   )r   r   r   r   
userRatingV   s    r5   c                 C   s^   | j d}t| t }d }|D ] }|d |kr"|dg } qDq"td| t| dd|iS )NuserIdidZorder_detailszUser Order Details:zorderDetails.htmluser_order_details)GETr	   r   r   r   )r   r6   r1   r8   r!   r   r   r   orderDetailsZ   s    
r:   c                 C   s  | j dkr| jddkrzBt| j}|d }|d }d}||d}tj||d}|jrPt	 }d	d
 |D }dd
 |D }	d}
d}d}d}d}d}|D ]}|d }|d }|dkr|dkr|
d7 }
n"|dkr|d7 }n|dkr|d7 }|dkr|dkr|d7 }q|dkr |d7 }q|dkr|d7 }qt
d||	|
|||||d	W S t
dddW S W n: tk
r } zt
dt|d W Y S d }~X Y nX nt
ddiS d S )NPOSTx-requested-withXMLHttpRequestr   account_state;http://210.56.21.197/trucking/index.php/Api/updateUserStater   r>   r   c                 S   s   g | ]}|d  dkr|qS r   r   r   r   r   r   r"   }   s     z%update_user_state.<locals>.<listcomp>c                 S   s   g | ]}|d  dkr|qS r#   r   r   r   r   r   r"      s     r   r   r%   r&   r   r   r'   r$   r(   success)	r%   r)   r*   r+   r,   r-   r.   r/   r0   failure!Failed to connect to external APIr%   messageerrorInvalid request)methodheadersr	   r   loadsbodyr   postokr   r   	Exceptionstr)r   r   r   r>   api_urlpayloadr   r1   r2   r3   r+   r,   r-   r.   r/   r0   r!   r   r%   r   r   r   r   update_user_statei   s\    






*rS   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r&   r   rB   r%   active_users_listrC   rD   rE   rG   rH   rI   rJ   r	   r   rK   rL   r   rM   rN   r   appendr   rO   rP   r   r   r   r>   rQ   rR   r   r1   active_usersr!   r   r%   r   r   r   r   update_active_user_state   s0    *rZ   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r&   r'   rB   r%   Zinactive_users_data_listrC   rD   rE   rG   rH   rV   r   r   r   r>   rQ   rR   r   r1   inactive_usersr!   r   r%   r   r   r   r   update_inactive_user_state   s0    *r^   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r&   r$   rB   r%   Zblocked_users_data_listrC   rD   rE   rG   rH   rV   r   r   r   r>   rQ   rR   r   r1   blocked_usersr!   r   r%   r   r   r   r   update_block_user_state   s0    *rb   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r(   r   rB   rT   rC   rD   rE   rG   rH   rV   rX   r   r   r   update_active_driver_state(  s0    *rc   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r(   r'   rB   r[   rC   rD   rE   rG   rH   rV   r\   r   r   r   update_inactive_driver_stateR  s0    *rd   c              
   C   s  | j dkr| jddkrzt| j}|d }|d }d}||d}tj||d}|jrt	 }g }|D ].}	|	d	 }
|	d
 }|
dkrh|dkrh|
|	 qhtd|dW S tdddW S W n8 tk
r } ztdt|d W Y S d }~X Y nX ntddiS d S )Nr;   r<   r=   r   r>   r?   r@   rA   r   r%   r(   r$   rB   r_   rC   rD   rE   rG   rH   rV   r`   r   r   r   update_block_driver_state|  s0    *re   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r&   r   zActiveUserList.htmlrU   r   r   rW   r   r   r1   rY   r!   r   r%   r   r   r   
activeUser  s    rh   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r&   r'   zinActiveUserList.htmlinactive_users_listrf   r   r1   r]   r!   r   r%   r   r   r   inactiveUser  s    rk   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r&   r$   zblockedUserList.htmlblocked_users_listrf   r   r1   ra   r!   r   r%   r   r   r   blockedUser  s    rn   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r(   r   zActiveDriverList.htmlrU   rf   rg   r   r   r   activeDrivers  s    ro   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r(   r'   zinActiveDriverList.htmlri   rf   rj   r   r   r   inactiveDrivers  s    rp   c                 C   sV   t  }t| g }|D ].}|d }|d }|dkr|dkr|| qt| dd|iS )Nr   r%   r(   r$   zblockedDriverList.htmlrl   rf   rm   r   r   r   blockedDrivers  s    rq   )django.shortcutsr   r   django.httpr   r   r   randomr   r   r   r   r4   r5   r:   rS   rZ   r^   rb   rc   rd   re   rh   rk   rn   ro   rp   rq   r   r   r   r   <module>   s0   1A******