
    @i[                     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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%d&d'g(      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 d/ dej                  j>                        Zej&                  j)                  ej&                  j@                  d0d1d2d&d3d&4      Z!ej&                  j)                  ej&                  jD                  d5d6d7d&8      Z#ej&                  j)                  ej&                  jH                  d9d6gd:gd&;      Z%ej&                  j)                  ej&                  jD                  d<d=d>d3?      Z&ej&                  j)                  ej&                  j@                  d@d=d2d&8      Z'ej&                  j)                  ej&                  jP                  dAd&B      Z)ej&                  j)                  ej&                  jP                  dCD      Z*ej&                  j)                  ej&                  jV                  dEd3d3d&F      Z,ej&                  j)                  ej&                  jV                  dGd&d3d3d3d&H      Z-ej&                  j)                  ej&                  j\                  dId&d&d3J      Z/ej&                  j)                  ej`                  dKdLdMN      Z1 ee2dOd3d&P      Z3 ee2dQd3d&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[d3d3d&\      Z9ej&                  j)                  ej&                  jP                  d]d3d^d&_      Z:ej&                  j)                  ej&                  j6                  d`d3d&a      Z;ej&                  j)                  ej&                  j@                  d0dbd2d&d3d&4      Z<ej&                  j)                  ej&                  jj                  dcddd&d3e      Z=ej&                  j)                  ej&                  jj                  dfdgd3h      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&dd3d&      Zeej&                  j)                  ej&                  j6                  dD      Zf ej(                  ejH                  ddgd      Zg ej(                  ejD                  ddd3d7      Zh ej(                  ejD                  ddd7      Zi ej(                  ej                  dd3      Zk ej(                  ejV                  dd3      Zl ej(                  ejV                  dd&      Zm ej(                  ejV                  dd&d3      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                  dd3d3      Zrej&                  j)                  ej&                  jV                  dd3d3      Zsej&                  j)                  ej&                  jV                  dd&d&d3      Ztej&                  j)                  ej&                  jV                  dd&d3d3      Zuej&                  j)                  ej&                  jV                  dd&d&d3      Zvej&                  j)                  ej&                  jV                  dd&d&d3      Zwej&                  j)                  ej&                  jV                  dd&d&d3      Zxej&                  j)                  ej&                  jV                  dd&d3d3      Zyej&                  j)                  ej&                  jV                  dd&d3d3      Zzej&                  j)                  ej&                  j                  dd3d&      Z{ej&                  j)                  ej&                  jj                  ddd&Z      Z|ej&                  j)                  ej&                  jj                  ddd3h      Z}ej&                  j)                  ej&                  j~                  dD      Z~ej&                  j)                  ej&                  j~                  dD      Zej&                  j)                  ej&                  j~                  dD      Zej&                  j)                  ej&                  j~                  dD      Zej&                  j)                  ej&                  jV                  dd3d3      Zej&                  j)                  ej&                  j                  dd&d&d&      Z ej(                  ej@                  dd=gdd&d&ë      Z ej(                  ejV                  dd3d3ū      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>0   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api_token_hashemail_if_ownerrD   vacation_startrE   default_channelemail_if_authorrH   email_if_mentionsrK   email_if_spectatorwebhook_token_hashemail_if_responsibleemail_if_self_changesno_staff_control_today)VACATION_SUFFIXDOES_NOT_WORK_SUFFIX)r   r   r   r   r;   _main)
rE   r   r   r-   r1   r8   r   r;   r   r"   )r!   r6   rK   r#   auth_inactive_blockr>   )r   col1col2u   Контакты)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:Сбросить парольuQ   button:rpc=CmfPerson.generate_api_token:Сгенерировать 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_daterf   uL   button:nav=struct/Person-2FA/${id}:Настройка авторизацииuO   button:rpc=CmfPerson.unblock:Снять временную блокировкуauth_optionsu   Лицензии)lic_evaprojectlic_evawikilic_evaservicedesk
lic_evagitlic_evatestu)   Настройка уведомлений)r^   r\   rY   r`   r]   ra   )rU   rR   rP   u   Поля SD)servicedesk_allowrG   rF   rI   r<   u   Контроль работы)no_staff_controlrb   time_tracker_no_control)ui_list_fieldsui_group_fieldsu   Физ. лицаu"   Информация обо мнеTgin_trgm)captionindexindex_usingEmail)r{   r|   u   Телефон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)r{   modelbackrefrightvisibleno_aclu   ДолжностиCmfRoleperson)r{   r   r   r   u#   Основная должностьr   )r{   modelsoptions_list_paramslinkableu,   Ответственный в задачахCmfTaskresponsible)r{   r   r   r   u,   Соисполнитель в задачахzLinux User ID)r{   uniquezLinux Group ID)r{   u.   Не контролировать работу)r{   nullabledefaultr|   u   Сейчас в отпуске)r{   r   r   r   r   r|   u   Статус)r{   virtualr   r   u   В отпускеrZ   rV   )r{   start_field_nameend_field_nameu   Начало отпуска)r{   r   r|   u!   Окончание отпускаuA   Официально трудоустроен в компании
CmfCompanyr4   )r{   r   r   c                       e Zd ZdZdZy)CmfPerson.codeFhashN)r   r   r   r   truncater   r   r   r   r   c  s    r   r   u7   Вид деятельности по-умолчаниюCmfActivity)r{   r   r   u)   Нарушитель распорядка)r{   r   r   r|   uJ   Время взятия последнего обещанного часаr   )r{   r   r   r   u#   Причина блокировки)r{   r   r   CmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчанию
CmfProject)r{   r   r   r   u   Моя папка	CmfFolder)r{   r   r   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияCmfBirthday)r{   widgetr|   c                     |S Nr   selfvalues     r   
_zoom_castzCmfPerson._zoom_cast      r   Zoom)r{   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   r{   r   r   r   r   u'   Занимаемая должностьCmfWhatsapp
CmfMailboxuM   Канал для отправки сообщений по умолчанию)r   r{   CmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)r   r{   r   r   u   СостоянияCmfPersonVar)r{   r   r   u.   Имя аватара пользователя)r{   r   u   Уведомления по SMS)r{   r   u!   Уведомления по emailu   Уведомления ОС)r{   r   r   u.   Raw данные внешней системыCmfAuthPluginData)r{   r   u)   Настройка авторизацииc                      t               S r   )dictr   r   r   <lambda>zCmfPerson.<lambda>  s    DF r   zEmployee Number)r{   r|   r   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)r{   r   r   r   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)r{   r   r   u!   Рабочий календарьCmfCalendaru.   Должность клиента (Depricated)CmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)r{   r   r   r   u,   Блокирующие deadline задачиstaff_control_blocked_persons)r{   r   r   leftr   u6   Заблокирован за неактивность)r{   r   r   u   Лицензия Project)r{   r   u   Лицензия Wikiu   Лицензия ServiceDesku   Лицензия Gitu   Лицензия Testu   Лицензия EvaCI/CDu   Лицензия EvaRMSN)r   r   r   ui_name	ui_modulecode_prefixorderingrc   rd   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CmfIntrj   rk   CmfBoolrv   r6   CmfJsonr?   CmfDateRangerK   CmfDaterZ   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   r[   chat_topic_unread_messages
person_varCmfStrrE   rR   rU   rP   auth_plugin_dataro   ri   rw   ru   r^   r\   rY   r`   r]   ra   rm   rn   r#   
client_jobrG   rF   rI   r<   rb   staff_control_blocked_datestaff_control_blocked_tasksrf   rp   rq   rr   rs   rt   lic_evacicd
lic_evarmsr   r   r   r   r      s   GIKxH,O5F P$  	!$  ''447bbL
  0 +. 8T
 <	 3	. +	 D" &	 8m
HGR &L, ::I/S[_nxmyzD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 

((

'U]fp}  HM ) N 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*    	  !  
v	`
$$ v	`r   