
    [h                     |   d dl Z d dlmZmZ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 d d	lmZ  ed
e          Z ede          ZdZdZh dZd Ze                    ddg          d             Ze                    ddg          d             Ze                    ddg          d             Ze                    ddg          ed                         Ze                    ddg          ed                         Ze                    ddg          d             Ze                    ddg          d             Ze                    d dg          d!             Z e                    d"dg          d#             Z!e                    d$dg          d%             Z"dS )&    N)	Blueprintrequestjsonify)db)Plak)SelectedPlak)secure_filename)TreatmentPhoto)datetime)token_requiredplak	treatmentzapp/static/treatment_photoszapp/static/uploads>   gifjpgpngjpegc                 t    d| v o4|                      dd          d                                         t          v S )N.   )rsplitlowerALLOWED_EXTENSIONS)filenames    =/var/www/api.easyaligner.net/htdocs/app/routes/plak_routes.pyallowed_filer      s=    (? D??3""1%++--1CCD    z/plaks/upload-imagePOST)methodsc                     dt           j        vrt          ddi          dfS t           j        d         } | j        dk    rt          ddi          dfS | rzt	          | j                  rft          | j                  }t          j                            t          |          }| 
                    |           d| }t          d|i          d	fS t          dd
i          dfS )NimagemsgzNo image file in request   zNo selected filez%http://localhost:5000/static/uploads/	image_url   zInvalid file type)r   filesr   r   r   r	   ospathjoinUPLOAD_FOLDER_DOCTORsave)filer   	save_pathr$   s       r   upload_imager.      s    gm##9:;;S@@=!D}1233S88 6T]++ 6"4=11GLL!5x@@			)FHFF	Y/00#55E./00#55r   z/plaksc                  8   t          j                    } t          | d         | d         |                     d          | d                   }t          j                            |           t          j                                         t          ddi          dfS )	Ntitledescriptionr$   	doctor_id)r0   r1   r$   
created_byr!   zPlak created   )	r   get_jsonr   getr   sessionaddcommitr   )datar   s     r   create_plakr;   -   s    D7m'((;''$	  D JNN4JE>*++S00r   GETc                  p    t           j                                        } t          d | D                       S )Nc                 D    g | ]}|j         |j        |j        |j        d S )idr0   r1   r$   r?   ).0ps     r   
<listcomp>z!get_all_plaks.<locals>.<listcomp>>   sE        	 $W=		
 	
  r   )r   queryallr   )plakss    r   get_all_plaksrG   ;   sC    JNNE        r   z/limitedc           
         	 t           j                            t           j                                                                      d                                          }g }|D ]W}|                    |j        |j	        |j
        |j        |j        |j        r|j                                        nd d           Xt          d|d          dfS # t          $ r+}t          dt!          |          d          dfcY d }~S d }~ww xY w)	N
   )r@   r0   r1   r$   status
created_atsuccessrJ   r:   r%   errorrJ   message  )r   rD   order_byrK   desclimitrE   appendr@   r0   r1   r$   rJ   	isoformatr   	Exceptionstr)current_userrF   
plaks_listr   es        r   get_limited_plaksr\   H   sS   
##DO$8$8$:$:;;AA"EEIIKK 
 	 	Dg#/!^+=A_Vdo77999RV      
 
    	
    1vv
 
    	 	 	 	 	 	s   CC 
D D<DDz/slidersc           	         	 t           j                            d                                          }g }|D ]6}|                    |j        |j        |j        |j        |j	        d           7|
                    d            t          d|d          dfS # t          $ r+}t          d	t          |          d
          dfcY d }~S d }~ww xY w)NT)	is_slider)r@   r0   r$   rJ   orderc                 @    | d         | d         nt          d          S )Nr_   inf)float)xs    r   <lambda>z"get_plak_sliders.<locals>.<lambda>z   s!    aj6L'

RWX]R^R^ r   )keyrL   rM   r%   rN   rO   rQ   )r   rD   	filter_byrE   rU   r@   r0   r$   rJ   slider_ordersortr   rW   rX   )rY   sliderssliders_listsliderr[   s        r   get_plak_slidersrl   g   s8   *&&&66::<<  	 	Fi#- -,! !     	^^___ 
 
    	
    1vv
 
    	 	 	 	 	 	s   BB 
C$ C
C
Cz/plaks/selectc                     t          j                    } t          | d         | d                   }t          j                            |           t          j                                         t          ddi          dfS )Nplak_id
patient_id)rn   ro   r!   zPlak selectedr%   )r   r5   r   r   r7   r8   r9   r   )r:   	selections     r   select_plakrq      su    DY%  I JNN9JE?+,,c11r   z /plaks/selected/<int:patient_id>c           
      0   t           j                            |                                           }|st	          ddi          dfS |j        }t	          |j        |j        |j        |j	        |j
        |j                            d          d          dfS )Nro   r!   zNo plak selectedi  %Y-%m-%d %H:%M:%S)r@   r0   r1   r$   r3   rK   r%   )r   rD   rf   firstr   r   r@   r0   r1   r$   r3   rK   strftime)ro   rp   r   s      r   get_selected_plakrw      s    ",,
,CCIIKKI 91233S88>Dg'^oo../BCC    	 r   z/treatment/uploadc            
      2   dt           j        vrt          ddi          dfS t           j        d         } | j        dk    st	          | j                  st          ddi          dfS t           j        }t          | j                  }t          j        	                    t          |          }|                     |           t          |                    d          |                    d          |                    d	          |                    d
          |                    d          t          j                    d|           }t           j                            |           t           j                                         t          ddi          dfS )Nphotor!   zNo photo uploadedr"   r#   zInvalid or missing photor2   ro   rn   r0   notez/static/treatment_photos/)r2   ro   rn   r0   rz   
photo_date
photo_pathz%Treatment photo uploaded successfullyr4   )r   r&   r   r   r   formr	   r'   r(   r)   UPLOAD_FOLDER_TREATMENTr+   r
   r6   r   utcnowr   r7   r8   r9   )r,   r:   r   r-   ry   s        r   upload_treatment_photor      s_   gm##2344c99=!D},t}"="=9:;;S@@<Dt}--H4h??IIIi((;''88L))##hhwXXf?$$9x99  E JNN5JEBCDDcIIr   z*/treatment/photos/patient/<int:patient_id>c           	         t           j                            |                               t           j                                                                                  }g }|D ]I}|                    |j        |j	        |j
        |j                            d          |j        d           Jt          |          dfS )Nrs   rt   )r@   r0   rz   r{   r|   r%   )r
   rD   rf   rR   r{   rS   rE   rU   r@   r0   rz   rv   r|   r   )ro   photosresultry   s       r   get_photos_by_patientr      s    !++z+BBKKNLeLjLjLlLlmmqqssFF  ([J*334GHH*
 
 	 	 	 	 6??Cr   z(/treatment/photos/doctor/<int:doctor_id>c                    t           j                            |                               t           j                                                                                  }g }|D ]U}|                    |j        |j	        |j
        |j                            d          |j        |j        |j        d           Vt          |          dfS )N)r2   rt   )r@   r0   rz   r{   r|   ro   rn   r%   )r
   rD   rf   rR   r{   rS   rE   rU   r@   r0   rz   rv   r|   ro   rn   r   )r2   r   r   ry   s       r   get_photos_by_doctorr      s    !++i+@@II.JcJhJhJjJjkkooqqFF 	 	([J*334GHH**}
 
 	 	 	 	 6??Cr   )#r'   flaskr   r   r   app.dbr   
app.modelsr   r   werkzeug.utilsr	   appr
   r   app.authr   __name__plak_bptreatment_bpr~   r*   r   r   router.   r;   rG   r\   rl   rq   rw   r   r   r    r   r   <module>r      s   
			 - - - - - - - - - -             # # # # # # * * * * * *       % % % % % %       # # # # # #
)FH
%
%yh//7 + 333 D D D 	$vh776 6 876& 	x&**
1 
1 +*
1 	x%))	 	 *)	 	zE7++   ,+: 	zE7++   ,+> 	112 2 212 	1E7CC  DC" '&::J J ;:J< 	;eWMM    NM  	9E7KK    LK     r   