U
    {yd9                     @   sF   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 dejZdS )    N)*)
cmf_person)fieldsc                &   @   s  e Zd ZdZdZdZdgZdZdZdddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+h&Z	e
jjd, Zddd!d-gd.d(d/dd	ddd0d-d1d2d'gdd
d3dd gd4d5dd!d"d#d$d%ddddddddgd6d7ddddddgd6d8d/dd&d2d9d:d;gd6d<d=d>d?d@dAdBdCdDgd6gdEZdFZd5ZejjedGdHZejjejjdIdJdKZejjejjdLdJdKZejjejjdMdJdKZejjejjdNdJdKZejjejjdOdJdKZG dPd de
jjZejjejjdQdRdSdJdTdJdUZejjejj dVdWdXdJdYZ!ejjejj"dZdWgd[gdJd\Z#ejjejj d]d^d_dTd`Z$ejjejj%dadJdbZ&ejjejj%dcdHZ'ejjejj(dddTdTdJdeZ)ejjejj(dfdJdTdTdTdJdgZ*ejjejj+dhdJdJdTdiZ,ejjej-djdddkZ.ee/dldTdJdmZ0ee/dndTdJdmZ1ejjejj2dodpdqgdrZ3eedsdJdJdJdtdTduZ4ee2dvdwdJdxZ5ejjejj(dydTdTdJdzZ6ejjejj%d{dTd|dJd}Z7ejjejjd~dTdJdZ8ejjejjdQddSdJdTdJdUZ9ejjejj2dddJdZ:ejjejj2dddTdZ;ejjejj<ddJdKZ=ejjejjddJdKZ>ejjejj<ddJdKZ?ejjejjddJdKZ@ejjejj<ddJdKZAejjejj<ddJdKZBejjejjCddJdKZDdd ZEejjejjFdeEdZGdd ZHejjejjFdeHdZIdd ZJejjejjFdeJdZKdd ZLejjejjFdeLdZMdd ZNejjejjFdeNdZOdd ZPejjejjFdePdZQdd ZRejjejjFdeRdZSdd ZTejjejjFdeTdZUdd ZVejjejjFdeVdZWdd ZXejjejjFdeXdZYdd ZZejjejjFdeZdZ[dd Z\ejjejjFde\dZ]dd Z^ejjejjFde^dZ_ejej`dddJddTdJdZaejjejjddHZbejej"ddgddZcejej dddTdXdZdejej dddXdčZeejejfddTdƍZgejej(ddTdȍZhejej(ddTdȍZiejej ddd̍Zjejjejj+dddτ dȍZkejej(ddTdTdэZlejjejj(ddTdTdэZmdS )	CmfPersonZPersonstructZPRSnameu    (В ОТПУСКЕ)u    (НЕ РАБОТАЕТ)
first_namesecond_name	last_namevacation_intervalon_vacationonline_statusvacation_startvacation_endemailemail_2zoomsnapchatlinkedinfacebookvkok	instagramskypeslackwhatsapp	messengervibertelegramdefault_channel
notify_smsnotify_emailphonephone_internalphone_mobilephone_2phone_assistant
ip_addressbirthdayavatar_filenametextZwebhook_token_hashZapi_token_hash)VACATION_SUFFIXDOES_NOT_WORK_SUFFIXprimary_roleZ_mainZlogincompanyrolesZrg_member_ofactivity)r   Zcol1Zcol2u   Контакты)r   r   u   Социальные сетиu!   Сетевые реквизитыuidgidauth_optionsZ_addonZdoes_not_workno_staff_controltime_tracker_no_controlZ	cmf_ownerservicedesk_allowuG   link:/?popup=1&obj=${id}&uiModule=aclStruct:Настройки правuQ   button:rpc=CmfPerson.generate_api_token:Сгенерировать API токенuY   button:rpc=CmfPerson.generate_webhook_token:Сгенерировать Webhook токен)Zui_list_fieldsZui_group_fieldsu   Физ. лицаu"   Информация обо мне)captionZEmailT)r7   indexu   Телефонu   Фамилияu   Имяu   Отчествоc                   @   s   e Zd ZdZdS )zCmfPerson.nameFN)__name__
__module____qualname__readonly r=   r=   %./modules/person/fields/cmf_person.pyr   {   s   u   ЧатыZCmfChatGroupZ	executorsF)r7   modelbackrefrightvisibleno_aclu   ДолжностиZCmfRoleZperson)r7   r?   r@   rA   u#   Основная должностьid)r7   modelsoptions_list_paramsZlinkableu,   Ответственный в задачахZCmfTaskZresponsible)r7   r?   r@   rB   zLinux User ID)r7   uniquezLinux Group IDu.   Не контролировать работу)r7   nullabledefaultr8   u   Сейчас в отпуске)r7   r<   rB   rI   rH   r8   u   Статус)r7   Zvirtualr<   rB   u   В отпуске)r7   Zstart_field_nameZend_field_nameu   Начало отпуска)r7   rB   r8   u!   Окончание отпускаuA   Официально трудоустроен в компанииZ
CmfCompanyZ
user_local)r7   r?   rF   u   Код объектаu3   Код в реальном мире из жизни)r7   rG   r8   r<   ZcommentrB   u7   Вид деятельности по-умолчаниюZCmfActivity)r7   r?   rH   u)   Нарушитель распорядка)r7   rB   rI   r8   uJ   Время взятия последнего обещанного часаr   )r7   rB   rI   rC   u#   Причина блокировки)r7   rB   rC   ZCmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчаниюZ
CmfProject)r7   r?   rC   u   Моя папкаZ	CmfFolder)r7   r?   rB   u#   Внутренний телефонu(   Мобильный/СМС телефонu!   Резервный контактu#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияc                 C   s   |S Nr=   selfvaluer=   r=   r>   
_zoom_cast  s    zCmfPerson._zoom_castZZoom)r7   castc                 C   s   |S rJ   r=   rK   r=   r=   r>   _snapchat_cast  s    zCmfPerson._snapchat_castZSnapchatc                 C   s   |S rJ   r=   rK   r=   r=   r>   _linkedin_cast  s    zCmfPerson._linkedin_castZLinkedInc                 C   s   |S rJ   r=   rK   r=   r=   r>   _facebook_cast  s    zCmfPerson._facebook_castZFacebookc                 C   s   |S rJ   r=   rK   r=   r=   r>   _vk_cast   s    zCmfPerson._vk_castZVKc                 C   s   |S rJ   r=   rK   r=   r=   r>   _ok_cast%  s    zCmfPerson._ok_castu   Одноклассникиc                 C   s$   |r | ds |d}d| }|S )Nzhttps://www.instagram.com/@
startswithlstriprK   r=   r=   r>   _instagram_cast,  s    
zCmfPerson._instagram_castZ	Instagramc                 C   s   |r| dsd| d }|S )Nzskype:z?chat)rW   rK   r=   r=   r>   _skype_cast7  s    zCmfPerson._skype_castZSkypec                 C   s   |S rJ   r=   rK   r=   r=   r>   _slack_cast?  s    zCmfPerson._slack_castZSlackc                 C   s(   |r$| ds$tdd|}d| }|S )Nzhttps://wa.me/z[^+0-9]+ )rW   resubrK   r=   r=   r>   _whatsapp_castD  s    zCmfPerson._whatsapp_castZWhatsappc                 C   s   |S rJ   r=   rK   r=   r=   r>   _messenger_castM  s    zCmfPerson._messenger_castZ	Messengerc                 C   s   |S rJ   r=   rK   r=   r=   r>   _viber_castR  s    zCmfPerson._viber_castZViberc                 C   s$   |r | ds |d}d| }|S )Nzhttps://t.merU   zhttps://t.me/rV   rK   r=   r=   r>   _telegram_castW  s    
zCmfPerson._telegram_castZTelegramZCmfDealu   СделкиZcontacts)r?   r7   rA   r@   rB   rC   u'   Занимаемая должностьZCmfWhatsappZ
CmfMailboxuM   Канал для отправки сообщений по умолчанию)rE   r7   ZCmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)r?   r7   rB   r@   u   СостоянияZCmfPersonVar)r7   r?   r@   u.   Имя аватара пользователя)r7   rB   u   Уведомления по SMS)r7   rI   u!   Уведомления по emailu.   Raw данные внешней системыZCmfAuthPluginData)r7   r?   u)   Настройка авторизацииc                   C   s   t  S rJ   )dictr=   r=   r=   r>   <lambda>r      zCmfPerson.<lambda>u1   Отключить контроль time trackera)r7   rI   rH   u   Доступ в Service DeskN)nr9   r:   r;   Zui_nameZ	ui_moduleZcode_prefixZorderingr+   r,   Zacl_static_self_write_fieldsr   r   Zui_meta_skipZui_formZverbose_nameZverbose_name_pluralcmfr   ZFieldZ	CmfMarkupr*   ZCmfEmailr   ZCmfPhoner"   ZCmfStr64r
   r   r	   r   ZCmfGenericM2MZchat_groupsZ
CmfBackrefr/   ZCmfGenericRelationr-   Zresponsible_tasksZCmfIntr1   r2   ZCmfBoolr4   r   ZCmfJsonr   ZCmfDateRanger   ZCmfDater   r   ZCmfRelationr.   coder0   Zhas_penaltyZpenalty_promise_hourZpenalty_reasonZchat_topicsZdefault_projectZhome_folderZCmfStr32r#   r$   r%   r&   r'   r   ZCmfDateTimer(   rN   ZCmfUrlShortr   rP   r   rQ   r   rR   r   rS   r   rT   r   rY   r   rZ   r   r[   r   r_   r   r`   r   ra   r   rb   r   ZCmfM2MZdealsZwork_positionr   Zchat_topic_unread_messagesZ
person_varZCmfStrr)   r    r!   Zauth_plugin_datar3   r5   r6   r=   r=   r=   r>   r      s                                 	Q
	        	
                                          r   )r]   Z
cmf.fieldsZ
cmf.modelsr   Zcmf.includerf   r   r   r=   r=   r=   r>   <module>   s
   