3
؀h'                 @   s  d dl mZmZmZmZmZmZmZ d dlmZm	Z	m
Z
 d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlT d dlT d dlT d	d
 Zejddgddd Zejddd Zejddgddd Zejddgddd ZdS )    )Flaskjsonifyrender_templateurl_forrequestredirectjson)datetime	timedeltadateN)app)db)	GatesSeed)	EntryMode)*c             C   s   | j j  d S )N)sessionclose)self r   ./booking_service/app/routes/entry_mode_urls.pyr      s    r   z/entry_mode/newPOST)methodsc           ,   C   s~  g } y&t jd j  t jd s(| jd W n, tk
rV } z| jd W Y d d }~X nX y&t jd j  t jd s|| jd W n, tk
r } z| jd W Y d d }~X nX | rtd| idfS tttj	 t jd t jd t
j d	}tjj| y0tjj  tt g }|jd
 td|idfS  tk
rx } z6tjj  tt g }|jd t|t|ddfS d }~X nX d S )NnamezName is empty.zName is missing.
session_idzSession ID is empty.zSession ID is missing.messagesi  )entry_mode_public_identry_mode_namer   
created_atz.You have added a new entry mode to the system.message   z<The entry mode could not be added at this moment. Try later.)r   error)r   r   stripappendKeyErrorr   r   struuiduuid4r	   nowr   r   addcommitr   	Exceptionrollback)r   e
entry_moder   r   r   r   add_new_entry_mode   sB    






r.   z/entry_mode/viewc              C   s~   t jjtjtjd kjtjj j	 } | sJg }|j
d td|idfS g }x| D ]}|j
|j  qTW td|idfS d S )Nz&There are no entry mode in the system.r   i  data   )r   r   queryr   filterdeletion_markerorder_byr   ascallr"   r   return_json)Zget_all_entry_modesr   r/   singler   r   r   view_all_entry_modesI   s    

r9   z/entry_mode/modifyc           ,   C   s  g } y&t jd j  t jd s(| jd W n, tk
rV } z| jd W Y d d }~X nX y&t jd j  t jd s|| jd W n, tk
r } z| jd W Y d d }~X nX | rg }|jd t|| dd	fS tjjt	j
t	jd kj
t	jt jd
 kj }|s"g }|jd td|idfS t jd |_t jd |_tj |_y0tjj  tt g }|jd td|idfS  tk
r } z6tjj  tt g }|jd t|t|dd	fS d }~X nX d S )Nr   zName is empty.zName is missing.r   zSession ID is empty.zSession ID is missing.z5You appear to be missing some data. Please try again.)r   r   i  r   z-That entry mode does not exist in the system.r   i  z)You have modified the entry mode details.r   zGThe entry mode details could not be modified at this moment. Try later.)r   r    )r   r   r!   r"   r#   r   r   r   r1   r   r2   r3   r   firstr   r   r	   r'   
updated_atr)   r   r*   r+   r$   )r   r,   r   r-   r   r   r   modify_entry_mode^   sN    








r<   z/entry_mode/deletePATCHc           ,   C   s  g } y&t jd j  t jd s(| jd W n, tk
rV } z| jd W Y d d }~X nX y&t jd j  t jd s|| jd W n, tk
r } z| jd W Y d d }~X nX | rtd| idfS tjjt	j
t	jd kj
t	jt jd kj }|sg }|jd	 td
|idfS d|_t jd |_tj |_y0tjj  tt g }|jd td
|idfS  tk
r } z6tjj  tt g }|jd t|t|ddfS d }~X nX d S )Nr   zEntry mode ID is empty.zEntry mode ID is missing.r   zSession ID is empty.zSession ID is missing.r   i  z-That entry mode does not exist in the system.r   i     z9The entry mode details have been deleted from the system.r   zFThe entry mode details could not be deleted at this moment. Try later.)r   r    )r   r   r!   r"   r#   r   r   r   r1   r   r2   r3   r   r:   r   r	   r'   r;   r)   r   r*   r+   r$   )r   r,   r-   r   r   r   r   delete_entry_mode   sJ    







r?   ) flaskr   r   r   r   r   r   r   r	   r
   r   pymysqlosmathrequestsr%   routesr   r   routes.seed_functionsr   database.entry_moder   	variablesfunctions.date_operatorsfunctions.currency_operatorsr   router.   r9   r<   r?   r   r   r   r   <module>   s   $(1;