
    Sib                         d 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
mZ dedee
   fdZded	ed
efdZdedee   d
eeef   fdZy)uB   Nombres y RUT de profesionales vía users (professionals.user_id).    )SimpleNamespace)DictListOptional)Session)ProfessionalModel	UserModeldbprofc                    t        ddddd      }|s|S t        |dd      }|r| j                  t              j	                  t        j
                  |k(        j                         }|rt        |j                  xs dj                         |j                  xs dj                         |j                  xs dj                         |j                  xs dj                         t        |dd            S |S )zMfull_name, rut, email, phone desde users; career_type_id desde professionals. N)	full_namerutemailphonecareer_type_iduser_idr   )r   getattrqueryr	   filteridfirstr   stripr   r   r   )r
   r   emptyuidus        O/var/www/pie360backend.cl/public_html/app/backend/utils/professional_display.pyprofessional_display_fieldsr   
   s    bb"UYZE
$	4
(C
HHY&&y||s':;AAC";;,"335UU[b'')ww}"++-ww}"++-&t-=tD  L    professional_idreturnc                 T    t        | |g      j                  t        |      d|       S )NProfesional #)#map_professional_id_to_display_namegetint)r
   r    s     r   professional_display_namer'      s1    .rO3DEIIOo->? r   pidsc                 j   |si S t        |D ch c]  }|t        |       c}      }| j                  t        j                  t
        j                        j                  t
        t        j                  t
        j                  k(        j                  t        j                  j                  |            j                         }i }|D ].  \  }}|xs dj                         xs d| }||t        |      <   0 t        |      t        |j                               z
  }	|	D ]
  }
d|
 ||
<    |S c c}w )Nr   r#   )listr&   r   r   r   r	   r   joinr   r   in_allr   setkeys)r
   r(   xuniqrowsoutridfnlabelmissingmids              r   r$   r$   #   s   	7AQ78D
"%%y':':;	i*22illB	C	!$$((.	/		 	 C Rr  ";cU&;CH $i#chhj/)G )"3%(C)J 8s
   D0D0N)__doc__typesr   typingr   r   r   sqlalchemy.ormr   app.backend.db.modelsr   r	   r   r&   strr'   r$    r   r   <module>r@      sq    H ! ' ' " >G 8<M3N &' C C G 49 cSVh r   