B
    fP                 @   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_role_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)rJ   rK   u   Телефонu   Фамилияu   Имяu   Отчествоc               @   s   e Zd ZdZdS )zCmfPerson.nameFN)__name__
__module____qualname__readonly rP   rP   %./modules/person/fields/cmf_person.pyr      s   u   ЧатыZCmfChatGroupZ	executorsF)rJ   modelbackrefrightvisibleno_aclu   ДолжностиZCmfRoleZperson)rJ   rR   rS   rT   u#   Основная должность)rJ   modelsoptions_list_paramsZlinkableu,   Ответственный в задачахZCmfTaskZresponsible)rJ   rR   rS   rU   zLinux User ID)rJ   uniquezLinux Group ID)rJ   u.   Не контролировать работу)rJ   nullabledefaultrK   u   Сейчас в отпуске)rJ   rO   rU   r[   rZ   rK   u   Статус)rJ   ZvirtualrO   rU   u   В отпуске)rJ   Zstart_field_nameZend_field_nameu   Начало отпуска)rJ   rU   rK   u!   Окончание отпускаuA   Официально трудоустроен в компанииZ
CmfCompanyZ
user_local)rJ   rR   rX   c               @   s   e Zd ZdZdZdS )zCmfPerson.codeFhashN)rL   rM   rN   rU   truncaterP   rP   rP   rQ   code  s   r^   u7   Вид деятельности по-умолчаниюZCmfActivity)rJ   rR   rZ   u)   Нарушитель распорядка)rJ   rU   r[   rK   uJ   Время взятия последнего обещанного часаr   )rJ   rU   r[   rV   u#   Причина блокировки)rJ   rU   rV   ZCmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчаниюZ
CmfProject)rJ   rR   rV   rU   u   Моя папкаZ	CmfFolder)rJ   rR   rU   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияc             C   s   |S )NrP   )selfvaluerP   rP   rQ   
_zoom_cast5  s    zCmfPerson._zoom_castZZoom)rJ   castc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _snapchat_cast:  s    zCmfPerson._snapchat_castZSnapchatc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _linkedin_castA  s    zCmfPerson._linkedin_castZLinkedInc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _facebook_castH  s    zCmfPerson._facebook_castZFacebookc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _vk_castO  s    zCmfPerson._vk_castZVKc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _ok_castT  s    zCmfPerson._ok_castu   Одноклассникиc             C   s$   |r | ds |d}d| }|S )Nzhttps://www.instagram.com/@)
startswithlstrip)r_   r`   rP   rP   rQ   _instagram_cast[  s    
zCmfPerson._instagram_castZ	Instagramc             C   s   |r| dsd| d }|S )Nzskype:z?chat)ri   )r_   r`   rP   rP   rQ   _skype_castf  s    zCmfPerson._skype_castZSkypec             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _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]+ )ri   resub)r_   r`   rP   rP   rQ   _whatsapp_casts  s    zCmfPerson._whatsapp_castZWhatsappc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _messenger_cast|  s    zCmfPerson._messenger_castZ	Messengerc             C   s   |S )NrP   )r_   r`   rP   rP   rQ   _viber_cast  s    zCmfPerson._viber_castZViberc             C   s$   |r | ds |d}d| }|S )Nzhttps://t.merh   zhttps://t.me/)ri   rj   )r_   r`   rP   rP   rQ   _telegram_cast  s    
zCmfPerson._telegram_castZTelegramZCmfDealu   СделкиZcontacts)rR   rJ   rT   rS   rU   rV   u'   Занимаемая должностьZCmfWhatsappZ
CmfMailboxuM   Канал для отправки сообщений по умолчанию)rW   rJ   ZCmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)rR   rJ   rU   rS   u   СостоянияZCmfPersonVar)rJ   rR   rS   u.   Имя аватара пользователя)rJ   rU   u   Уведомления по SMS)rJ   r[   u!   Уведомления по emailu   Уведомления ОС)rJ   r[   rZ   u.   Raw данные внешней системыZCmfAuthPluginData)rJ   rR   u)   Настройка авторизацииc               C   s   t  S )N)dictrP   rP   rP   rQ   <lambda>      zCmfPerson.<lambda>zEmployee Number)rJ   rK   rY   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)rJ   rU   r[   rZ   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)rJ   rU   rZ   u!   Рабочий календарьZCmfCalendaru.   Должность клиента (Depricated)ZCmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)rJ   rU   rZ   rO   u,   Блокирующие deadline задачиZstaff_control_blocked_persons)rJ   rW   rS   leftrO   u6   Заблокирован за неактивность)rJ   rZ   r[   N)rL   rM   rN   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
CmfBackrefr8   ZCmfGenericRelationr5   Zresponsible_tasksZCmfIntr;   r<   ZCmfBoolrF   r   ZCmfJsonr   ZCmfDateRanger   ZCmfDater   r   ZCmfRelationr7   r^   r9   Zhas_penaltyZpenalty_promise_hourZpenalty_reasonZchat_topicsZdefault_projectZhome_folderZ	CmfStr256r$   r%   r&   r'   ZCmfStr32r(   r   ZCmfDateTimer)   ra   ZCmfUrlShortr   rc   r   rd   r   re   r   rf   r   rg   r   rk   r   rl   r   rm   r   rq   r   rr   r   rs   r   rt   r   ZCmfM2MZdealsZwork_positionr   Zchat_topic_unread_messagesZ
person_varZCmfStrr*   r    r!   r"   Zauth_plugin_datar=   rI   rG   r>   r,   r-   r.   r/   r0   r1   r?   r@   r:   Z
client_jobrB   rC   rD   rE   r2   Zstaff_control_blocked_dateZstaff_control_blocked_tasksrA   rP   rP   rP   rQ   r      s  





r   )ro   Z
cmf.fieldsZ
cmf.modelsr   Zcmf.includery   r   r   rP   rP   rP   rQ   <module>   s
   