
    oi[                     b    d dl Z d dl d dlmZ d dl d dlmZ  G d dej                        Zy)    N)*)
cmf_person)fieldsc                      e Zd ZdZdZdZdgZdZdZh dZ	h dZ
d	hZej                  j                  d
z   Zg ddg dg ddgddg dddg dddg dddg dg dddg dddg dg d dd!g d"dd#g d$dg	d%Zd&ZdZ	 ej&                  j)                  ed'(      Zej&                  j)                  ej&                  j.                  d)d*+      Zej&                  j)                  ej&                  j2                  d,d*+      Zej&                  j)                  ej&                  j6                  d-d*+      Zej&                  j)                  ej&                  j6                  d.d*+      Zej&                  j)                  ej&                  j6                  d/d*+      Z G d0 dej                  j>                        Zej&                  j)                  ej&                  j@                  d1d2d3d*d4d*5      Z!ej&                  j)                  ej&                  jD                  d6d7d8d*9      Z#ej&                  j)                  ej&                  jH                  d:d7gd;gd*<      Z%ej&                  j)                  ej&                  jD                  d=d>d?d4@      Z&ej&                  j)                  ej&                  j@                  dAd>d3d*9      Z'ej&                  j)                  ej&                  jP                  dBd*C      Z)ej&                  j)                  ej&                  jP                  dD(      Z*ej&                  j)                  ej&                  jV                  dEd4d4d*F      Z,ej&                  j)                  ej&                  jV                  dGd*d4d4d4d*H      Z-ej&                  j)                  ej&                  j\                  dId*d*d4J      Z/ej&                  j)                  ej`                  dKdLdMN      Z1 ee2dOd4d*P      Z3 ee2dQd4d*P      Z4ej&                  j)                  ej&                  jj                  dRdSdTgU      Z6 G dV dWej                  jn                        Z7 ee5dXdYd*Z      Z8ej&                  j)                  ej&                  jV                  d[d4d4d*\      Z9ej&                  j)                  ej&                  jP                  d]d4d^d*_      Z:ej&                  j)                  ej&                  j6                  d`d4d*a      Z;ej&                  j)                  ej&                  j@                  d1dbd3d*d4d*5      Z<ej&                  j)                  ej&                  jj                  dcddd*d4e      Z=ej&                  j)                  ej&                  jj                  dfdgd4h      Z>ej&                  j)                  ej&                  j~                  did*+      Z@ej&                  j)                  ej&                  j2                  djd*+      ZAej&                  j)                  ej&                  j~                  dkd*+      ZBej&                  j)                  ej&                  j2                  dld*+      ZCej&                  j)                  ej&                  j                  dmd*+      ZEej&                  j)                  ej&                  j.                  dnd*+      ZFej&                  j)                  ej&                  j                  dodpd*q      ZHdr ZIej&                  j)                  ej&                  j                  dseIt      ZKdu ZLej&                  j)                  ej&                  j                  dveLt      ZMdw ZNej&                  j)                  ej&                  j                  dxeNt      ZOdy ZPej&                  j)                  ej&                  j                  dzePt      ZQd{ ZRej&                  j)                  ej&                  j                  d|eRt      ZSd} ZTej&                  j)                  ej&                  j                  d~eTt      ZUd ZVej&                  j)                  ej&                  j                  deVt      ZWd ZXej&                  j)                  ej&                  j                  deXt      ZYd ZZej&                  j)                  ej&                  j                  deZt      Z[d Z\ej&                  j)                  ej&                  j                  de\t      Z]d Z^ej&                  j)                  ej&                  j                  de^t      Z_d Z`ej&                  j)                  ej&                  j                  de`t      Zad Zbej&                  j)                  ej&                  j                  debt      Zc ej(                  ej                  ddd*dd4d*      Zeej&                  j)                  ej&                  j6                  d(      Zf ej(                  ejH                  ddgd      Zg ej(                  ejD                  ddd4d8      Zh ej(                  ejD                  ddd8      Zi ej(                  ej                  dd4      Zk ej(                  ejV                  dd4      Zl ej(                  ejV                  dd*      Zm ej(                  ejV                  dd*d4      Zn ej(                  ejD                  dd      Zoej&                  j)                  ej&                  j\                  dd       Zp ej(                  ej                  dd*d*      Zq ej(                  ejV                  dd4d4      Zrej&                  j)                  ej&                  jV                  dd4d4      Zsej&                  j)                  ej&                  jV                  dd*d*d4      Ztej&                  j)                  ej&                  jV                  dd*d4d4      Zuej&                  j)                  ej&                  jV                  dd*d*d4      Zvej&                  j)                  ej&                  jV                  dd*d*d4      Zwej&                  j)                  ej&                  jV                  dd*d*d4      Zxej&                  j)                  ej&                  jV                  dd*d4d4      Zyej&                  j)                  ej&                  jV                  dd*d4d4      Zzej&                  j)                  ej&                  j                  dd4d*      Z{ej&                  j)                  ej&                  jj                  ddd*Z      Z|ej&                  j)                  ej&                  jj                  ddd4h      Z}ej&                  j)                  ej&                  j~                  d(      Z~ej&                  j)                  ej&                  j~                  d(      Zej&                  j)                  ej&                  j~                  d(      Zej&                  j)                  ej&                  j~                  d(      Zej&                  j)                  ej&                  jV                  dd4d4      Zej&                  j)                  ej&                  j                  dd*d*d*      Z ej(                  ej@                  dd>gdd*d*ë      Z ej(                  ejV                  dd4d4ū      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Z ej(                  ejV                  dd*ǫ      Zy)	CmfPersonPersonstructPRSnameu    (В ОТПУСКЕ)u    (НЕ РАБОТАЕТ)>E   idokvkcoder   textzoomemailloginphonerolesskypeslackviberext_idparentsystemcompanyemail_2ordernophone_2projectactivitybirthdaycalendarcommentsfacebookis_adminlinkedinsnapchattelegramwhatsapp	cmf_owner	instagram	last_name	messenger	old_login	parent_id
first_name
is_support
project_id
user_localcmf_deletedon_vacationperm_parentsecond_namecmf_owner_idphone_mobileprimary_roleclient_officedeleted_logindoes_not_workonline_statussl_owner_lockwork_positioncmf_created_atperm_parent_idphone_internalavatar_filenameclient_divisionclient_job_namephone_assistantclient_departmentperm_parent_ownervacation_intervalperm_inherit_acl_idperm_parent_owner_idperm_effective_acl_id%perm_security_level_allowed_ids_cache>.   r   r   r   r   r   r   r   r   r   r   r   r   r"   r%   r'   r(   r)   r*   r,   r-   r.   	notify_osr1   
ip_address
notify_sms
two_factorattachmentsr6   r8   notify_emailr:   vacation_endr?   two_factor_idemail_if_ownerrD   vacation_startrE   default_channelemail_if_authorrH   email_if_mentionsrK   email_if_spectatoremail_if_responsibleemail_if_self_changesno_staff_control_today)VACATION_SUFFIXDOES_NOT_WORK_SUFFIX)r   r   r   r   r;   _main)
r   r   r-   r1   r8   r   r;   r   r"   r   )r!   r6   rK   r#   auth_inactive_blockr>   rE   )r   col1col2person_extrasu   Контакты)r   r   rD   r:   r   rH   r   r   r*   r.   r   r)   r(   r   r   employee_numberr   )r   r   u   Социальные сети)r'   r%   r   r   r,   r   u!   Сетевые реквизиты)r   r   rQ   uidgidu   Безопасность)u%   button:action=ssh_keys:SSH ключиu;   button:action=change_password:Изменить парольuA   button:rpc=CmfPerson.reset_password:Сбросить парольuB   button:action=api_tokens:Сгенерировать API токенuY   button:rpc=CmfPerson.generate_webhook_token:Сгенерировать Webhook токенrg_member_ofr+   uG   link:/?popup=1&obj=${id}&uiModule=aclStruct:Настройки прав)ztwo_factor.two_factor_optpassword_must_changepassword_changed_daterd   uL   button:nav=struct/Person-2FA/${id}:Настройка авторизацииuO   button:rpc=CmfPerson.unblock:Снять временную блокировкуauth_options)r   re   rf   u   Лицензии)lic_evaprojectlic_evawikilic_evaservicedesk
lic_evagitlic_evatestu)   Настройка уведомлений)r]   r[   rX   r^   r\   r_   )rU   rR   rP   u   Поля SD)servicedesk_allowrG   rF   rI   r<   u   Контроль работы)no_staff_controlr`   time_tracker_no_control)ui_list_fieldsui_group_fieldsu   Физ. лицаu"   Информация обо мне)captionEmailT)ry   indexu   Телефонu   Фамилияu   Имяu   Отчествоc                       e Zd ZdZy)CmfPerson.nameFN)__name__
__module____qualname__readonly     %./modules/person/fields/cmf_person.pyr   r}     s    r   u   ЧатыCmfChatGroup	executorsF)ry   modelbackrefrightvisibleno_aclu   ДолжностиCmfRoleperson)ry   r   r   r   u#   Основная должностьr   )ry   modelsoptions_list_paramslinkableu8   DEPRICATED. Ответственный в задачахCmfTaskresponsible)ry   r   r   r   u,   Соисполнитель в задачахzLinux User ID)ry   uniquezLinux Group IDu.   Не контролировать работу)ry   nullabledefaultr{   u   Сейчас в отпуске)ry   r   r   r   r   r{   u   Статус)ry   virtualr   r   u   В отпускеrY   rV   )ry   start_field_nameend_field_nameu   Начало отпуска)ry   r   r{   u!   Окончание отпускаuA   Официально трудоустроен в компании
CmfCompanyr4   )ry   r   r   c                       e Zd ZdZdZy)CmfPerson.codeFhashN)r~   r   r   r   truncater   r   r   r   r   f  s    r   r   u7   Вид деятельности по-умолчаниюCmfActivity)ry   r   r   u)   Нарушитель распорядка)ry   r   r   r{   uJ   Время взятия последнего обещанного часаr   )ry   r   r   r   u#   Причина блокировки)ry   r   r   CmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчанию
CmfProject)ry   r   r   r   u   Моя папка	CmfFolder)ry   r   r   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияCmfBirthday)ry   widgetr{   c                     |S Nr   selfvalues     r   
_zoom_castzCmfPerson._zoom_cast      r   Zoom)ry   castc                     |S r   r   r   s     r   _snapchat_castzCmfPerson._snapchat_cast  r   r   Snapchatc                     |S r   r   r   s     r   _linkedin_castzCmfPerson._linkedin_cast  r   r   LinkedInc                     |S r   r   r   s     r   _facebook_castzCmfPerson._facebook_cast  r   r   Facebookc                     |S r   r   r   s     r   _vk_castzCmfPerson._vk_cast  r   r   VKc                     |S r   r   r   s     r   _ok_castzCmfPerson._ok_cast  r   r   u   Одноклассникиc                 X    |r'|j                  d      s|j                  d      }d|z   }|S )Nzhttps://www.instagram.com/@
startswithlstripr   s     r   _instagram_castzCmfPerson._instagram_cast  s0    ))*FGLL%E058Er   	Instagramc                 <    |r|j                  d      sd|z   dz   }|S )Nzskype:z?chat)r   r   s     r   _skype_castzCmfPerson._skype_cast  s&    ))(3u$w.Er   Skypec                     |S r   r   r   s     r   _slack_castzCmfPerson._slack_cast  r   r   Slackc                 d    |r-|j                  d      st        j                  dd|      }d|z   }|S )Nzhttps://wa.me/z[^+0-9]+ )r   resubr   s     r   _whatsapp_castzCmfPerson._whatsapp_cast  s4    ))*:;FF;E2E$u,Er   Whatsappc                     |S r   r   r   s     r   _messenger_castzCmfPerson._messenger_cast  r   r   	Messengerc                     |S r   r   r   s     r   _viber_castzCmfPerson._viber_cast  r   r   Viberc                 X    |r'|j                  d      s|j                  d      }d|z   }|S )Nzhttps://t.mer   zhttps://t.me/r   r   s     r   _telegram_castzCmfPerson._telegram_cast  s/    )).9LL%E#e+Er   TelegramCmfDealu   Сделкиcontacts)r   ry   r   r   r   r   u'   Занимаемая должностьCmfWhatsapp
CmfMailboxuM   Канал для отправки сообщений по умолчанию)r   ry   CmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)r   ry   r   r   u   СостоянияCmfPersonVar)ry   r   r   u.   Имя аватара пользователя)ry   r   u   Уведомления по SMS)ry   r   u!   Уведомления по emailu   Уведомления ОС)ry   r   r   u.   Raw данные внешней системыCmfAuthPluginData)ry   r   u)   Настройка авторизацииc                      t               S r   )dictr   r   r   <lambda>zCmfPerson.<lambda>  s    DF r   zEmployee Number)ry   r{   r   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)ry   r   r   r   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)ry   r   r   u!   Рабочий календарьCmfCalendaru.   Должность клиента (Depricated)CmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)ry   r   r   r   u,   Блокирующие deadline задачиstaff_control_blocked_persons)ry   r   r   leftr   u6   Заблокирован за неактивность)ry   r   r   u   Лицензия Project)ry   r   u   Лицензия Wikiu   Лицензия ServiceDesku   Лицензия Gitu   Лицензия Testu   Лицензия EvaCI/CDu   Лицензия EvaRMSN)r~   r   r   ui_name	ui_modulecode_prefixorderingra   rb   acl_static_public_fieldsacl_static_self_write_fieldsacl_static_user_write_fieldsr   r   ui_meta_skipui_formverbose_nameverbose_name_pluralcmfr   Field	CmfMarkupr   CmfEmailr   CmfPhoner   CmfStr64r-   r1   r8   r   CmfGenericM2Mchat_groups
CmfBackrefr   CmfGenericRelationr;   responsible_tasksexecutor_tasksCmfIntri   rj   CmfBoolru   r6   CmfJsonr?   CmfDateRangerK   CmfDaterY   rV   CmfRelationr   r   r!   has_penaltypenalty_promise_hourpenalty_reasonchat_topicsdefault_projecthome_folder	CmfStr256rD   r:   r   rH   CmfStr32rQ   r   CmfDateTimer"   r   CmfUrlShortr   r   r(   r   r'   r   r%   r   r   r   r   r   r,   r   r   r   r   r   r*   r   r.   r   r   r   r)   CmfM2MdealsrA   rZ   chat_topic_unread_messages
person_varCmfStrrE   rR   rU   rP   auth_plugin_datarn   rh   rv   rt   r]   r[   rX   r^   r\   r_   rl   rm   r#   
client_jobrG   rF   rI   r<   r`   staff_control_blocked_datestaff_control_blocked_tasksrd   ro   rp   rq   rr   rs   lic_evacicd
lic_evarmsr   r   r   r   r      s   GIKxH,O5F P$  	!$  ''447bbL
   &"-6 +. 8T
 <	 3	. +	 D" &	 8sB
KGX &L, ::I/STDJJSZZ00'NEJJSZZ00:JRVWE

  !4!4>NVZ [I!!#**"5"5xt!TJ**""3::#6#6@RZ^"_Kz##(( 
 **""

   # K JJ

$  E ::##

%%/T^g]h  @D  E  PT $ UL 

((

'air  }J  TY ) Z ZZ%%

  *X`is~  GK & LN **

3::,,od

SC
**

3::,,6F

GCzz''

@ (  **""

0  # K JJ$$

 % M 

((#)%	 )  -N 3L jj

S)N	  Gz##(( 
 V^kvzH **""

; # K ::++

\fkuv  AE ,  ZZ%%

%JTYbf & hN **""

  .+T[`im # oK jj&&

(fnz  DH  RW ' XO **""

(;;X] # _K ZZ%%cjj&:&:Du  ~B%  CN::##CJJ$7$7Aksw#xLjjszz33=ltxyGjj&&szz':':Diqu&vO!!#**"5"5VZ![Jjjszz22<`hlmGzz

 6 6@[dqy}~H ::CJJ22FTD zz


   H zz


   H zz


   H 
		#**00$X		NB 
		

(D8 
 
B 

  

/ ! I JJSZZ33W;WE JJSZZ33W;WE zz

 6 6
Q_`H 

  !7!7Sb cI JJSZZ33W;WE zz


   H FLLYdT^hmvz|E JJ$$SZZ%8%8Bk$lM"fll!!=,*G_aO ".!<HRWai"k f//9MUcmuvJ"fll6==:jtyzOfnn6WafgJ6<<8[eijLV^^5R\`kpqI#v||F$5$5?o  xK  L::##CJJ$6$6@k,: $ <L"fll6==:KSW`deO*fllC	 

((

.	 )  ))

 I *  jj&&

V ' O ZZ%%

k & N ::++

` ,  

((

T )   JJ,,

V -  ::++

s ,   JJ,,

E	 -  zz

3	   H !!

@	 " J jj&&szz';';Eh&iOjj&&szz';';Ep&qO

(()=)=Gn(oJJ$$SZZ%9%9C\$]M ZZ--

X	 .  "%!1!1

W "2 " #/&,,>{/# '&,,H	 "V\\&..:T_cdN&,,v~~7NY]^K%fnn>\gklfnn6LW[\J&,,v~~7NY]^K&,,v~~7R]abKfnn6OZ^_Jr   r   )r   
cmf.fields
cmf.modelsr   cmf.includer   r   r   r   r   r   <module>r     s*    	  !  
y	`
$$ y	`r   