
    (ph*                     n   S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJrJr  SSKJrJrJrJrJr  SS	KJr  S
 r\" S5      \l         " S S\R4                  5      r " S S\R4                  5      r " S S\R4                  5      r " S S\R4                  5      r\R>                  RA                  \\5        \R>                  RA                  \\5        \R>                  RA                  \\5        \RB                  (       d  \RD                  (       a  \R>                  RA                  \\5        gg)zAdmin module for Django.    )admin)OuterRefSubquery)reverse)format_html)gettext_lazy)Confcroniter)FailureOrmQScheduleSuccessTask)
async_taskc                 &   U H  n[        UR                  /UR                  =(       d    SQ7UR                  UR                  UR
                  S.UR                  =(       d    0 D6  [        U [        5      (       d  M{  UR                  5         M     g)z(Submit selected tasks back to the queue. )hookgroupclusterN)
r   funcargsr   r   r   kwargs
isinstance	FailAdmindelete)model_adminrequestquerysettasks       A/var/www/html/venv/lib/python3.13/site-packages/django_q/admin.pyresubmit_taskr!      sr    II	
YY_"	
 **LL	
 kkR	
 k9--KKM     z Resubmit selected tasks to queuec                   R   ^  \ rS rSrSrSr\/rS rU 4S jr	Sr
/ rSrS
S jrS	rU =r$ )	TaskAdmin    zmodel admin for success tasks.)namer   r   r   startedstopped
time_takenc                     gzDon't allow adds.Fr   selfr   s     r    has_add_permissionTaskAdmin.has_add_permission.       r"   c                 H   > [         [        U ]  U5      nUR                  SS9$ )zOnly show successes.T)success)superr$   get_querysetfilter)r-   r   qs	__class__s      r    r4   TaskAdmin.get_queryset2   s%    9d09yyy&&r"   r&   r   r   r   r   c                     [        U R                  5      UR                  R                   Vs/ s H  o3R                  PM     sn-   $ s  snf zSet all fields readonly.listreadonly_fields_metafieldsr&   r-   r   objfields       r    get_readonly_fieldsTaskAdmin.get_readonly_fields;   8    D(()SYYEUEU,VEUEZZEU,VVV,V   Ar   N)__name__
__module____qualname____firstlineno____doc__list_displayr!   actionsr.   r4   search_fieldsr?   list_filterrE   __static_attributes____classcell__r7   s   @r    r$   r$       s=    (L oG'
 .MO&KW Wr"   r$   c                   >    \ rS rSrSrSrS r\/rSr	Sr
/ rS
S jrS	rg)r   @   zmodel admin for failed tasks.)r&   r   r   r   r'   r(   short_resultc                     gr+   r   r,   s     r    r.   FailAdmin.has_add_permissionM   r0   r"   r9   r:   Nc                     [        U R                  5      UR                  R                   Vs/ s H  o3R                  PM     sn-   $ s  snf r<   r=   rB   s       r    rE   FailAdmin.get_readonly_fieldsV   rG   rH   r   rI   )rJ   rK   rL   rM   rN   rO   r.   r!   rP   rQ   rR   r?   rE   rS   r   r"   r    r   r   @   s/    'L oG-M&KOWr"   r   c                      ^  \ rS rSrSrSr\(       d  SrSrSr	Sr
U 4S jrS	 rS
\l        \" S5      \l        S rS
\l        \" S5      \l        SrU =r$ )ScheduleAdmin[   zmodel admin for schedules)	idr&   r   schedule_typerepeatsr   next_runget_last_runget_success)cron)rc   ra   r   )r&   r   )r`   r&   c           	      F  > [         TU ]  U5      n[        R                  R	                  [        S5      S9R                  SSS5      nUR                  [        UR                  S5      5      [        UR                  S5      5      [        UR                  S5      5      S9nU$ )Nr   )r`   r`   r&   r2   )task_id	task_nametask_success)	r3   r4   r   objectsr5   r   valuesannotater   )r-   r   r6   
task_queryr7   s       r    r4   ScheduleAdmin.get_querysetu   s    W!'*\\((HV,<(=DD&)

 [[Z..t45z0089!*"3"3I">?  

 	r"   c                     UR                   $ rI   )rj   )r-   rC   s     r    re   ScheduleAdmin.get_success   s    r"   Tr2   c                     UR                   bR  UR                  (       a  [        SUR                  4S9nO[        SUR                  4S9n[	        SX!R                   5      $ g )Nzadmin:django_q_success_change)r   zadmin:django_q_failure_changez<a href="{}">[{}]</a>)ri   rj   r   rh   r   )r-   rC   urls      r    rd   ScheduleAdmin.get_last_run   sP    ==$=S[[NS=S[[NS6]]KKr"   last_runr   )rJ   rK   rL   rM   rN   rO   r
   r?   rR   rQ   list_display_linksr4   re   boolean_short_descriptionrd   
allow_tagsrS   rT   rU   s   @r    r^   r^   [   si    #
L #:KM (
  K$%iLK! #L%&z]L""r"   r^   c                   T   ^  \ rS rSrSrSrSr\SS rS rS r	U 4S	 jr
S
 rSrSrU =r$ )
QueueAdmin   zqueue admin for ORM broker)r`   keyr&   r   r   lockrh   )	r~   r   rh   r&   r   r   r   r   	q_options   Nc                 >    UR                  [        R                  S9  g N)using)saver	   ORM)r-   r   rC   formchanges        r    
save_modelQueueAdmin.save_model   s    txx r"   c                 >    UR                  [        R                  S9  g r   )r   r	   r   )r-   r   rC   s      r    delete_modelQueueAdmin.delete_model   s    


"r"   c                 d   > [         [        U ]  U5      R                  [        R
                  5      $ rI   )r3   r|   r4   r   r	   r   )r-   r   r7   s     r    r4   QueueAdmin.get_queryset   s$    Z3G<BB488LLr"   c                     gr+   r   r,   s     r    r.   QueueAdmin.has_add_permission   r0   r"   )r~   r   )rJ   rK   rL   rM   rN   rO   rA   r?   r   r   r4   r.   rR   rS   rT   rU   s   @r    r|   r|      s;    $LL
F QRjO!#M Kr"   r|   N)#rN   django.contribr   django.db.models.expressionsr   r   django.urlsr   django.utils.htmlr   django.utils.translationr   rx   django_q.confr	   r
   django_q.modelsr   r   r   r   r   django_q.tasksr   r!   ry   
ModelAdminr$   r   r^   r|   siteregisterr   TESTINGr   r"   r    <module>r      s       ;  ) 6 ( B B % #$$F"G W   W@W   W663E$$ 63r!! B 

  Hm , 

  GY ' 

  GY '88t||	JJj) r"   