U
    XhJ[                     @   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                E   @   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+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJhEZ	ddd	dd*d)d(dKdLddd d!d"d#d$d%d&dddddddMdNdOdPddddddQd'd
ddRdSdTdUdVdWdXdYdZd[d\h0Z
d]hZejjd^ Zdd.dddgd_d
d.dddd	dddd'g
dd)d*d2d`d1gdadbddddddddddddd!d d4dcdgddded"d#d$d%d&dgdddfd.ddQdgdhgdddidjdkdldmdndod9dpgdqdrdsd`dtdudvgdadwdxdydzd{d|gddd}dTdUdVdWdXdYgdOdNdPgdad~ddGdHdIdJgddddd]dgddg	dZdZdbZejjedddgdZejjejjdddZejjejjdddZejjejjdddZejjejjdddZejjejjdddZG dd dejjZejjejj dddddddZ!ejjejj"dddddZ#ejjejj$ddgd4gddZ%ejjejj"dddddZ&ejjejj'dddZ(ejjejj'ddZ)ejjejj*dddddZ+ejjejj*dddddddZ,ejjejj-dddddZ.ejjej/ddKdLdZ0ee1ddddZ2ee1ddddZ3ejjejj4dddAgdZ5G dd dejj6Z6ee4ddddZ7ejjejj*dddddZ8ejjejj'dddddZ9ejjejjddddZ:ejjejj dddddddZ;ejjejj4dddddZ<ejjejj4ddddZ=ejjejj>dddZ?ejjejjdddZ@ejjejj>dddZAejjejjdddZBejjejjCdddZDejjejjdddZEejjejjFddddˍZGdd̈́ ZHejjejjIdeHdύZJddф ZKejjejjIdeKdύZLddԄ ZMejjejjIdeMdύZNddׄ ZOejjejjIdeOdύZPddڄ ZQejjejjIdeQdύZRdd݄ ZSejjejjIdeSdύZTdd ZUejjejjIdeUdύZVdd ZWejjejjIdeWdύZXdd ZYejjejjIdeYdύZZdd Z[ejjejjIde[dύZ\dd Z]ejjejjIde]dύZ^dd Z_ejjejjIde_dύZ`dd ZaejjejjIdeadύZbejejcdddddddZdejjejjddZeejej$ddgddZfejej"dddddZgejej"d dddZhejejidddZjejej*dddZkejej*dddZlejej*dddd	Zmejej"d
ddZnejjejj-ddd dZoejejiddddZpejej*dddd	Zqejjejj*dddd	Zrejjejj*dddddZsejjejj*dddddZtejjejj*dddddZuejjejj*dddddZvejjejj*dddddZwejjejj*dddddZxejjejj*dddddZyejjejjFddddZzejjejj4ddddZ{ejjejj4d d!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%dZejjejj*d&ddd	ZejjejjFd'dddd(Zejej d)dgd*ddd+Zejej*d,ddd-Zejej*d.dd/Zejej*d0dd/Zejej*d1dd/Zejej*d2dd/Zejej*d3dd/Zejej*d4dd/Zejej*d5dd/Zd6S (7  	CmfPersonZPersonstructZPRSnameu    (В ОТПУСКЕ)u    (НЕ РАБОТАЕТ)
first_name	last_namesecond_nameavatar_filenametextZext_idcodeprimary_rolerolescompanywork_positionactivityemailemail_2phonephone_mobilephone_internalphone_2phone_assistantskypewhatsapptelegramviber	messengerslackzoomsnapchatlinkedinfacebookvkok	instagrambirthdayonline_statuson_vacationvacation_intervalZcmf_deletedsystemZordernoZloginZ
is_supportZis_adminZdoes_not_workcalendarZcmf_created_atidparentZ	parent_idZprojectZ
project_idZ	cmf_ownerZcmf_owner_idZcommentsZperm_parent_ownerZperm_parent_owner_idZperm_inherit_acl_idZperm_effective_acl_idZ%perm_security_level_allowed_ids_cacheZ
user_localZdeleted_loginZ	old_loginZperm_parent_idZsl_owner_lockZperm_parentclient_job_nameclient_divisionclient_departmentclient_officevacation_startvacation_enddefault_channel
notify_smsnotify_email	notify_os
ip_addressZ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_mainauth_inactive_block)r   Zcol1Zcol2u   Контактыemployee_number)r   r   u   Социальные сетиu!   Сетевые реквизиты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 токенZrg_member_ofuG   link:/?popup=1&obj=${id}&uiModule=aclStruct:Настройки правztwo_factor.two_factor_optpassword_must_changepassword_changed_dateuL   button:nav=struct/Person-2FA/${id}:Настройка авторизацииuO   button:rpc=CmfPerson.unblock:Снять временную блокировкуauth_optionsu   Лицензииlic_evaprojectlic_evawikilic_evaservicedesk
lic_evagitlic_evatestu)   Настройка уведомленийu   Поля SDservicedesk_allowu   Контроль работыno_staff_controltime_tracker_no_control)Zui_list_fieldsZui_group_fieldsu   Физ. лицаu"   Информация обо мнеTZgin_trgm)captionindexZindex_usingZEmail)rR   rS   u   Телефонu   Фамилияu   Имяu   Отчествоc                   @   s   e Zd ZdZdS )zCmfPerson.nameFN)__name__
__module____qualname__readonly rX   rX   %./modules/person/fields/cmf_person.pyr     s   u   ЧатыZCmfChatGroupZ	executorsF)rR   modelbackrefrightvisibleno_aclu   ДолжностиZCmfRoleZperson)rR   rZ   r[   r\   u#   Основная должность)rR   modelsoptions_list_paramsZlinkableu,   Ответственный в задачахZCmfTaskZresponsible)rR   rZ   r[   r]   zLinux User ID)rR   uniquezLinux Group ID)rR   u.   Не контролировать работу)rR   nullabledefaultrS   u   Сейчас в отпуске)rR   rW   r]   rc   rb   rS   u   Статус)rR   ZvirtualrW   r]   u   В отпуске)rR   Zstart_field_nameZend_field_nameu   Начало отпуска)rR   r]   rS   u!   Окончание отпускаuA   Официально трудоустроен в компанииZ
CmfCompany)rR   rZ   r`   c                   @   s   e Zd ZdZdZdS )zCmfPerson.codeFhashN)rT   rU   rV   r]   truncaterX   rX   rX   rY   r   `  s   u7   Вид деятельности по-умолчаниюZCmfActivity)rR   rZ   rb   u)   Нарушитель распорядка)rR   r]   rc   rS   uJ   Время взятия последнего обещанного часаr   )rR   r]   rc   r^   u#   Причина блокировки)rR   r]   r^   ZCmfChatTopicu<   DEPRECATED Проект/Раздел по-умолчаниюZ
CmfProject)rR   rZ   r^   r]   u   Моя папкаZ	CmfFolder)rR   rZ   r]   u/   Внутренний телефон(текст)u(   Мобильный/СМС телефонu-   Резервный контакт(текст)u#   Телефон ассистентаu   IP адресu"   Дополнительный Emailu   День рожденияZCmfBirthday)rR   ZwidgetrS   c                 C   s   |S NrX   selfvaluerX   rX   rY   
_zoom_cast  s    zCmfPerson._zoom_castZZoom)rR   castc                 C   s   |S rf   rX   rg   rX   rX   rY   _snapchat_cast  s    zCmfPerson._snapchat_castZSnapchatc                 C   s   |S rf   rX   rg   rX   rX   rY   _linkedin_cast  s    zCmfPerson._linkedin_castZLinkedInc                 C   s   |S rf   rX   rg   rX   rX   rY   _facebook_cast  s    zCmfPerson._facebook_castZFacebookc                 C   s   |S rf   rX   rg   rX   rX   rY   _vk_cast  s    zCmfPerson._vk_castZVKc                 C   s   |S rf   rX   rg   rX   rX   rY   _ok_cast  s    zCmfPerson._ok_castu   Одноклассникиc                 C   s$   |r | ds |d}d| }|S )Nzhttps://www.instagram.com/@
startswithlstriprg   rX   rX   rY   _instagram_cast  s    
zCmfPerson._instagram_castZ	Instagramc                 C   s   |r| dsd| d }|S )Nzskype:z?chat)rs   rg   rX   rX   rY   _skype_cast  s    zCmfPerson._skype_castZSkypec                 C   s   |S rf   rX   rg   rX   rX   rY   _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]+ )rs   resubrg   rX   rX   rY   _whatsapp_cast  s    zCmfPerson._whatsapp_castZWhatsappc                 C   s   |S rf   rX   rg   rX   rX   rY   _messenger_cast  s    zCmfPerson._messenger_castZ	Messengerc                 C   s   |S rf   rX   rg   rX   rX   rY   _viber_cast  s    zCmfPerson._viber_castZViberc                 C   s$   |r | ds |d}d| }|S )Nzhttps://t.merq   zhttps://t.me/rr   rg   rX   rX   rY   _telegram_cast  s    
zCmfPerson._telegram_castZTelegramZCmfDealu   СделкиZcontacts)rZ   rR   r\   r[   r]   r^   u'   Занимаемая должностьZCmfWhatsappZ
CmfMailboxuM   Канал для отправки сообщений по умолчанию)r_   rR   ZCmfChatTopicUnreadMessageu6   Непрочитанные сообщения чата)rZ   rR   r]   r[   u   СостоянияZCmfPersonVar)rR   rZ   r[   u.   Имя аватара пользователя)rR   r]   u   Уведомления по SMS)rR   rc   u!   Уведомления по emailu   Уведомления ОС)rR   rc   rb   u.   Raw данные внешней системыZCmfAuthPluginData)rR   rZ   u)   Настройка авторизацииc                   C   s   t  S rf   )dictrX   rX   rX   rY   <lambda>      zCmfPerson.<lambda>zEmployee Number)rR   rS   ra   u1   Отключить контроль time trackerau   Доступ в Service Deskuv   Оповещать по email если отслеживаю или связан с задачей/документом)rR   r]   rc   rb   uD   Оповещать по email если являюсь авторомuY   Оповещать по email если являюсь владельцем объектаuN   Оповещать по email если являюсь исполнителемuB   Оповещать по email если меня упомянулиuD   Оповещать по email если вношу измененияua   Требуется смена пароля при следующем входе в системуu3   Дата последней смены пароля)rR   r]   rb   u!   Рабочий календарьZCmfCalendaru.   Должность клиента (Depricated)ZCmfClientJobu!   Должность клиентаu)   Подразделение клиентаu%   Департамент клиентаu   Офис клиентаuF   Разблокировать рабочее место на 1 деньuE   Рабочее место заблокировано системой)rR   r]   rb   rW   u,   Блокирующие deadline задачиZstaff_control_blocked_persons)rR   r_   r[   leftrW   u6   Заблокирован за неактивность)rR   rb   rc   u   Лицензия Project)rR   rW   u   Лицензия Wikiu   Лицензия ServiceDesku   Лицензия Gitu   Лицензия Testu   Лицензия EvaCI/CDu   Лицензия EvaRMSN)rT   rU   rV   Zui_nameZ	ui_moduleZcode_prefixZorderingrA   rB   Zacl_static_public_fieldsZ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
CmfBackrefr   ZCmfGenericRelationr   Zresponsible_tasksZCmfIntrE   rF   ZCmfBoolrP   r)   ZCmfJsonr(   ZCmfDateRanger*   ZCmfDater3   r4   ZCmfRelationr   r   r   Zhas_penaltyZpenalty_promise_hourZpenalty_reasonZchat_topicsZdefault_projectZhome_folderZ	CmfStr256r   r   r   r   ZCmfStr32r9   r   ZCmfDateTimer'   rj   ZCmfUrlShortr    rl   r!   rm   r"   rn   r#   ro   r$   rp   r%   ru   r&   rv   r   rw   r   r{   r   r|   r   r}   r   r~   r   ZCmfM2MZdealsr   r5   Zchat_topic_unread_messagesZ
person_varZCmfStrr   r6   r7   r8   Zauth_plugin_datarI   rD   rQ   rO   r:   r;   r<   r=   r>   r?   rG   rH   r,   Z
client_jobr/   r0   r1   r2   r@   Zstaff_control_blocked_dateZstaff_control_blocked_tasksrC   rJ   rK   rL   rM   rN   Zlic_evacicdZ
lic_evarmsrX   rX   rX   rY   r      s             I                                      		 

	        	                                           
	r   )ry   Z
cmf.fieldsZ
cmf.modelsr   Zcmf.includer   r   r   rX   rX   rX   rY   <module>   s
   