Ë
    ¶|@jê  ã                   óÐ  — d 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mZmZ  e«       ZdZd	Zd
Zd	Zdd ed«      dddej*                  j,                  fdej*                  j,                  fdej*                  j.                  fgdœdd ed«      dddej*                  j.                  fdej*                  j.                  fgdœdd ed«      dddej*                  j0                  fdej*                  j.                  fgdœdd ed«      dddej*                  j,                  fdej*                  j,                  fdej*                  j.                  fgdœgZ G d„ d e«      Zy!)"zZ
Seed database with default admin user and dummy fleet data.
Usage: python manage.py seed
é    )ÚDecimal)Úget_user_model)ÚContentFile)ÚBaseCommand)Útimezone)ÚTransporterProfileÚUserRoleÚVehicleÚVehicleDocumentzadmin@gmail.comÚpasswordzfleet@example.comzDUMMY-KHI-001ÚFlatbedz12000.00TÚREGISTRATIONÚ	INSURANCEÚFITNESS)Úregistration_numberÚvehicle_typeÚload_capacityÚ	is_activeÚis_verifiedÚ	documentszDUMMY-LHR-002z	Box truckz8000.00FzDUMMY-ISB-003ÚRefrigeratedz6000.00ÚPERMITzDUMMY-MUL-004ÚTipperz15000.00ÚOTHERc                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚCommandz@Create default admin user and dummy vehicles / vehicle documentsc           	      óˆ  — | j                  «       }| j                  «       }| j                  ||«      \  }}| j                  j	                  | j
                  j                  d|› d|› d�«      «       | j                  j	                  dt        › dt        › �«       | j                  j	                  dt        › dt        › �«       y )NzSeed complete: z vehicle(s), z document(s).zAdmin login: z / zFleet owner: )Ú_ensure_adminÚ_ensure_fleet_ownerÚ_seed_vehiclesÚstdoutÚwriteÚstyleÚSUCCESSÚADMIN_EMAILÚADMIN_PASSWORDÚFLEET_OWNER_EMAILÚFLEET_OWNER_PASSWORD)ÚselfÚargsÚoptionsÚadminÚfleet_ownerÚvehicle_countÚdocument_counts          ú;/var/www/html/truck-me/accounts/management/commands/seed.pyÚhandlezCommand.handleJ   s«   € Ø×"Ñ"Ó$ˆØ×.Ñ.Ó0ˆØ(,×(;Ñ(;¸KÈÓ(OÑ%ˆ�~à�‰×Ñ˜$Ÿ*™*×,Ñ,¨¸}¸oÈ]Ð[iÐZjÐjwÐ-xÓyÔzØ�‰×Ñ˜M¬+¨°c¼.Ð9IÐJÔKØ�‰×Ñ˜MÔ*;Ð)<¸CÔ@TÐ?UÐVÕWó    c                 ó0  — t         j                  «       j                  «       }t        j                  j                  |¬«      j                  «       �r*t        j                  j                  |¬«      }|j                  t        «       d|_
        d|_        d|_        |j                  «        t        j                  j                  |dt        j                   j"                  i¬«      \  }}|sV|j$                  t        j                   j"                  k7  r/t        j                   j"                  |_        |j                  «        | j&                  j)                  | j*                  j-                  d|› d�«      «       |S t        j                  j/                  ||t        ddd¬«      }t        j                  j1                  |t        j                   j"                  d¬	«       | j&                  j)                  | j*                  j-                  d
|› �«      «       |S )N©ÚusernameTÚrole©ÚuserÚdefaultszUpdated existing user z
 as Admin.)r5   Úemailr   Úis_staffÚis_superuserr   z+920000000001)r8   r6   ÚphonezCreated admin user: )r%   ÚstripÚlowerÚUserÚobjectsÚfilterÚexistsÚgetÚset_passwordr&   r;   r<   r   Úsaver	   Úget_or_createÚRoleÚADMINr6   r!   r"   r#   r$   Úcreate_userÚcreate)r)   r:   r8   r6   Úcreateds        r0   r   zCommand._ensure_adminS   s�  € Ü×!Ñ!Ó#×)Ñ)Ó+ˆÜ�<‰<×Ñ¨ÐÓ.×5Ñ5Õ7Ü—<‘<×#Ñ#¨UÐ#Ó3ˆDØ×ÑœnÔ-Ø ˆDŒMØ $ˆDÔØ!ˆDŒNØ�I‰IŒKÜ$×,Ñ,×:Ñ:ÀÐPVÔX`×XeÑXe×XkÑXkÐOlÐ:Óm‰MˆD�'Ù˜tŸy™y¬H¯M©M×,?Ñ,?Ò?Ü$ŸM™M×/Ñ/�”	Ø—	‘	”Ø�K‰K×Ñ˜dŸj™j×0Ñ0Ð3IÈ%ÈÐPZÐ1[Ó\Ô]ØˆKä�|‰|×'Ñ'ØØÜ#ØØØð (ó 
ˆô 	×Ñ×Ñ T´·±×0CÑ0CÈ?ÐÔ[Ø�‰×Ñ˜$Ÿ*™*×,Ñ,Ð/CÀEÀ7Ð-KÓLÔMØˆr2   c                 ó0  — t         j                  «       j                  «       }t        j                  j                  |¬«      j                  «       rkt        j                  j                  |¬«      }|j                  t        «       d|_
        |j                  «        | j                  j                  d|› �«       n`t        j                  j                  ||t        ddd¬«      }| j                  j                  | j                  j!                  d|› �«      «       t"        j                  j%                  |t"        j&                  j(                  dd	d
œ¬«       t*        j                  j%                  |t*        j,                  j.                  dddœ¬«       |S )Nr4   TzUsing existing fleet owner: ÚFastÚFleet)r5   r:   r   Ú
first_nameÚ	last_namer   zCreated fleet owner: z+923001234567Úen)r6   r=   Úlanguager7   zFast Fleet Logistics)Úaccount_typeÚcompany_nameÚdocuments_verified)r'   r>   r?   r@   rA   rB   rC   rD   rE   r(   r   rF   r!   r"   rJ   r#   r$   r	   Úupdate_or_createrH   ÚTRANSPORTERr   ÚAccountTypeÚFLEET_OWNER)r)   r:   r8   s      r0   r   zCommand._ensure_fleet_ownero   sM  € Ü!×'Ñ'Ó)×/Ñ/Ó1ˆÜ�<‰<×Ñ¨ÐÓ.×5Ñ5Ô7Ü—<‘<×#Ñ#¨UÐ#Ó3ˆDØ×ÑÔ2Ô3Ø!ˆDŒNØ�I‰IŒKØ�K‰K×ÑÐ <¸U¸GÐDÕEä—<‘<×+Ñ+ØØÜ-Ø!Ø!Øð ,ó ˆDð �K‰K×Ñ˜dŸj™j×0Ñ0Ð3HÈÈÐ1PÓQÔRä×Ñ×)Ñ)ØÜ&Ÿm™m×7Ñ7À/Ð_cÑdð 	*ô 	
ô 	×"Ñ"×3Ñ3Øä 2× >Ñ >× JÑ JØ 6Ø&*ñð 	4ô 	
ð ˆr2   c                 ó  — d}d}t        j                  «       }t        D �]Ý  }t        j                  j                  ||d   |d   |d   t        d«      t        d«      t        d«      d|d	   |d
   |d
   r|nd |d
   r|nd dœ
¬«      \  }}|r.|dz  }| j                  j                  d|j                  › �«       n(| j                  j                  d|j                  › �«       |d   D �]  \  }	}
|d   j                  «       › d|	j                  «       › d�}t        j                  j                  ||	|
|
t        j                  j                  k7  rdnd|
t        j                  j                  k7  r|nd |
t        j                  j                  k7  r|nd dœ¬«      \  }}|j                  s'|j                  j                  |t!        d«      d¬«       |sŒë|dz  }| j                  j                  d|	› d|
› d�«       �Œ �Œà ||fS )Nr   r   r   r   z12.000z2.500z3.000zDummy seed datar   r   )
r   r   Úmax_length_mÚmax_width_mÚmax_height_mÚspecial_featuresr   r   Úverified_atÚverified_by)Úownerr   r9   é   z  Created vehicle z  Vehicle already exists: r   ú-z.pdfzDummy seed document.Ú )Úreview_statusÚreview_notesÚreviewed_atÚreviewed_by)ÚvehicleÚdocument_typer9   s8   %PDF-1.4
%Dummy vehicle document for local development.
T)rF   z    Created document z (ú))r   ÚnowÚDUMMY_VEHICLESr
   rA   rG   r   r!   r"   r   r?   r   ÚReviewStatusÚPENDINGÚfilerF   r   )r)   rb   r,   r.   r/   rm   Úspecrj   rL   Údoc_typerf   ÚfilenameÚdocumentÚdoc_createds                 r0   r    zCommand._seed_vehicles�   s,  € ØˆØˆÜ�l‰l‹nˆä"ó +	\ˆDÜ&Ÿ™×<Ñ<ØØ$(Ð)>Ñ$?à$(¨Ñ$8Ø%)¨/Ñ%:Ü$+¨HÓ$5Ü#*¨7Ó#3Ü$+¨GÓ$4Ø(9Ø!% kÑ!2Ø#'¨Ñ#6Ø*.¨}Ò*=¡3À4Ø,0°Ò,?¡5ÀTñð  =ó  ÑˆG�Wñ  Ø Ñ"�Ø—‘×!Ñ!Ð$6°w×7RÑ7RÐ6SÐ"TÕUà—‘×!Ñ!Ð$>¸w×?ZÑ?ZÐ>[Ð"\Ô]à+/°Ñ+<ó \Ñ'�˜-Ø"Ð#8Ñ9×?Ñ?ÓAÐBÀ!ÀHÇNÁNÓDTÐCUÐUYÐZ�Ü(7×(?Ñ(?×(MÑ(MØ#Ø"*à)6ØBOÔSb×SoÑSo×SwÑSwÒBwÑ(>Ð}Ø.;¼×?[Ñ?[×?cÑ?cÒ.c¡sÐimØ0=Ä×A]ÑA]×AeÑAeÒ0e¡uÐkoñ	ð )Nó 	)Ñ%�˜+ð  —}’}Ø—M‘M×&Ñ&Ø Ü#Ð$aÓbØ!ð 'ô ò
 Ø" aÑ'�NØ—K‘K×%Ñ%Ð(=¸h¸ZÀrÈ-ÈÐXYÐ&ZÖ[ò)\ð/+	\ðZ ˜nÐ,Ð,r2   N)Ú__name__Ú
__module__Ú__qualname__Úhelpr1   r   r   r    © r2   r0   r   r   G   s   „ ØM€DòXòò8óB2-r2   r   N)Ú__doc__Údecimalr   Údjango.contrib.authr   Údjango.core.files.baser   Údjango.core.management.baser   Údjango.utilsr   Úaccounts.modelsr   r	   r
   r   r@   r%   r&   r'   r(   ro   ÚAPPROVEDrp   ÚREJECTEDrn   r   r{   r2   r0   ú<module>r…      sž  ðñõ å .Ý .Ý 3Ý !ç RÓ RáÓ€à€Ø€Ø'Ð Ø!Ð ð  /Ø!Ù  Ó,ØØà˜_×9Ñ9×BÑBÐCØ˜/×6Ñ6×?Ñ?Ð@Ø˜×4Ñ4×<Ñ<Ð=ð
ñð  /Ø#Ù  Ó+ØØà˜_×9Ñ9×AÑAÐBØ˜/×6Ñ6×>Ñ>Ð?ð
ñ
ð  /Ø&Ù  Ó+ØØà˜_×9Ñ9×BÑBÐCØ�×3Ñ3×;Ñ;Ð<ð
ñ
ð  /Ø Ù  Ó,ØØà˜_×9Ñ9×BÑBÐCØ˜/×6Ñ6×?Ñ?Ð@Ø�o×2Ñ2×:Ñ:Ð;ð
ñðG/€ôd{-ˆkõ {-r2   