U
    AfP                     @   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                0   @   s2	  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+d,d-d.d/d0d1d2d3d4d5h0Z	d6hZ
ejjd7 Zdd8dd"d9gd:d)d8dd	ddd;d9d<d(g
dd
d=d>gd?d@dd"d#d$d%d&ddddddddgdAdBddddddgdAdCd8dd'dDdEdFdGgdAdHdIdJdKdLdDdMgdNdOdPdQdRgd?dSd-d.d/d0d1d2gd dd!gd?dTdUdVdWdXgdAdYdZd[d6d\d]d^dMdJdKd_g
dAgd`ZdaZd@ZejjedbdcddgdeZejjejjdfdcdgZejjejjdhdcdgZejjejjdidcdgZejjejjdjdcdgZejjejjdkdcdgZG dld dejjZejjejjdmdndodcdpdcdqZ ejjejj!drdsdtdcduZ"ejjejj#dvdsgd^gdcdwZ$ejjejj!dxdydzdpd{Z%ejjejj&d|dcd}Z'ejjejj&d~dZ(ejjejj)ddpdpdcdZ*ejjejj)ddcdpdpdpdcdZ+ejjejj,ddcdcdpdZ-ejjej.ddddZ/ee0ddpdcdZ1ee0ddpdcdZ2ejjejj3dddgdZ4G dd dejj5Z5ee3dddcdZ6ejjejj)ddpdpdcdZ7ejjejj&ddpddcdZ8ejjejjddpdcdZ9ejjejjdmddodcdpdcdqZ:ejjejj3dddcdpdZ;ejjejj3dddpdZ<ejjejj=ddcdgZ>ejjejjddcdgZ?ejjejj=ddcdgZ@ejjejjddcdgZAejjejjBddcdgZCejjejjddcdgZDejjejjEddcdgZFdd ZGejjejjHdeGdZIdd ZJejjejjHdeJdZKdd ZLejjejjHdeLdZMdd ZNejjejjHdeNdZOdd ZPejjejjHdePdZQdd ZRejjejjHdeRdZSdd ZTejjejjHdeTdZUdd ZVejjejjHdeVdZWddÄ ZXejjejjHdeXdZYddƄ ZZejjejjHdeZdZ[ddɄ Z\ejjejjHde\dZ]dd̄ Z^ejjejjHde^dZ_ddτ Z`ejjejjHde`dZaejejbdddcddpdcdԍZcejjejjddZdejej#ddgddٍZeejej!dddpdtd܍Zfejej!dddtdߍZgejejhddpdZiejej)ddpdZjejej)ddcdZkejej)ddcdpdZlejej!dddZmejjejj,ddd dZnejejhddcdcdZoejej)ddpdpdZpejjejj)ddpdpdZqejjejj)ddcdcdpdZrejjejj)ddcdpdpdZsejjejj)ddcdcdpdZtejjejj)ddcdcdpdZuejjejj)ddcdcdpdZvejjejj)ddcdpdpdZwejjejj)ddcdpdpdZxejjejjEddpdcdZyejjejj3dddcdZzejjejj3dddpdZ{ejjejj=ddZ|ejjejj=d dZ}ejjejj=ddZ~ejjejj=ddZejjejj)ddpdpdZejjejjEddcdcdcdZejejddygddcdcdZejej)d	dpdpd
ZdS (  	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	notify_osphonephone_internalphone_mobilephone_2phone_assistant
ip_addressbirthdayavatar_filenametextZwebhook_token_hashZapi_token_hashemail_if_spectatoremail_if_authoremail_if_owneremail_if_responsibleemail_if_mentionsemail_if_self_changesZ
two_factorZtwo_factor_idZattachmentsno_staff_control_today)VACATION_SUFFIXDOES_NOT_WORK_SUFFIXZloginprimary_roleZ_maincompanyrolesactivitycalendar)r   Zcol1Zcol2u   Контакты)r   r   u   Социальные сетиu!   Сетевые реквизитыZrg_member_ofuidgidauth_optionsu   Безопасностьu;   button:action=change_password:Изменить парольuQ   button:rpc=CmfPerson.generate_api_token:Сгенерировать API токенuY   button:rpc=CmfPerson.generate_webhook_token:Сгенерировать Webhook токенservicedesk_allowuG   link:/?popup=1&obj=${id}&uiModule=aclStruct:Настройки правztwo_factor.two_factor_optpassword_must_changepassword_changed_dateauth_inactive_blockuL   button:nav=struct/Person-2FA/${id}:Настройка авторизацииu)   Настройка уведомленийu   Поля SDclient_job_nameclient_divisionclient_departmentclient_officeZ_addonZdoes_not_workno_staff_controltime_tracker_no_controlZ	cmf_owneridemployee_number)Zui_list_fieldsZui_group_fieldsu   Физ. лицаu"   Информация обо мнеTZgin_trgm)captionindexZindex_usingZEmail)rI   rJ   u   Телефонu   Фамилияu   Имяu   Отчествоc                   @   s   e Zd ZdZdS )zCmfPerson.nameFN)__name__
__module____qualname__readonly rO   rO   %./modules/person/fields/cmf_person.pyr      s   u   ЧатыZCmfChatGroupZ	executorsF)rI   modelbackrefrightvisibleno_aclu   ДолжностиZCmfRoleZperson)rI   rQ   rR   rS   u#   Основная должность)rI   modelsoptions_list_paramsZlinkableu,   Ответственный в задачахZCmfTaskZresponsible)rI   rQ   rR   rT   zLinux User ID)rI   uniquezLinux Group ID)rI   u.   Не контролировать работу)rI   nullabledefaultrJ   u   Сейчас в отпуске)rI   rN   rT   rZ   rY   rJ   u   Статус)rI   ZvirtualrN   rT   u   В отпуске)rI   Zstart_field_nameZend_field_nameu   Начало отпуска)rI   rT   rJ   u!   Окончание отпускаuA   Официально трудоустроен в компанииZ
CmfCompanyZ
user_local)rI   rQ   rW   c                   @   s   e Zd ZdZdZdS )zCmfPerson.codeFhashN)rK   rL   rM   rT   truncaterO   rO   rO   rP   code  s   r]   u7   Вид деятельности по-умолчаниюZCmfActivity)rI   rQ   rY   u)   Нарушитель распорядка)rI   rT   rZ   rJ   uJ   Время взятия последнего обещанного часаr   )rI   rT   rZ   rU   u#   Причина блокировки)rI   rT   rU   ZCmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчаниюZ
CmfProject)rI   rQ   rU   rT   u   Моя папкаZ	CmfFolder)rI   rQ   rT   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияc                 C   s   |S NrO   selfvaluerO   rO   rP   
_zoom_cast5  s    zCmfPerson._zoom_castZZoom)rI   castc                 C   s   |S r^   rO   r_   rO   rO   rP   _snapchat_cast:  s    zCmfPerson._snapchat_castZSnapchatc                 C   s   |S r^   rO   r_   rO   rO   rP   _linkedin_castA  s    zCmfPerson._linkedin_castZLinkedInc                 C   s   |S r^   rO   r_   rO   rO   rP   _facebook_castH  s    zCmfPerson._facebook_castZFacebookc                 C   s   |S r^   rO   r_   rO   rO   rP   _vk_castO  s    zCmfPerson._vk_castZVKc                 C   s   |S r^   rO   r_   rO   rO   rP   _ok_castT  s    zCmfPerson._ok_castu   Одноклассникиc                 C   s$   |r | ds |d}d| }|S )Nzhttps://www.instagram.com/@
startswithlstripr_   rO   rO   rP   _instagram_cast[  s    
zCmfPerson._instagram_castZ	Instagramc                 C   s   |r| dsd| d }|S )Nzskype:z?chat)rk   r_   rO   rO   rP   _skype_castf  s    zCmfPerson._skype_castZSkypec                 C   s   |S r^   rO   r_   rO   rO   rP   _slack_castn  s    zCmfPerson._slack_castZSlackc                 C   s(   |r$| ds$tdd|}d| }|S )Nzhttps://wa.me/z[^+0-9]+ )rk   resubr_   rO   rO   rP   _whatsapp_casts  s    zCmfPerson._whatsapp_castZWhatsappc                 C   s   |S r^   rO   r_   rO   rO   rP   _messenger_cast|  s    zCmfPerson._messenger_castZ	Messengerc                 C   s   |S r^   rO   r_   rO   rO   rP   _viber_cast  s    zCmfPerson._viber_castZViberc                 C   s$   |r | ds |d}d| }|S )Nzhttps://t.meri   zhttps://t.me/rj   r_   rO   rO   rP   _telegram_cast  s    
zCmfPerson._telegram_castZTelegramZCmfDealu   СделкиZcontacts)rQ   rI   rS   rR   rT   rU   u'   Занимаемая должностьZCmfWhatsappZ
CmfMailboxuM   Канал для отправки сообщений по умолчанию)rV   rI   ZCmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)rQ   rI   rT   rR   u   СостоянияZCmfPersonVar)rI   rQ   rR   u.   Имя аватара пользователя)rI   rT   u   Уведомления по SMS)rI   rZ   u!   Уведомления по emailu   Уведомления ОС)rI   rZ   rY   u.   Raw данные внешней системыZCmfAuthPluginData)rI   rQ   u)   Настройка авторизацииc                   C   s   t  S r^   )dictrO   rO   rO   rP   <lambda>      zCmfPerson.<lambda>zEmployee Number)rI   rJ   rX   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)rI   rT   rZ   rY   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)rI   rT   rY   u!   Рабочий календарьZCmfCalendaru.   Должность клиента (Depricated)ZCmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)rI   rT   rY   rN   u,   Блокирующие deadline задачиZstaff_control_blocked_persons)rI   rV   rR   leftrN   u6   Заблокирован за неактивность)rI   rY   rZ   N)rK   rL   rM   Zui_nameZ	ui_moduleZcode_prefixZorderingr3   r4   Zacl_static_self_write_fieldsZacl_static_user_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
CmfBackrefr7   ZCmfGenericRelationr5   Zresponsible_tasksZCmfIntr:   r;   ZCmfBoolrE   r   ZCmfJsonr   ZCmfDateRanger   ZCmfDater   r   ZCmfRelationr6   r]   r8   Zhas_penaltyZpenalty_promise_hourZpenalty_reasonZchat_topicsZdefault_projectZhome_folderZ	CmfStr256r$   r%   r&   r'   ZCmfStr32r(   r   ZCmfDateTimer)   rb   ZCmfUrlShortr   rd   r   re   r   rf   r   rg   r   rh   r   rm   r   rn   r   ro   r   rs   r   rt   r   ru   r   rv   r   ZCmfM2MZdealsZwork_positionr   Zchat_topic_unread_messagesZ
person_varZCmfStrr*   r    r!   r"   Zauth_plugin_datar<   rH   rF   r=   r,   r-   r.   r/   r0   r1   r>   r?   r9   Z
client_jobrA   rB   rC   rD   r2   Zstaff_control_blocked_dateZstaff_control_blocked_tasksr@   rO   rO   rO   rP   r      s                                        			
}
	        	                                           	r   )rq   Z
cmf.fieldsZ
cmf.modelsr   Zcmf.includer{   r   r   rO   rO   rO   rP   <module>   s
   