
    Ci$[                     \    d dl Z d dlT d dlmZ d dlT d dlmZ  G d dej                  ZdS )    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                            ed%&          Zej                            ej        j        d'd()          Zej                            ej        j        d*d()          Zej                            ej        j        d+d()          Zej                            ej        j        d,d()          Zej                            ej        j        d-d()          Z G d. dej        j                  Zej                            ej        j         d/d0d1d(d2d(3          Z!ej                            ej        j"        d4d5d6d(7          Z#ej                            ej        j$        d8d5gd9gd(:          Z%ej                            ej        j"        d;d<d=d2>          Z&ej                            ej        j'        d?d(@          Z(ej                            ej        j'        dA&          Z)ej                            ej        j*        dBd2d2d(C          Z+ej                            ej        j*        dDd(d2d2d2d(E          Z,ej                            ej        j-        dFd(d(d2G          Z.ej                            ej/        dHdIdJK          Z0 ee1dLd2d(M          Z2 ee1dNd2d(M          Z3ej                            ej        j4        dOdPdQgR          Z5 G dS dTej        j6                  Z6 ee4dUdVd(W          Z7ej                            ej        j*        dXd2d2d(Y          Z8ej                            ej        j'        dZd2d[d(\          Z9ej                            ej        j        d]d2d(^          Z:ej                            ej        j         d/d_d1d(d2d(3          Z;ej                            ej        j4        d`dad(d2b          Z<ej                            ej        j4        dcddd2e          Z=ej                            ej        j>        dfd()          Z?ej                            ej        j        dgd()          Z@ej                            ej        j>        dhd()          ZAej                            ej        j        did()          ZBej                            ej        jC        djd()          ZDej                            ej        j        dkd()          ZEej                            ej        jF        dldmd(n          ZGdo ZHej                            ej        jI        dpeHq          ZJdr ZKej                            ej        jI        dseKq          ZLdt ZMej                            ej        jI        dueMq          ZNdv ZOej                            ej        jI        dweOq          ZPdx ZQej                            ej        jI        dyeQq          ZRdz ZSej                            ej        jI        d{eSq          ZTd| ZUej                            ej        jI        d}eUq          ZVd~ ZWej                            ej        jI        deWq          ZXd ZYej                            ej        jI        deYq          ZZd Z[ej                            ej        jI        de[q          Z\d Z]ej                            ej        jI        de]q          Z^d Z_ej                            ej        jI        de_q          Z`d Zaej                            ej        jI        deaq          Zb ej        ejc        ddd(dd2d(          Zdej                            ej        j        d&          Ze ej        ej$        ddgd          Zf ej        ej"        ddd2d6          Zg ej        ej"        ddd6          Zh ej        eji        dd2          Zj ej        ej*        dd2          Zk ej        ej*        dd(          Zl ej        ej*        dd(d2          Zm ej        ej"        dd          Znej                            ej        j-        dd           Zo ej        eji        dd(d(          Zp ej        ej*        dd2d2          Zqej                            ej        j*        dd2d2          Zrej                            ej        j*        dd(d(d2          Zsej                            ej        j*        dd(d2d2          Ztej                            ej        j*        dd(d(d2          Zuej                            ej        j*        dd(d(d2          Zvej                            ej        j*        dd(d(d2          Zwej                            ej        j*        dd(d2d2          Zxej                            ej        j*        dd(d2d2          Zyej                            ej        jF        dd2d(          Zzej                            ej        j4        ddd(W          Z{ej                            ej        j4        ddd2e          Z|ej                            ej        j>        d&          Z}ej                            ej        j>        d&          Z~ej                            ej        j>        d&          Zej                            ej        j>        d&          Zej                            ej        j*        dd2d2          Zej                            ej        jF        dd(d(d(          Z ej        ej         dd<gdd(d(          Z ej        ej*        dd2d2¦          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          Z ej        ej*        dd(Ħ          ZdS )	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"   Информация обо мне)captionEmailT)rz   indexu   Телефонu   Фамилияu   Имяu   Отчествоc                       e Zd ZdZdS )CmfPerson.nameFN)__name__
__module____qualname__readonly     %./modules/person/fields/cmf_person.pyr   r~     s        r   u   ЧатыCmfChatGroup	executorsF)rz   modelbackrefrightvisibleno_aclu   ДолжностиCmfRoleperson)rz   r   r   r   u#   Основная должностьr   )rz   modelsoptions_list_paramslinkableu,   Ответственный в задачахCmfTaskresponsible)rz   r   r   r   zLinux User ID)rz   uniquezLinux Group IDu.   Не контролировать работу)rz   nullabledefaultr|   u   Сейчас в отпуске)rz   r   r   r   r   r|   u   Статус)rz   virtualr   r   u   В отпускеrZ   rV   )rz   start_field_nameend_field_nameu   Начало отпуска)rz   r   r|   u!   Окончание отпускаuA   Официально трудоустроен в компании
CmfCompanyr4   )rz   r   r   c                       e Zd ZdZdZdS )CmfPerson.codeFhashN)r   r   r   r   truncater   r   r   r   r   `  s        r   r   u7   Вид деятельности по-умолчаниюCmfActivity)rz   r   r   u)   Нарушитель распорядка)rz   r   r   r|   uJ   Время взятия последнего обещанного часаr   )rz   r   r   r   u#   Причина блокировки)rz   r   r   CmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчанию
CmfProject)rz   r   r   r   u   Моя папка	CmfFolder)rz   r   r   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияCmfBirthday)rz   widgetr|   c                     |S Nr   selfvalues     r   
_zoom_castzCmfPerson._zoom_cast      r   Zoom)rz   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                 h    |r/|                     d          s|                    d          }d|z   }|S )Nzhttps://www.instagram.com/@
startswithlstripr   s     r   _instagram_castzCmfPerson._instagram_cast  s@     	9))*FGG 	9LL%%E058Er   	Instagramc                 D    |r|                     d          sd|z   dz   }|S )Nzskype:z?chat)r   r   s     r   _skype_castzCmfPerson._skype_cast  s3     	/))(33 	/u$w.Er   Skypec                     |S r   r   r   s     r   _slack_castzCmfPerson._slack_cast  r   r   Slackc                 j    |r0|                     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  sB     	-))*:;; 	-F;E2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                 h    |r/|                     d          s|                    d          }d|z   }|S )Nzhttps://t.mer   zhttps://t.me/r   r   s     r   _telegram_castzCmfPerson._telegram_cast  s?     	,)).99 	,LL%%E#e+Er   TelegramCmfDealu   Сделкиcontacts)r   rz   r   r   r   r   u'   Занимаемая должностьCmfWhatsapp
CmfMailboxuM   Канал для отправки сообщений по умолчанию)r   rz   CmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)r   rz   r   r   u   СостоянияCmfPersonVar)rz   r   r   u.   Имя аватара пользователя)rz   r   u   Уведомления по SMS)rz   r   u!   Уведомления по emailu   Уведомления ОС)rz   r   r   u.   Raw данные внешней системыCmfAuthPluginData)rz   r   u)   Настройка авторизацииc                      t                      S r   )dictr   r   r   <lambda>zCmfPerson.<lambda>  s
    DFF r   zEmployee Number)rz   r|   r   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)rz   r   r   r   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)rz   r   r   u!   Рабочий календарьCmfCalendaru.   Должность клиента (Depricated)CmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)rz   r   r   r   u,   Блокирующие deadline задачиstaff_control_blocked_persons)rz   r   r   leftr   u6   Заблокирован за неактивность)rz   r   r   u   Лицензия Project)rz   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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  F  F P$ $ $  	!$  '47bbL
 
 
       0 +   . 8TTT 
 <  	 	 3	 	 	   . +  	 	 D     " &  	 	 8   m
H HGR &L, :I/STTDJSZ0'NNEJSZ0:JRVWWE
  !4>NVZ [[I!!#*"5xt!TTJ*""3:#6@RZ^"__K    z#(   
 *""
  #  K J
$   E :##
%/T^g]h  @D  E  PT $ U UL 
((
'U]fp}  HM ) N N *

3:,od

S
SC
*

3:,6F

G
GCz''
@ (   *""
0  #  K J$$
 %  M 
((#)%	 )   U-  N 53  L j
S)N	   G    z#(   
 uV^kvz  H *""
; #  K :++
\fkuv  AE ,   Z%%
%JTYbf & h hN *""
 .+T[`im # o oK j&&
(fnz  DH  RW ' X XO *""
(;;X] # _ _K Z%%cj&:Du  ~B%  C  CN:##CJ$7Aksw#xxLjsz3=ltxyyGj&&sz':Diqu&vvO!!#*"5VZ![[Jjsz2<`hlmmGz
 6@[dqy}~~H   :CJ2FTTD   z

    H   z

    H   z

    H   
		#*0$X		N	NB   
		
(D8 
 
 
B   
  
/ !  I   JSZ3W;WWE   JSZ3W;WWE   z
 6
Q_``H   
  !7Sb ccI   JSZ3W;WWE   z

    H FLYdT^hmvz| | |E J$$SZ%8Bk$llM"fl!=,*G_a a aO ".!<HRWai"k "k "k f/9MUcmuvvvJ"fl6=:jtyzzzOfn6WafgggJ6<8[eijjjLV^5R\`kpqqqI#v|F$5?o  xK  L  L  L:##CJ$6@k,:N $ < <L"fl6=:KSW`deeeO*flC	   
((
.	 )   ))
 I *   j&&
V '  O Z%%
k &  N :++
` ,   
((
T )    J,,
V -   :++
s ,    J,,
E	 -   z
3	    H !!
@	 "  J j&&sz';Eh&iiOj&&sz';Ep&qqO
(()=Gn(ooJ$$SZ%9C\$]]M Z--
X	 .   "%!1!1
W "2 " " #/&,>{/# # # '&,H	   "V\&.:T_cdddN&,v~7NY]^^^K%fn>\gklllfn6LW[\\\J&,v~7NY]^^^K&,v~7R]abbbKfn6OZ^___JJJr   r   )r   
cmf.fields
cmf.modelsr   cmf.includer   r   r   r   r   r   <module>r     s    				     ! ! ! ! ! !          
s	` s	` s	` s	` s	`
$ s	` s	` s	` s	` s	`r   