
    oifX                         d dl Z d dlmZ d dlmZ d dlmZ  e j                  d      Zed        Z	ed        Z
ed        Zy)	    N)login_required)JsonResponse)CompanyUseraccount_loggerc                 $   |s$t         j                  d       t        ddid      S 	 | j                  j                  }t
        j                  j                  ||      }|j                  r|j                  r2t         j                  d|j                   d       t        dd	id      S d
|_        d|_	        |j                          t         j                  d|j                   d|j                          t        ddi      S # t
        j                  $ r8 t         j                  d| dj                   d       t        ddid      cY S t        $ r:}t         j                  dt!        |              t        ddid      cY d }~S d }~ww xY w)NMissing user_id in the request.errorMissing user_id.  statusidcompanyUser z  is already inactive or deleted.z$User is already inactive or deleted.FTz# removed successfully from company User with id . does not exist or does not belong to company .7User does not exist or does not belong to this company.  zError removing user: zError removing user.  successzUser removed successfully.)loggerwarningr   userr   r   objectsget	is_active
is_deletednamesaveinfoDoesNotExistr	   	Exceptionstr)requestcompany_user_idr   user_to_removees        HD:\Rescue Scanner\qr_onkar\accounts\views\delete_update_company_users.pydelete_company_userr+      sw   89W&89#FFK,,&&$,,00OW0U''>+D+DNNU>#6#6"77WXY*P QZ]^^#( $(!eN//00ST[T`T`Sabc $@ABB ## n}_$55cdkdpdpcqqrstW&_`ilmm K,SVH56W&<=cJJKs,   B D )AD AFF/F
F
Fc                 \   | j                   dk7  r1t        j                  d| j                           t        ddid      S | j                  j                  d      }|s$t        j                  d       t        dd	id
      S 	 | j                  j                  }	 t        j                  j                  ||      }| j                  j                  d      }| j                  j                  d      }| j                  j                  d      }| j                  j                  d      }|rlt        j                  j                  |      j                  |      j                         r't        j                  d|        t        ddid
      S ||_        |rlt        j                  j                  |      j                  |      j                         r't        j                  d|        t        ddid
      S ||_        |r|j#                         |_        |r||_        |j)                          t        j+                  d|j,                   d|j,                          t        d!d"i      S # t        $ r$}t        |       t        ddid      cY d }~S d }~ww xY w# t        j.                  $ r8 t        j1                  d| dj,                   d       t        ddid      cY S t        $ r:}t        j1                  dt3        |              t        ddid       cY d }~S d }~ww xY w)#NPOSTInvalid request method: r	   Invalid request method.  r   user_idr   r
   r   r   r   r   emailphoneroleaddress)r2   )r   zEmail already exists: zEmail already exists.)r3   zPhone number already exists: zPhone number already exists.r   z" updated successfully for company r   r   r   zError updating user: zError updating user.r   r   zUser updated successfully.)methodr   r   r   r-   r   r   r   r   r   r$   printfilterexcludeexistsr2   r3   lowerr4   r5   r!   r"   r    r#   r	   r%   )	r&   r1   r   r   r)   r2   r3   r4   r5   s	            r*   update_company_userr<   (   s   ~~1'..1ABCW&?@MMlly)G89W&89#FF'K,,&&	r&&**gw*GD   )  )||',,""9- "")))6>>'>JQQS!7w?@#W.E$FsSSDJ"")))6>>'>JQQS!>ugFG#W.L$MVYZZDJ

DI"DL		eDII;&HWX $@ABBK  	r!H*c dmpqq	r< ## n}WI-[\c\h\h[iijklW&_`ilmm K,SVH56W&<=cJJKsd   J !I/ ;CJ A-J <A&J /	J8JJJ JJ AL+)L+1/L& L+&L+c                    | j                   dk7  r1t        j                  d| j                           t        ddid      S | j                  j                  d      }| j                  j                  d      }|r|s$t        j                  d	       t        dd
id      S 	 | j                  j                  }t        j                  j                  ||      }|j                  |       |j                          t        j                  d|j                   d|j                          t        ddi      S # t        j                  $ r8 t        j                  d| dj                   d       t        ddid      cY S t         $ r:}t        j                  dt#        |              t        ddid      cY d }~S d }~ww xY w)Nr-   r.   r	   r/   r0   r   r1   passwordz/Missing user_id or new_password in the request.z Missing user_id or new_password.r   r   zPassword for user z" changed successfully for company r   r   r   r   r   zError changing password: zError changing password.r   r   zPassword changed successfully.)r6   r   r   r   r-   r   r   r   r   r   set_passwordr!   r"   r    r#   r	   r$   r%   )r&   r1   new_passwordr   r   r)   s         r*   change_user_passwordrA   `   s   ~~1'..1ABCW&?@MMlly)G<<##J/L,HIW&HIRUVVO,,&&""&&'7&C,'		(3UV]VbVbUcde $DEFF ## n}WI-[\c\h\h[iijklW&_`ilmm O0Q9:W&@A#NNOs&    BD4 4AG >G /F;5G ;G )loggingdjango.contrib.auth.decoratorsr   django.httpr   accounts.modelsr   	getLoggerr   r+   r<   rA        r*   <module>rI      sg     9 $ '			+	, C C8 4C 4Cn G GrH   