
    xf	                         d dl mZ d dlmZ d dlmZ d dlmZ  G d dej                        Z G d dej                        Z	 G d	 d
ej                        Z
y)    )models)
CustomUser)timezone)file_upload_pathc                   :   e Zd ZdZ ej
                  d      Z ej                         Z ej                  dddd      Z
 ej                  dddd      Z ej                  dddd      Z ej                  dddd      Z ej                  ed	dd
      Zd Zy)VehicleTypezT
    Model to store vehicle types along with seating capacity and fare details.
    2   )
max_length      T)
max_digitsdecimal_placesnullblank   default.jpeg	upload_todefaultr   r   c                     | j                   S )N)vehicle_typeselfs    9C:\Users\user\Documents\project_loop\vehiclehub\models.py__str__zVehicleType.__str__   s           N)__name__
__module____qualname____doc__r   	CharFieldr   PositiveIntegerFieldseating_capacityDecimalField	base_fareper_km_chargeshared_percentfare_per_km_per_seat
ImageFieldr   vehicletype_modelr    r   r   r   r      s     $6##r2L2v224###qUYZI'F''1QTY]^M(V((AadZ^_N.6..!ATX`de)))4Dncgost!r   r   c                       e Zd ZdZ ej
                  eej                        Z ej                  d      Z
 ej                  dd      Z ej                  eddd	      Zd
 Zd Zd Zy)Vehiclez1
    Model to represent individual vehicles.
    )	on_deleteFr   
   T)r
   uniquer   r   c                 8    | j                    d| j                   S )Nz - )r   plate_numberr   s    r   r   zVehicle.__str__!   s!    ##$C(9(9':;;r   c                 v    d| _         | j                          t        j                  j	                  || d       y )NT)drivervehicleactive)statussaveVehicleAssignmentobjectscreate)r   r5   s     r   
set_activezVehicle.set_active$   s-    		!!((T(Rr   c                     d| _         | j                          t        j                  j	                  | d      j                  dt        j                                y )NFT)r6   r7   )r7   released_at)r8   r9   r:   r;   filterupdater   nowr   s    r   set_inactivezVehicle.set_inactive)   sF    		!!((d(CJJRWemeqeqesJtr   N)r   r   r   r    r   
ForeignKeyr   CASCADEr   BooleanFieldr8   r!   r3   r)   r   vehicle_picr   r=   rC   r+   r   r   r-   r-      ss     %6$$[FNNKL V  /F#6##r$?L#&##/?]aimoK<S
ur   r-   c                   (   e Zd Z ej                  eej                  d      Z ej                  eej                  d      Z	 ej                  d      Z ej                  d      Z ej                  dd      Z ej                  d      Zd	 Zy
)r:   assigned_vehicles)r.   related_nameassignmentsFr/   T)auto_now_add)r   r   c                 `    | j                   j                   d| j                  j                   S )Nz assigned to )r6   r3   r5   mobile_numberr   s    r   r   zVehicleAssignment.__str__8   s)    ,,++,M$++:S:S9TUUr   N)r   r   r   r   rD   r   rE   r5   r-   r6   rF   r7   DateTimeFieldassigned_atr?   on_rider   r+   r   r   r:   r:   0   s    VzV^^RefFf6>>P]^G V  /F&&&&D9K&&&&D=K!f!!%0GVr   r:   N)	django.dbr   accounts.modelsr   django.utilsr   r   Modelr   r-   r:   r+   r   r   <module>rV      sE     & ! ,!&,, ! ufll u0	V 	Vr   