o
    Eh_                     @   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ed
gdd ZdS )    )render)api_view)Responsestatus)transaction   )SupervisorGroup)SupervisorGroupSerializer)	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_group_list.GETerror2An error occurred while fetching supervisor groupsr   r   datazsupervisor_group_list.POSTz1An error occurred while creating supervisor group)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supervisor_groups
serializeresupervisor_group r$   :C:\Users\Denis\Desktop\TimeStamps\supervisorgroup\views.pysupervisor_group_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_group_detail.get_supervisor_groupr   z1An error occurred while fetching supervisor groupr   zsupervisor_group_detail.GETz9An error occurred while fetching supervisor group detailsr'   r   zsupervisor_group_detail.PUTz1An error occurred while updating supervisor groupr(   zsupervisor_group_detail.DELETEz1An error occurred while deleting supervisor group)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_supervisor_groupr$   r$   r%   supervisor_group_detail)   sr   




(


(
r/   c              
   C   sh   zt jj|d}t|dd}t|jW S  ty3 } ztd| tdditj	dW  Y d }~S d }~ww )N)user_idTr   get_supervisor_groups_by_userr   r   r   )
r	   r   filterr
   r   r   r   r   r   r   )r   r0   r    r!   r"   r$   r$   r%   r1   \   s   
r1   N)django.shortcutsr   rest_framework.decoratorsr   rest_framework.responser   rest_frameworkr   	django.dbr   modelsr	   serializersr
   ErrorLogs.utilsr   r&   r/   r1   r$   r$   r$   r%   <module>   s    



2