U
    Įwh]                     @   s0   d dl T d dlZd dlZG dd dejjZdS )    )*Nc                "   @   s  e Zd ZdZdZdZdZdZdZdZ	e
jje
jj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%gd&Ze
jje
jjd'd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*Ze
jje
jjd-dd.Ze
jje
jjdd/d0d1d0d2gd3Ze
jje
jjd4d5d6d7Ze
jje
jjd6d6d6d8d9d:Ze
jje
jjd;dd<gddd=d>Ze
jje
jjd?d6d6d@ZG dAdB dBe
jjZ G dCdD dDe
jjZ!G dEdF dFe
j"j#j$Z$dGS )HCmfAttachmentZ
AttachmentfilesZATTTZattachmentsu   Вложен вZCmfTaskZCmfListZCmfDocumentZCmfDealZCmfChatTopicZCmfChatGroupZ	CmfImportZ
CmfProjectZ	CmfFolderZCmfDashboardZCmfKanbanBoardZCmfMailZ
CmfNotepadZCmfHtmlSchemeZ	CmfPersonZCmfAuthLdapPluginZ	CmfExportZCmfPluginEvaZ
CmfCommentZCmfMailbox2ZCmfAnswerTemplateZCmfTestcaseZCmfTestcaseStepZCmfTestcaseRunHistoryStepZCmfTestplanZCmfTestcycleZCmfTestcaseRunZCmfTestcaseRunHistoryZCmfTestcaseFolderZCmfTestplanTestcaseFolderZCmfTestplanTestcase)captionmodelsu   Проект)r   modelnullableZUrl)r   u'   Url просмотра вложенияu'   Url миниатюры вложенияu   Расширение файла)r   r   u   ТэгиZCmfTagmembersZ	parent_id)rightr   r   ZbackrefZwidgetZoptions_list_paramsu$   Размер файла (байты)r   F)r   defaultr   alwaysu%   Ограничить просмотр)r   r   ZvisibleZ	load_moder   ZCmfPersonGroupZCmfProjectRoleu   Видимый для)r   leftZlinkabler   u#   Служебное вложение)r   r   r   c                       s(   e Zd ZdZdZdZ fddZ  ZS )zCmfAttachment.file_nameu!   Имя файла на дискеTFc           	         s   dd l }ddlm} |rtd|}d}t|t| t|d  }d}t|ddkrh|dd	 }||kr||d }|d |d
t|     d|	|d }|r| d| }t
 |S )Nr   )cmf_hashlibu   [А-Яа-я]       .      -   )mathZcmf.utilr   refindalllensplitZfloorstripZshort_str_encsupercast)	selfvaluer   r   Z
rus_simbolZos_max_lengthZfile_name_lengthextZslice_length	__class__ (./modules/files/fields/cmf_attachment.pyr   1   s    .zCmfAttachment.file_name.cast)__name__
__module____qualname__r   indexr   r   __classcell__r%   r%   r#   r&   	file_name-   s   r,   c                       s0   e Zd ZdZdZdZdZe fddZ  Z	S )zCmfAttachment.nameu   ИмяTFNc                    s   ||_ t ||S )N)r,   r   set)clsinstancer!   r#   r%   r&   r-   H   s    zCmfAttachment.name.set)
r'   r(   r)   r   r*   r   index_usingclassmethodr-   r+   r%   r%   r#   r&   nameB   s   r2   c                   @   s   e Zd ZdZdZdS )zCmfAttachment.codeTN)r'   r(   r)   r*   r0   r%   r%   r%   r&   codeL   s   r3   N)%r'   r(   r)   Zui_nameZ	ui_moduleZcode_prefixZacl_allow_createZacl_parent_fieldZenable_edit_permZenable_delete_permcmfZfieldsZFieldZCmfGenericRelationparentZCmfRelationZprojectZ
CmfStr4096urlZurl_previewZurl_preview_imgZCmfStr32Z	file_typeZCmfGenericM2MZtagsZ	CmfBigIntst_sizeZCmfBoolZprivateZ
spectatorsZembeddedZ	CmfStr256r,   r2   r   	CmfEntityr3   r%   r%   r%   r&   r      s                       	      
r   )Zcmf.includeZ
cmf.fieldsr4   Z
cmf.modelsr   r8   r   r%   r%   r%   r&   <module>   s   