
    	]j                         d Z ddlmZ ddlmZ ddlmZ ddlmZ	  G d dej                        Z G d d	ej                        Z G d
 dee      Z G d dej                        Z G d dej                        Zy)zThis file and its contents are licensed under the Apache License 2.0. Please see the included NOTICE for copyright information and LICENSE for a copy of the license.
    )PrepareParams)settings)models)gettext_lazyc                      e Zd Z ej                   ed      edd      Z ej                   ed      edd      Z ej                   ed      ddd	      Z
 ej                   ed
      edd      Z ej                  ddej                  d      Z ej                  ej                   dej"                  dd      Z G d d      Zy)ViewBaseModeldataTzCustom view datadefaultnull	help_textorderingzOrdering parametersorderr   zePosition of the tab, starting at the left in data manager and increasing as the tabs go left to rightzselected itemszSelected itemszdata_manager.FilterGroupzGroups of filters)r   	on_deleter   z%(app_label)s_%(class)sszUser who made this view)related_namer   r   r   c                   D    e Zd ZddgZ ej
                  ddg      gZdZy)ViewBaseModel.Metar   idproject)fieldsTN)__name__
__module____qualname__r   r   Indexindexesabstract     J/root/env/lib/python3.12/site-packages/label_studio/data_manager/models.pyMetar      s(    T?6<<	7';<=r   r    N)r   r   r   r   	JSONField_dictr	   r   IntegerFieldr   selected_items
ForeignKeySET_NULLfilter_groupr   AUTH_USER_MODELCASCADEuserr    r   r   r   r   r   	   s    6AfIt$J\]Dv*t$RghHF	'
y	E &V%%a(8&94d^noN$6$$"TgL 6  /..+D r   r   c                   f    e Zd Z ej                  ddej
                  d      Zd Z G d d      Zy)	ProjectViewMixinzprojects.Projectviewsz
Project ID)r   r   r   c                 n    | j                   |_         | j                   j                  |j                  k(  ryy)NTF)r   organizationactive_organization)selfr+   s     r   has_permissionzProjectViewMixin.has_permission)   s+    ||<<$$(@(@@r   c                       e Zd ZdZy)ProjectViewMixin.MetaTN)r   r   r   r   r   r   r   r    r5   /   s    r   r    N)	r   r   r   r   r&   r*   r   r3   r    r   r   r   r-   r-   $   s1    fFNNVbG r   r-   c                       e Zd ZddZy)Viewc                    ddl m} d }| j                  r" |       }|j                  | j                        }| j                  }|sg }d }|r| j
                  r| j
                  }t        | j                  ||| j                  |      S )Nr   )FilterGroupSerializer)r   r   filtersr	   selectedItems)	data_manager.serializersr9   r(   to_representationr   r%   r   
project_idr	   )r2   add_selected_itemsr9   r:   
serializerr   r%   s          r   get_prepare_tasks_paramszView.get_prepare_tasks_params4   s    B .0J 2243D3DEG==H$"5"5!00NOOhdiigu
 	
r   N)F)r   r   r   rA   r   r   r   r7   r7   3   s    
r   r7   c                   l    e Zd Z ej                   ed      dd      Z ej                  ddd      Zy	)
FilterGroupconjunction   zType of conjunction
max_lengthr   zdata_manager.Filterfilter_groupszConnected filters)r   r   N)	r   r   r   r   	CharFieldr"   rD   ManyToManyFieldr:   r   r   r   rC   rC   K   s8    "&""1]#3PefK$f$$OGZGr   rC   c                   d   e Zd Z ej                  dej
                  dddd      Z ej                   ed      dddd	      Z	 ej                   ed
      dd      Z ej                   ed      dd      Z ej                   ed      dd      Z ej                   ed      edd      Zy)Filterr2   childrenTz_Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent))r   r   r   blankr   indexNz%Display order among root filters only)r   rN   r   r   columnrE   z
Field namerF   typez
Field typeoperatorzFilter operatorvaluezFilter valuer
   )r   r   r   r   r&   r*   parentr$   r"   rO   rI   rP   rQ   rR   r!   r#   rS   r   r   r   rL   rL   R   s    V..sF  F	'
9E VakdlSF6AfI$,ODv*$J[\HFQwZDN[Er   rL   N)__doc__data_manager.prepare_paramsr   django.confr   	django.dbr   django.utils.translationr   r"   Modelr   r-   r7   rC   rL   r   r   r   <module>r[      sg    5    6FLL 6v|| 
=* 
0&,, \V\\ \r   