o
    e                     @   s   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 d dlmZmZ e ZG dd	 d	eZG d
d dejZejee dS )    )admin)quote)
ChangeList)get_user_model)ValidationError)reverse)Token
TokenProxyc                   @   s   e Zd ZdZdd ZdS )TokenChangeListzMap to matching User idc                 C   s2   |j j}td| jj| jjf t|f| jjj	dS )Nzadmin:%s_%s_change)argscurrent_app)
userpkr   opts	app_label
model_namer   model_admin
admin_sitename)selfresultr    r   Q/var/www/html/venv/lib/python3.10/site-packages/rest_framework/authtoken/admin.pyurl_for_result   s   
zTokenChangeList.url_for_resultN)__name__
__module____qualname____doc__r   r   r   r   r   r
      s    r
   c                       s>   e Zd ZdZdZdZdZdd ZdddZ fd	d
Z	  Z
S )
TokenAdmin)keyr   createdr   )z-createdNc                 K   s   t S N)r
   )r   requestkwargsr   r   r   get_changelist   s   zTokenAdmin.get_changelistc                 C   sf   |  |}tjj}z||}tjjdi |j|i}|j|dW S  |jj	tj	t
tfy2   Y dS w )z5
        Map from User ID to matching Token.
        r!   Nr   )get_querysetUser_metar   	to_pythonobjectsgetr   modelDoesNotExistr   
ValueError)r   r#   	object_id
from_fieldquerysetfieldr   r   r   r   
get_object    s   

zTokenAdmin.get_objectc                    s   t jj|jd}t ||S )N)r   )r   r*   r+   r   superdelete_model)r   r#   objtoken	__class__r   r   r5   -   s   zTokenAdmin.delete_modelr"   )r   r   r   list_displayfieldsorderingactionsr%   r3   r5   __classcell__r   r   r8   r   r      s    
r   N)django.contribr   django.contrib.admin.utilsr   django.contrib.admin.views.mainr   django.contrib.authr   django.core.exceptionsr   django.urlsr   rest_framework.authtoken.modelsr   r	   r'   r
   
ModelAdminr   siteregisterr   r   r   r   <module>   s    
