o
    cHh                     @   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   )EmployeeType)EmployeeTypeSerializer)	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employee_type_list.GETerrorz/An error occurred while fetching employee typesr   r   datazemployee_type_list.POSTz.An error occurred while creating employee type)methodr	   objectsallr
   r   r   	Exceptionr   r   HTTP_500_INTERNAL_SERVER_ERRORr   atomicis_validsaveHTTP_201_CREATEDerrorsHTTP_400_BAD_REQUEST)requestZemployee_types
serializereemployee_type r!   8C:\Users\Denis\Desktop\TimeStamps\employeetypes\views.pyemployee_type_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&employee_type_detail.get_employee_typer   z.An error occurred while fetching employee typer   zemployee_type_detail.GETz6An error occurred while fetching employee type detailsr$   r   zemployee_type_detail.PUTz.An error occurred while updating employee typer%   zemployee_type_detail.DELETEz.An error occurred while deleting employee type)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_employee_typer!   r!   r"   employee_type_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    


