
    >Tf                     p    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Z G d dej                  Zd	S )
    )cache)models)reverse)gettextgettext_lazy)RestrictedQuerySet)ConfigRevisionc                   6    e Zd ZdZ ej         ed          d          Z ej         ed          dd          Z	 ej
        dd ed          	          Z ej                    Z G d
 d          Zd Z fdZd Zd Zde_        ed             Z xZS )r	   z7
    An atomic revision of NetBox's configuration.
    createdT)verbose_nameauto_now_addcomment   )r   
max_lengthblankzconfiguration data)r   nullr   c                   @    e Zd ZdgZ ed          Z ed          ZdS )ConfigRevision.Metaz-createdzconfig revisionzconfig revisionsN)__name__
__module____qualname__ordering_r   verbose_name_plural     7/var/www/html/netbox-4.1.3/netbox/core/models/config.pyMetar   "   s8        <q*++a 233r   r   c                     | j         st          d          S | j        rt          d          S t          d                              | j                   S )NzDefault configurationzCurrent configurationzConfig revision #{id})id)pkr   	is_activeformatselfs    r   __str__zConfigRevision.__str__'   sV    w 	42333> 	42333.//66$'6BBBr   c                     | j         r|| j         v r| j         |         S t                                          |          S )N)datasuper__getattribute__)r%   item	__class__s     r   __getattr__zConfigRevision.__getattr__.   s=    9 	#**9T?"ww''---r   c                 \    | j         st          d          S t          d| j         g          S )Nzcore:configzcore:configrevision)args)r!   r   r$   s    r   get_absolute_urlzConfigRevision.get_absolute_url3   s2    w 	*=))),DG9====r   c                 r    t          j        d| j        d           t          j        d| j        d           dS )z/
        Cache the configuration data.
        configNconfig_version)r   setr(   r!   r$   s    r   activatezConfigRevision.activate8   s7     		(DIt,,,	"DGT22222r   c                 <    t          j        d          | j        k    S )Nr3   )r   getr!   r$   s    r   r"   zConfigRevision.is_active@   s    y)**dg55r   )r   r   r   __doc__r   DateTimeFieldr   r   	CharFieldr   	JSONFieldr(   r   
as_managerobjectsr   r&   r-   r0   r5   alters_datapropertyr"   __classcell__)r,   s   @r   r	   r	      sT         #f"Qy\\  G fQy\\  G
 6Q+,,  D , +--G4 4 4 4 4 4 4 4
C C C. . . . .
> > >
3 3 3  H6 6 X6 6 6 6 6r   r	   N)django.core.cacher   	django.dbr   django.urlsr   django.utils.translationr   r   r   utilities.querysetsr   __all__Modelr	   r   r   r   <module>rH      s    # # # # # #             ? ? ? ? ? ? ? ? 2 2 2 2 2 2
56 56 56 56 56V\ 56 56 56 56 56r   