
    si                         d dl 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mZ d dlmZ  G d	 d
e      Z G d de      Zy)    )ExistsOuterRef)APIView)Response)IsAuthenticated)Company)CompanyType)UserMembershipCompanySerializerUserDealershipsSerializer)UserCompanyRolec                       e Zd ZegZeZd Zy)UserMembershipsViewc                     |j                   j                  j                  dddd      }t        |d      }t	        d|j
                  i      S )Nidnamecompany_type	is_activeTmany	companies)userr   onlyr
   r   data)selfrequestr   
serializers       N/var/www/html/dp2/backend_v2.1/server/apps/core/views/user_memberships_view.pygetzUserMembershipsView.get   sM    LL""T$< 	
 5YTJ

  	    N)__name__
__module____qualname__r   permission_classesr
   serializer_classr    r   r   r   r      s    )*6	r   r   c                       e Zd ZegZeZd Zy)UserDealershipsViewc                    |j                   j                  d      }t        j                  j	                  |gt        d      t        j                  d      }|j                  j                  j                  ddd      j	                  t        j                  d      j                  t        |      	      }t        |d
      j                  }d }|r$t        j                  j	                  |t        j                  dd      j!                  ddd      j#                         }|rd }|j                  j$                  j&                  r9|j)                  |j                  j$                  j&                  j*                        }t-        |      |j                  j.                  |j                  j$                  j0                  |j                  j$                  j2                  ||j4                  |j6                  d}t9        ||d      S )Nedit_user_idpkT)	users__inr   r   r   r   r   
user_roles)r   r   )ownerr   F)user_idcompany__company_typer   role__isnullcompanyroleuser__profile)r.   email
first_name	last_nameimage
company_idrole_id)dealerships	edit_user)query_paramsr   r   objectsfilterr   r	   
DEALERSHIPr   r   r   annotater   r   r   r   select_relatedfirstprofiler7   build_absolute_uriurlintr4   r5   r6   r8   r9   r   )	r   r   r)   owner_subqueryr   r:   r;   
membership	image_urls	            r   r   zUserDealershipsView.get"   s   ++//? //#n~$//	 0 
 LL""T$-V(33   XF>2X3 	$ 0	FKK	(0077$&1&<&<"	 8 
 nY@   	??**00 ' : :"//5599!I
  #<0(oo33#-??#:#:#E#E",//"9"9"C"C&","7"7)11	 &"
  	r   N)r    r!   r"   r   r#   r   r$   r   r%   r   r   r'   r'      s    )*0<r   r'   N)django.db.modelsr   r   rest_framework.viewsr   rest_framework.responser   rest_framework.permissionsr   apps.companies.modelsr   apps.companies.constantsr	   apps.core.serializersr
   r   apps.permissions.modelsr   r   r'   r%   r   r   <module>rR      s;    - ( , 6 ) 0 4' @' @r   