
    'i                         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       Z G d d	ej                        Zy
)    )serializers)Company)get_user_model)UserCompanyRole)UserProfileSerializer)generate_secure_password)UserProfilec                       e Zd Z ej                         Z ej                   ej                         d      Z G d d      Zd Z	y)CreateUserSerializerF)childrequiredc                       e Zd ZeZg dZy)CreateUserSerializer.Meta)emailprofilecompany_rolesN)__name__
__module____qualname__Usermodelfields     I/var/www/html/dp2/backend_v2.1/server/apps/core/serializers/createuser.pyMetar      s    
r   r   c           	         |j                  di       }|j                  dg       }t        d      }||d<   t        j                  j                  di |}||_        t        j                  j                  ||j                  d      |j                  d      |j                  d      |j                  d      	       |D ]*  }t        j                  j                  ||d
   |d          , |D ch c]  }|d
   	 }}t        j                  j                  |      }	|j                  j                  |	       t        j                  j                  |      j                         }
|
j                  |_        |j#                          |S c c}w )Nr   r      password
first_name	last_namephone_numberimage)userr    r!   r"   r#   
company_idrole_id)r$   r%   r&   )id__in)r$   r   )popr   r   objectscreate_user_generated_passwordr	   creategetr   r   filter	companiessetfirstcompanyactive_companysave)selfvalidated_dataprofile_datar   generated_passwordr$   rolercompany_idsr/   userRoles              r   r,   zCreateUserSerializer.create   sk   %)))R8&**?B?5b9%7z"||''9.9#5 ""#''5"&&{3%)).9""7+ 	# 	
 "D##**-Y +  " 1>>1q>OO**+*>	9%"**11t1<BBD&..		 ?s   .FN)
r   r   r   r   	DictFieldr   	ListFieldr   r   r,   r   r   r   r   r      sC    #k##%G)K))#k##%M
 
 r   r   N)rest_frameworkr   apps.companies.modelsr   django.contrib.authr   apps.permissions.modelsr   apps.userprofile.serializersr   &apps.core.utils.generate_password_utilr   apps.userprofile.modelsr	   r   ModelSerializerr   r   r   r   <module>rG      s4    & ) . 3 > K /.;66 .r   