
    ڬf'                         d dl mZ d dlmZ ddlmZmZ d dlmZm	Z	m
Z
 ddlmZmZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZ ed   Z G d de      Z G d de      Zy)    )render)APIView   )TermTypeTerms)success_responsefailed_responsegenerate_random_text)TermTypeSerializerTermsSerializer)status)validate_required_paramsvalidateValidationError)record)logger_settingsmsgc                   ,    e Zd ZddZddZddZddZy)TermTypeCRUDViewNc           	         t        d      }t        d| dt        d    d       	 |r[t        j                  j                  |      }t        |      }t        d| dt        d    d       t        |j                  d	
      S t        j                  j                         }t        |d      }t        d| dt        d    d       t        |j                  d
      S # t        j                  $ r- t        d| d       t        dt        j                        cY S t        $ r@}t        d| dt        |       d       t        dt        j                         cY d }~S d }~ww xY w)N   info: startedz' - TermTypeCRUDView GET request startedpk	completedz# - Term Type retrieved successfullyz Term Type retrieved successfullydatar   Tmanyz$ - Term Types retrieved successfullyz!Term Types retrieved successfullywarnz: Term Type not foundTerm Type not foundr   codeerrorz7 - Unexpected error occurred during Term Type retrievalAn unexpected error occurred)r
   r   log_msgr   objectsgetr   r   r   allDoesNotExistr	   r   HTTP_404_NOT_FOUND	ExceptionstrHTTP_500_INTERNAL_SERVER_ERROR)selfrequestr   formatprocess_codelisting_term_type
serializeres           5D:\SB Projects\Vendor-App\main-backend\terms\views.pyr*   zTermTypeCRUDView.get   sQ   +A.v,r')*<)==def	s$,$4$4$8$8B$8$?!/0AB
v,r'+2F1GGjkl'Z__Bdee$,$4$4$8$8$:!/0AM
v,r'+2F1GGklm'Z__Beff$$ 	^6l^+@AB"'<6C\C\]] 	s7|nBs1vh6mno"'EFLqLqrr	s+   AC AC =E%E%%5E E% E%c           	      2   t        d      }t        d| dt        d    d       	 t        |j                        }|j                         r@|j                          t        d| dt        d    d       t        |j                  d	
      S t        d| d|j                   d       t        |j                  t        j                        S # t        $ r@}t        d| dt        |       d       t        dt        j                        cY d }~S d }~ww xY w)Nr   r   r   r   z( - TermTypeCRUDView POST request startedr   r   z! - Term Type created successfullyzTerm Type created successfullyr   r"   z. - Validation errors during Term Type creationr$   r&   z6 - Unexpected error occurred during Term Type creationr'   )r
   r   r(   r   r   is_validsaver   errorsr	   r   HTTP_400_BAD_REQUESTr.   r/   r0   r1   r2   r3   r4   r6   r7   s         r8   postzTermTypeCRUDView.post&   s    +A.v,r')*<)==efg	s+>J""$!v,r'+2F1GGhij'Z__Bbcc6l^2j.?.?-@@nop"z'8'8v?Z?Z[[ 	s7|nBs1vh6lmn"'EFLqLqrr	s%   A%C A C 	D5DDDc           	      Z   t        d      }t        d| dt        d    d       	 t        |dg       t	        d|j
                  j                  dd      dg       t        j                  j                  |	      }t        ||j
                  
      }|j                         r@|j                          t        d| dt        d    d       t        |j
                  d      S t        d| d|j                   d       t        |j                  t        j                         S # t        j"                  $ r- t        d| d       t        dt        j$                        cY S t&        $ r@}t        d| dt)        |       d       t        dt        j*                        cY d }~S d }~ww xY w)Nr   r   r   r   z' - TermTypeCRUDView PUT request startedtitle ztitle:max:25r   r;   r   z! - Term Type updated successfullyzTerm Type updated successfullyr   r"   z, - Validation errors during Term Type updater$   z : Term Type not found for updater#   r&   z4 - Unexpected error occurred during Term Type updater'   )r
   r   r(   r   r   r   r*   r   r)   r   r<   r=   r   r>   r	   r   r?   r,   r-   r.   r/   r0   )r1   r2   r   r3   r4   	term_typer6   r7   s           r8   putzTermTypeCRUDView.put8   sz   +A.v,r')*<)==def	s$Wwi8Wgll..w;n=MN ((,,,3I+IGLLIJ""$!v,r'+2F1GGhij'Z__Bbcc6l^2j.?.?-@@lmn"z'8'8v?Z?Z[[$$ 	^6l^+KLM"'<6C\C\]] 	s7|nBs1vh6jkl"'EFLqLqrr	ss+   B;D# "A D# #=F*"F**5F%F*%F*c           	      
   t        d      }t        d| dt        d    d       	 t        j                  j                  |      }|j                          t        d| dt        d    d       t        d	
      S # t        j                  $ r- t        d| d       t        dt        j                        cY S t        $ r@}t        d| dt        |       d       t        dt        j                        cY d }~S d }~ww xY w)Nr   r   r   r   z* - TermTypeCRUDView DELETE request startedr   r   z! - Term Type deleted successfullyzTerm Type deleted successfullyr   r"   z": Term Type not found for deletionr#   r$   r&   z6 - Unexpected error occurred during Term Type deletionr'   )r
   r   r(   r   r)   r*   deleter   r,   r	   r   r-   r.   r/   r0   )r1   r2   r   r3   r4   rF   r7   s          r8   rJ   zTermTypeCRUDView.deleteQ   s    +A.v,r')*<)==ghi	s ((,,,3I6l^2gk.B-CCdef#(HII$$ 	^6l^+MNO"'<6C\C\]] 	s7|nBs1vh6lmn"'EFLqLqrr	s$   AA; ;=D:D5C=7D=DNNN__name__
__module____qualname__r*   rA   rG   rJ        r8   r   r      s    s0s$s2srS   r   c                   ,    e Zd ZddZddZddZddZy)TermsCRUDViewNc           	         t        d      }t        d| dt        d    d       	 |r[t        j                  j                  |      }t        |      }t        d| dt        d    d       t        |j                  d	
      S t        j                  j                         }t        |d      }t        d| dt        d    d       t        |j                  d
      S # t        j                  $ r- t        d| d       t        dt        j                        cY S t        $ r@}t        d| dt        |       d       t        dt        j                         cY d }~S d }~ww xY w)Nr   r   r   r   z$ - TermsCRUDView GET request startedr   r   z - Term retrieved successfullyzTerm retrieved successfullyr   Tr    z - Terms retrieved successfullyzTerms retrieved successfullyr"   z: Term not foundTerm not foundr$   r&   z3 - Unexpected error occurred during Terms retrievalr'   )r
   r   r(   r   r)   r*   r   r   r   r+   r,   r	   r   r-   r.   r/   r0   )	r1   r2   r   r3   r4   termr6   termsr7   s	            r8   r*   zTermsCRUDView.getf   sI   +A.v,r')*<)==abc	s}}((B(/,T2
v,r'+2F1GGefg'Z__B_``))+,U>
v,r'+2F1GGfgh'Z__B`aa!! 	Y6l^+;<="'7f>W>WXX 	s7|nBs1vh6ijk"'EFLqLqrr	sr9   c           	      2   t        d      }t        d| dt        d    d       	 t        |j                        }|j                         r@|j                          t        d| dt        d    d       t        |j                  d	
      S t        d| d|j                   d       t        |j                  t        j                        S # t        $ r@}t        d| dt        |       d       t        dt        j                        cY d }~S d }~ww xY w)Nr   r   r   r   z% - TermsCRUDView POST request startedr;   r   z - Term created successfullyzTerm created successfullyr   r"   z) - Validation errors during Term creationr$   r&   z1 - Unexpected error occurred during Term creationr'   )r
   r   r(   r   r   r<   r=   r   r>   r	   r   r?   r.   r/   r0   r@   s         r8   rA   zTermsCRUDView.post~   s    +A.v,r')*<)==bcd	s(gll;J""$!v,r'+2F1GGcde'Z__B]^^6l^2j.?.?-@@ijk"z'8'8v?Z?Z[[ 	s7|nBs1vh6ghi"'EFLqLqrr	srB   c           	      \   t        d      }t        d| dt        d    d       	 t        |ddg       t	        d|j
                  j                  dd      d	g       t        j                  j                  |
      }t        ||j
                        }|j                         r@|j                          t        d| dt        d    d       t        |j
                  d      S t        d| d|j                   d       t        |j                  t        j                         S # t        j"                  $ r- t        d| d       t        dt        j$                        cY S t&        $ r@}t        d| dt)        |       d       t        dt        j*                        cY d }~S d }~ww xY w)Nr   r   r   r   z$ - TermsCRUDView PUT request startedrD   rF   rE   ztitle:max:100r   r;   r   z - Term updated successfullyzTerm updated successfullyr   r"   z' - Validation errors during Term updater$   z: Term not found for updaterW   r&   z/ - Unexpected error occurred during Term updater'   )r
   r   r(   r   r   r   r*   r   r)   r   r<   r=   r   r>   r	   r   r?   r,   r-   r.   r/   r0   )r1   r2   r   r3   r4   rX   r6   r7   s           r8   rG   zTermsCRUDView.put   s{   +A.v,r')*<)==abc	s$Ww.DEWgll..w;o=NO==$$$+D(GLLAJ""$!v,r'+2F1GGcde'Z__B]^^6l^2j.?.?-@@ghi"z'8'8v?Z?Z[[!! 	Y6l^+FGH"'7f>W>WXX 	s7|nBs1vh6efg"'EFLqLqrr	ss+   B<D$ #A D$ $=F+#F++5F& F+&F+c           	      
   t        d      }t        d| dt        d    d       	 t        j                  j                  |      }|j                          t        d| dt        d    d       t        d	
      S # t        j                  $ r- t        d| d       t        dt        j                        cY S t        $ r@}t        d| dt        |       d       t        dt        j                        cY d }~S d }~ww xY w)Nr   r   r   r   z' - TermsCRUDView DELETE request startedr   r   z - Term deleted successfullyzTerm deleted successfullyrI   r"   z: Term not found for deletionrW   r$   r&   z1 - Unexpected error occurred during Term deletionr'   )r
   r   r(   r   r)   r*   rJ   r   r,   r	   r   r-   r.   r/   r0   )r1   r2   r   r3   r4   rX   r7   s          r8   rJ   zTermsCRUDView.delete   s    +A.v,r')*<)==def	s==$$$+DKKM6l^2gk.B-CC_`a#(CDD!! 	Y6l^+HIJ"'7f>W>WXX 	s7|nBs1vh6ghi"'EFLqLqrr	srK   rL   rM   rN   rR   rS   r8   rU   rU   d   s    s0s$s2srS   rU   N)django.shortcutsr   rest_framework.viewsr   modelsr   r   utils.helperr   r	   r
   serializersr   r   rest_frameworkr   utils.validationr   r   r   utils.loggerr   
utils.datar   r(   r   rU   rR   rS   r8   <module>rf      sS    # ( # P P < ! P P  & 	Tsw TsnUsG UsrS   