o
    $2h                     @   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
 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 )    )api_view)Response)statusviewsets)transaction   )Paycode)PaycodeSerializer)	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 / t| jd	}| r`|  t|jt	jdW  d    W S t|jt	jdW  d    W S 1 ssw   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paycode_list.GETerrorz)An error occurred while fetching paycodesr   r   datazpaycode_list.POSTz(An error occurred while creating paycode)methodr   objectsallr	   r   r   	Exceptionr
   r   HTTP_500_INTERNAL_SERVER_ERRORr   atomicis_validsaveZHTTP_201_CREATEDerrorsHTTP_400_BAD_REQUEST)requestZpaycodes
serializere r   2C:\Users\Denis\Desktop\TimeStamps\paycode\views.pypaycode_list	   s@   




(
r!   )r   PUTDELETEc              
   C   s.  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|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paycode_detail.get_paycoder   z(An error occurred while fetching paycoder   zpaycode_detail.GETz0An error occurred while fetching paycode detailsr"   r   zpaycode_detail.PUTz(An error occurred while updating paycoder#   zpaycode_detail.DELETEz(An error occurred while deleting paycode)r   r   getDoesNotExistr   r   ZHTTP_404_NOT_FOUNDr   r
   r   r   r	   r   r   r   r   r   r   r   deleteZHTTP_204_NO_CONTENT)r   r$   paycoder   r   r   r   r    paycode_detail&   sr   




(


(
r)   N)Zrest_framework.decoratorsr   Zrest_framework.responser   rest_frameworkr   r   	django.dbr   modelsr   serializersr	   ZErrorLogs.utilsr
   r!   r)   r   r   r   r    <module>   s    


