o
    /yfb	                     @   sj   d dl mZ d dlmZ d dlmZ d dlmZ G dd dejZG dd dejZ	G d	d
 d
ejZ
dS )    )models)
CustomUser)timezone)file_upload_pathc                   @   s   e Zd ZdZejddZe Zej	dddddZ
ej	dddddZej	dddddZej	dddddZejed	ddd
Zdd ZdS )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                 C   s   | j S )N)vehicle_typeself r   '/var/www/html/loop/vehiclehub/models.py__str__   s   zVehicleType.__str__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   r      s    r   c                   @   sd   e Zd ZdZejeejdZej	ddZ
ejdddZejedddd	Zd
d Zdd Zdd ZdS )Vehiclez1
    Model to represent individual vehicles.
    )	on_deleteFr   
   T)r   uniquer   r   c                 C   s   | j  d| j S )Nz - )r   plate_numberr   r   r   r   r   !   s   zVehicle.__str__c                 C   s$   d| _ |   tjj|| dd d S )NT)drivervehicleactive)statussaveVehicleAssignmentobjectscreate)r   r.   r   r   r   
set_active$   s   zVehicle.set_activec                 C   s0   d| _ |   tjj| ddjdt d d S )NFT)r/   r0   )r0   released_at)r1   r2   r3   r4   filterupdater   nowr   r   r   r   set_inactive)   s   "zVehicle.set_inactiveN)r   r   r   r   r   
ForeignKeyr   CASCADEr   BooleanFieldr1   r   r-   r&   r   vehicle_picr   r6   r;   r   r   r   r   r(      s    r(   c                   @   sj   e Zd ZejeejddZejeejddZ	ej
ddZejddZejdddZej
ddZd	d
 ZdS )r3   assigned_vehicles)r)   related_nameassignmentsFr*   T)auto_now_add)r   r   c                 C   s   | j j d| jj S )Nz assigned to )r/   r-   r.   mobile_numberr   r   r   r   r   8   s   zVehicleAssignment.__str__N)r   r   r   r   r<   r   r=   r.   r(   r/   r>   r0   DateTimeFieldassigned_atr7   on_rider   r   r   r   r   r3   0   s    r3   N)	django.dbr   accounts.modelsr   django.utilsr   r   Modelr   r(   r3   r   r   r   r   <module>   s    