Ë
    •2Úi·;  ã                   óÊ   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZ  ed	¬
«       ei ¬«       ed¬«       G d„ de«      «       «       «       Zy)é    )Úurl_params_from_lookup_dict)ÚUser)ÚTestCase)Úoverride_settings)Úreverse)ÚtimezoneÚtranslation)Ú	urlencode)ÚCategoryÚEntryé
   )ÚGRAPPELLI_AUTOCOMPLETE_LIMIT)Ú$GRAPPELLI_AUTOCOMPLETE_SEARCH_FIELDSzgrappelli.tests.urls)ÚROOT_URLCONFc                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚRelatedTestsc                 ó0  — t         j                  j                  ddd«      | _        t         j                  j	                  ddd«      | _        d| j
                  _        | j
                  j                  «        t         j                  j	                  dd	d
«      | _        d| j                  _        | j                  j                  «        t        d«      D ]%  }t        j                  j                  d|z  ¬«       Œ' t        j                  j                  dt        j                  «       | j                  ¬«      | _        t        j                  j                  dt        j                  «       | j
                  ¬«      | _        t#        j$                  d«       y)z6
        Create users, categories and entries
        ÚSuperuser001zsuperuser001@example.comÚsuperuser001Ú	Editor001zeditor001@example.comÚ	editor001TÚUser001zuser001@example.comÚuser001Féd   zCategory No %s)ÚnameúEntry Superuser)ÚtitleÚdateÚuserúEntry EditorÚenN)r   ÚobjectsÚcreate_superuserÚsuperuser_1Úcreate_userÚeditor_1Úis_staffÚsaveÚuser_1Úranger   Úcreater   r   ÚnowÚentry_superuserÚentry_editorr	   Úactivate)ÚselfÚis     úS/var/www/html/acx/venv/lib/python3.12/site-packages/grappelli/tests/test_related.pyÚsetUpzRelatedTests.setUp   s:  € ô  Ÿ<™<×8Ñ8¸ÐIcÐesÓtˆÔÜŸ™×0Ñ0°Ð>UÐWbÓcˆŒØ!%ˆ�‰ÔØ�‰×ÑÔÜ—l‘l×.Ñ.¨yÐ:OÐQZÓ[ˆŒØ$ˆ�‰ÔØ�‰×ÑÔô �s“ò 	AˆAÜ×Ñ×#Ñ#Ð)9¸QÑ)?Ð#Õ@ð	Aô  %Ÿ}™}×3Ñ3Ð:KÜ9A¿¹»Ø9=×9IÑ9Ið  4ó  KˆÔô "ŸM™M×0Ñ0°~Ü6>·l±l³nØ6:·m±mð 1ó EˆÔô 	×Ñ˜TÕ"ó    c                 ól  — | j                  t        j                  j                  «       j	                  «       d«       | j                  t
        j                  j                  «       j	                  «       d«       | j                  t        j                  j                  «       j	                  «       d«       y)z
        Test setup
        é   r   é   N)ÚassertEqualr   r"   ÚallÚcountr   r   )r0   s    r2   Ú
test_setupzRelatedTests.test_setup-   sx   € ð 	×ÑœŸ™×)Ñ)Ó+×1Ñ1Ó3°QÔ7Ø×Ñœ×)Ñ)×-Ñ-Ó/×5Ñ5Ó7¸Ô=Ø×ÑœŸ™×*Ñ*Ó,×2Ñ2Ó4°aÕ8r4   c           
      ó”  — | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›d�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›d�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dd ddœg«       d!ddt        t        d"d#d$gi«      «      d%œ}t        |«      }| j                   j                  t        d«      ›d|›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       d$ddt        t        d"d#d$gi«      «      d%œ}t        |«      }| j                   j                  t        d«      ›d|›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dd ddœg«       | j                   j                  t        d«      ›dd›dd›d&�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›d&�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dd ddœg«       | j                   j                  t        d«      ›dd›dd'›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dd(ddœg«       | j                   j                  t        d«      ›d)d›dd'›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d*d+ddœg«       | j                   j                  d,d-¬«       | j                   j                  t        d«      ›dd›dd'›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dd(ddœg«       | j                   j                  d.t        d«      z  «      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       | j                   j                  d/t        d«      z  «      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       y
)0z%
        Test related lookup
        r   r   ©ÚusernameÚpasswordÚgrp_related_lookupé“  r   r   éÈ   úutf-8NÚ ©ÚvalueÚlabelú?object_id=1&app_label=Ú	grappelliú&model_name=ÚcategoryÚ1úCategory No 0 (1)F©rF   rG   Úsafez#?object_id=1&to_field=id&app_label=z1?object_id=Category+No+0&to_field=name&app_label=zCategory No 0ú?object_id=10000&app_label=Ú10000ú?z'?object_id=xxx&to_field=name&app_label=Úxxxú&query_string=id__gte=99z?object_id=100&app_label=Ú100úCategory No 99 (100)é   Úid__inéc   r   )Ú	object_idÚ	app_labelÚ
model_nameÚquery_stringú+&query_string=name__icontains=99:id__gte=99Úentryr   z?object_id=2&app_label=Ú2r    r   r   z/%s?object_id=1&app_label=false&model_name=falsez.%s?object_id=&app_label=false&model_name=false)ÚclientÚloginÚgetr   r8   Ústatus_codeÚassertJSONEqualÚcontentÚdecoder
   r   )r0   ÚresponseÚquery_paramsr]   s       r2   Útest_related_lookupz RelatedTests.test_related_lookup5   s…  € ð 	�‰×Ñ 9°yÐÔAØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3à�‰×Ñ >¸NÐÔKØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐY[Ñ@\Ð?]Ô^ð —;‘;—?‘?ÔRYÐZnÕRoÒq|ñ  Ið  $Jó  KˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{Ð?|Ô}ð —;‘;—?‘?Ô^eÐfzÕ^{ò  ~Iñ  KUð  $Vó  WˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{Ð?|Ô}ð —;‘;—?‘?Ôlsð  uIõ  mJò  LWñ  Ycð  $dó  eˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È/Ðdwð  BGñ  AHð  @Iô  	Jð —;‘;—?‘?ÔV]Ð^rÕVsò  vAñ  CMð  $Nó  OˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È'Ð\_ÐinÑ@oÐ?pÔqð —;‘;—?‘?ÔbiÐj~Õbò  BMñ  OYð  $Zó  [ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È%ÐZ]ÐglÑ@mÐ?nÔoð —;‘;—?‘?Ôjqð  sGõ  kHò  JUò  Wað  $bó  cˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐX[ÐejÑ@kÐ?lÔmð —;‘;—?‘?Ôlsð  uIõ  mJò  LWò  Ycð  $dó  eˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È%ÐZpÐzñ  AAð  @Bô  	Cð Ø$Ø$Ü%Ô&AÀ8ÈbÐRUÈYÐBWÓ&XÓYñ	
ˆô ! Ó.ˆØ—;‘;—?‘?¬gÐ6JÕ.KÉ\Ð#ZÓ[ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐX[ÐejÑ@kÐ?lÔmð Ø$Ø$Ü%Ô&AÀ8ÈbÐRUÈYÐBWÓ&XÓYñ	
ˆô ! Ó.ˆØ—;‘;—?‘?¬gÐ6JÕ.KÉ\Ð#ZÓ[ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È%ÐZpÐzñ  AAð  @Bô  	Cð —;‘;—?‘?ô  ~Eð  FZõ  ~[ò  ]hò  jtð  $uó  vˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐX[ÐejÑ@kÐ?lÔmð —;‘;—?‘?ô  @Gð  H\õ  @]ò  _jò  lvð  $wó  xˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È%ÐZpÐzñ  AAð  @Bô  	Cð —;‘;—?‘?ÔRYÐZnÕRoÒq|ñ  Fð  $Gó  HˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXiÐsxÑ@yÐ?zÔ{Ø—;‘;—?‘?ÔRYÐZnÕRoÒq|ñ  Fð  $Gó  HˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXfÐpuÑ@vÐ?wÔxð 	�‰×Ñ ;¸ÐÔEØ—;‘;—?‘?ÔRYÐZnÕRoÒq|ñ  Fð  $Gó  HˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXiÐsxÑ@yÐ?zÔ{ð —;‘;—?‘?Ð#TÔX_Ð`tÓXuÑ#vÓwˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐY[Ñ@\Ð?]Ô^Ø—;‘;—?‘?Ð#SÔW^Ð_sÓWtÑ#uÓvˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐY[Ñ@\Ð?]Õ^r4   c           	      óÖ	  — | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       | j                   j                  t        d«      ›dd›dd›d�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       | j                   j                  t        d«      ›dd›dd›d �«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       | j                   j                  t        d«      ›dd›dd›d!�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       | j                   j                  t        d«      ›dd›dd›d"�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      ddddœddddœddddœg«       y
)#z!
        Test M2M lookup
        r   r   r=   r@   rA   r   r   rB   rC   NrD   rE   Úgrp_m2m_lookuprH   rI   rJ   rK   rL   rM   FrN   rP   rQ   rR   z?object_id=1,2,3&app_label=r`   zCategory No 1 (2)Ú3zCategory No 2 (3)z?object_id=1,10000,3&app_label=rT   z&query_string=id__lte=3r^   z0&query_string=name__icontains=Category:id__lte=3©	ra   rb   rc   r   r8   rd   re   rf   rg   ©r0   rh   s     r2   Útest_m2m_lookupzRelatedTests.test_m2m_lookup    sî  € ð 	�‰×Ñ 9°yÐÔAØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3à�‰×Ñ >¸NÐÔKØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐY[Ñ@\Ð?]Ô^ð —;‘;—?‘?ÔRYÐZjÕRkÒmxñ  {Eð  $Fó  GˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{Ð?|Ô}ð —;‘;—?‘?ÔV]Ð^nÕVoÒq|ñ  Ið  $Jó  KˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È'Ð\_ÐinÑ@oÐ?pÔqð —;‘;—?‘?ÔV]Ð^nÕVoÒq|ñ  Ið  $Jó  KˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{ð  HKð  Við  sxñ  ~yð  EHð  Sfð  puñ  {vð  @wô  	xð —;‘;—?‘?ÔZaÐbrÕZsò  vAñ  CMð  $Nó  OˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{ð  HOð  Z]ð  glñ  ~mð  y|ð  GZð  diñ  ojð  @kô  	lð —;‘;—?‘?Ônuð  wGõ  oHò  JUò  Wað  $bó  cˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐX[ÐejÑ@kÐwzð  FIð  SXñ  nYð  ehð  svð  @Eñ  [Fð  @Gô  	Hð —;‘;—?‘?Ômtð  vFõ  nGò  ITò  V`ð  $aó  bˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{ð  HKð  Við  sxñ  ~yð  EHð  Sfð  puñ  {vð  @wô  	xð —;‘;—?‘?ô  BIð  JZõ  B[ò  ]hò  jtð  $uó  vˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐX[ÐejÑ@kÐwzð  FIð  SXñ  nYð  ehð  svð  @Eñ  [Fð  @Gô  	Hð —;‘;—?‘?ô  GNð  O_õ  G`ò  bmò  oyð  $zó  {ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXkÐuzÑ@{ð  HKð  Við  sxñ  ~yð  EHð  Sfð  puñ  {vð  @wõ  	xr4   c                 ó¢  — | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                   j                  dd¬«       | j                   j                  t        d«      «      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      d
ddœg«       | j                   j                  t        d«      ›dd›dd›�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dddœdddœg«       | j                   j                  t        d«      ›dd›dd›d�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dddœdddœg«       | j                   j                  t        d«      ›dd›dd›d�«      }| j	                  |j
                  d«       | j                  |j                  j                  d	«      dddœg«       y
)z*
        Test autocomplete lookup
        r   r   r=   r@   rA   r   r   rB   rC   NrD   rE   Úgrp_autocomplete_lookupz?term=XXXXXXXXXX&app_label=rI   rJ   rK   z	0 resultsz?term=Category No 99&app_label=rY   zCategory No 98 (99)r   rV   z?term=Category&app_label=rT   r^   rn   ro   s     r2   Útest_autocomplete_lookupz%RelatedTests.test_autocomplete_lookupÕ   sÄ  € ð 	�‰×Ñ 9°yÐÔAØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3à�‰×Ñ >¸NÐÔKØ—;‘;—?‘?¤7Ð+?Ó#@ÓAˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐY[Ñ@\Ð?]Ô^ð —;‘;—?‘?ÔV]Ð^wÕVxò  {Fñ  HRð  $Só  TˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È$ÐYdÑ@eÐ?fÔgð —;‘;—?‘?ÔZaÐb{ÕZ|ò  Jñ  LVð  $Wó  XˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È"ÐWlÑ@mÐy|ð  H^ñ  p_ð  @`ô  	að —;‘;—?‘?Ôlsð  uNõ  mOò  Q\ò  ^hð  $ió  jˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È"ÐWlÑ@mÐy|ð  H^ñ  p_ð  @`ô  	að —;‘;—?‘?ô  @Gð  Haõ  @bò  doò  q{ð  $|ó  }ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñ˜X×-Ñ-×4Ñ4°WÓ=È#ÐXnÑ@oÐ?pÕqr4   N)Ú__name__Ú
__module__Ú__qualname__r3   r;   rj   rp   rs   © r4   r2   r   r      s!   „ ò
#ò49òi_òV3xójrr4   r   N)Údjango.contrib.admin.widgetsr   Údjango.contrib.auth.modelsr   Údjango.testr   Údjango.test.utilsr   Údjango.urlsr   Údjango.utilsr   r	   Údjango.utils.httpr
   Úgrappelli.tests.modelsr   r   r   rw   r4   r2   ú<module>r€      sa   ðõ EÝ +Ý  Ý /Ý ß .Ý 'ç 2ñ °Ô3Ù¸Ô;ÙÐ 6Ô7ôcr�8ó cró 8ó <ó 4ñcrr4   