o
    uEhw                     @   s   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 ddlmZ d d	lmZ ed
dgdd Zeg ddd ZdS )    )render)api_view)Responsestatus)transaction   )
Supervisor)SupervisorSerializer)	log_errorGETPOSTc              
   C   s>  | j dkr7ztj }t|dd}t|jW S  ty6 } ztd| tddit	j
dW  Y d }~S d }~ww | j dkrz@t 1 t| jd	}| rb| }tt|jt	jdW  d    W S t|jt	jdW  d    W S 1 suw   Y  W d S  ty } ztd
| tddit	j
dW  Y d }~S d }~ww d S )Nr   T)manyzsupervisor_list.GETerrorz,An error occurred while fetching supervisorsr   r   datazsupervisor_list.POSTz+An error occurred while creating supervisor)methodr	   objectsallr
   r   r   	Exceptionr   r   HTTP_500_INTERNAL_SERVER_ERRORr   atomicis_validsaveHTTP_201_CREATEDerrorsHTTP_400_BAD_REQUEST)requestsupervisors
serializere
supervisor r"   5C:\Users\Denis\Desktop\TimeStamps\supervisor\views.pysupervisor_list   s@   




(
r$   )r   PUTDELETEc              
   C   s2  z	t jj|d}W n/ t jy   ttjd Y S  ty8 } ztd| tdditj	dW  Y d }~S d }~ww | j
dkriz
t|}t|jW S  tyh } ztd| tdditj	dW  Y d }~S d }~ww | j
d	krz>t / t|| jd
}| r| }tt|jW  d    W S t|jtjdW  d    W S 1 sw   Y  W d S  ty } ztd| tdditj	dW  Y d }~S d }~ww | j
dkrz"t  |  ttjdW  d    W S 1 sw   Y  W d S  ty } ztd| tdditj	dW  Y d }~S d }~ww d S )N)pkr   z supervisor_detail.get_supervisorr   z+An error occurred while fetching supervisorr   zsupervisor_detail.GETz3An error occurred while fetching supervisor detailsr%   r   zsupervisor_detail.PUTz+An error occurred while updating supervisorr&   zsupervisor_detail.DELETEz+An error occurred while deleting supervisor)r	   r   getDoesNotExistr   r   HTTP_404_NOT_FOUNDr   r   r   r   r
   r   r   r   r   r   r   r   deleteHTTP_204_NO_CONTENT)r   r'   r!   r    r   Zupdated_supervisorr"   r"   r#   supervisor_detail)   sr   




(


(
r-   N)django.shortcutsr   rest_framework.decoratorsr   rest_framework.responser   rest_frameworkr   	django.dbr   modelsr	   serializersr
   ErrorLogs.utilsr   r$   r-   r"   r"   r"   r#   <module>   s    


