
    T(i+                     2    d dl mZ d dlmZ  G d de      Zy)    )signals)	AppConfigc                   .     e Zd ZdZdZ fdZddZ xZS )ConstanceConfig	constance	Constancec                     t         t        |           t        j                  j                  | j                  d       y )Nzconstance.create_perm)dispatch_uid)superr   readyr   post_migrateconnectcreate_perm)self	__class__s    /opt/sopds/constance/apps.pyr   zConstanceConfig.ready	   s5    ot*,$$T%5%52I 	% 	K    c                 ~   ddl m} ddlm} ddlm} t        |dd      }|||vry|j                  j                         r}|j                  j                         rb|j                  j                  |      j                  dd	      \  }}	|j                  j                  |      j                  |d
ddi      \  }
}	yyy)zh
        Creates a fake content type and permission
        to be able to check for permissions
        r   )settings)
Permission)ContentTypeCONSTANCE_DBSNr   config)	app_labelmodelchange_confignamezCan change config)content_typecodenamedefaults)django.confr   django.contrib.auth.modelsr   "django.contrib.contenttypes.modelsr   getattr_meta
get_fieldsobjectsusingget_or_create)r   r(   argskwargsr   r   r   constance_dbsr   created
permissions              r   r   zConstanceConfig.create_perm   s    
 	)9B/4@$m)C'')j.>.>.I.I.K$/$7$7$=$=e$D$R$R% %S %!L'
 #-"4"4":":5"A"O"O)( "56 #P #8J /L)r   )N)__name__
__module____qualname__r   verbose_namer   r   __classcell__)r   s   @r   r   r      s    DLK
8r   r   N)django.db.modelsr   django.appsr   r    r   r   <module>r7      s    $ !8i 8r   