
    h                     j    S SK J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Jr   " S S\5      rg	)
    )
exceptions)call_command)BaseCommandCommandError)IntegrityError)	force_str)get_tenant_modelget_tenant_domain_modelc                     ^ \ rS rSrSr\" 5       R                  R                   V Vs/ s H+  nUR                  (       d  M  UR                  (       a  M)  UPM-     snn r
\" 5       R                  R                   V Vs/ s H+  nUR                  (       d  M  UR                  (       a  M)  UPM-     snn rU4S jrS rS rS rS rSrU=r$ s  snn f s  snn f )	Command	   zCreate a tenantc                 &   > [         TU ]  " U0 UD6  g )N)super__init__)selfargskwargs	__class__s      b/var/www/html/env/lib/python3.13/site-packages/django_tenants/management/commands/create_tenant.pyr   Command.__init__   s    $)&)    c                 @   U R                    H-  nUR                  SUR                  -  SUR                  -  S9  M/     U R                   H-  nUR                  SUR                  -  SUR                  -  S9  M/     UR                  SSSS	S
S9  UR                  SSSS9  g )Nz--%szSpecifies the %s for tenant.)helpz--domain-%sz)Specifies the %s for the tenant's domain.z	--noinputz
--no-inputstore_falseinteractivezTells Django to NOT prompt the user for input of any kind. You must use --schema_names with --noinput, along with an option for any other required field.)actiondestr   z-s
store_truezCreate a superuser afterwards.)r   r   )tenant_fieldsadd_argumentattnamedomain_fields)r   parserfields      r   add_argumentsCommand.add_arguments   s    ''E 6%Cemm%S   U ( ''E =%PSXS`S`%`   b ( 	m-, 	 	
 	D!A 	 	Cr   c                 x   0 nU R                    HB  nUR                  UR                  S 5      nUc  M$  UR                  US 5      X4R                  '   MD     0 nU R                   HE  nUR                  SUR                  -  S 5      nUc  M'  UR                  US 5      XdR                  '   MG     US   (       a   U R                    H  nUR                  UR                  S5      S:X  d  M%  UR
                  nUR                  5       nU(       a
  U< SU< S3n[        [        SU-  5      5      =(       d    UnXSUR                  '   M     U R                  " S0 UD6n	U	b  O$0 nM  U R                  " S0 UD6n	U	c  [        S5      eUS   (       a   U	R                  US	'   U R                   H  nUR                  UR                  S5      S:X  d  M%  UR
                  nUR                  5       nU(       a
  U< SU< S3n[        [        SU-  5      5      =(       d    UnXVUR                  '   M     U R                  " S0 UD6n
U
b  O30 nM  U	R                  US	'   U R                  " S0 UD6n
U
c  [        S
5      eUR                  SS 5      (       a0  U R                  R                  SUS   -  5        [        SUS   SS9  g g )Nz	domain_%sr   T z (leave blank to use 'z')z%s: zMissing required fields	tenant_idzMissing required domain fieldsszCreate superuser for %sschema_namecreate_tenant_superuser)r+   r    )r   getr!   cleanr"   verbose_nameget_defaultinputr   store_tenantr   pkstore_tenant_domainstdoutwriter   )r   r   optionstenant_datar$   input_valuedomain_data	input_msgdefaulttenantdomains              r   handleCommand.handle,   s   ''E!++emmT:K&-2[[d-KMM* (
 ''E!++kEMM&A4HK&-2[[d-KMM* (
 =!!//E"u}}b9R?$)$6$6	"'"3"3"5"JSU\(]I&+Ify6H,I&J&Ug5@EMM2 0 **9[9%   &&55F~"#<===!+199K(!//E"u}}b9R?$)$6$6	"'"3"3"5"JSU\(]I&+Ify6H,I&J&Ug5@EMM2 0 11@K@%    ,299K(11@K@>&'GHH;;sD!!KK7+m:TTU2M@Zhlm "r   c                     [        5       R                  R                  " S0 UD6nU$ ! [        R                   aA  nU R
                  R                  SSR                  UR                  5      -  5         S nAg S nAf[         a     g f = fNz	Error: %sz; r-   )
r	   objectscreater   ValidationErrorstderrr7   joinmessagesr   )r   fieldsr>   es       r   r3   Command.store_tenanth   sp    	%'//66@@FM)) 	KKkDIIajj,AAB 		s   %( B7A88BBc                 6    [        5       R                  R                  " S0 UD6nUR                  5         U$ ! [        R
                   aA  nU R                  R                  SSR                  UR                  5      -  5         S nAg S nAf[         a     g f = frC   )r
   rD   rE   saver   rF   rG   r7   rH   rI   r   )r   rJ   r?   rK   s       r   r5   Command.store_tenant_domainr   sy    	,.66==GGFKKMM)) 	KKkDIIajj,AAB 		s   58 B7BBBr-   )__name__
__module____qualname____firstlineno__r   r	   _metarJ   editableprimary_keyr   r
   r"   r   r%   r@   r3   r5   __static_attributes____classcell__).0r$   r   s   00@r   r   r   	   s    D )9(:(@(@(G(G B(Gu /4/@/@ (G BM )@(A(G(G(N(N B(Nu /4/@/@ (N BM*C*:nx	 	IBBs#   C
C
C
<CC(Cr   N)django.corer   django.core.managementr   django.core.management.baser   r   django.db.utilsr   django.utils.encodingr   django_tenants.utilsr	   r
   r   r-   r   r   <module>r`      s%    " / A * + Jrk rr   