3
`+                 @   s  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Zd dl	m
Z
 d dlmZ G dd	 d	ejZd ed
fdedffZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd  d ejZG d!d" d"ejZG d#d$ d$ejZG d%d& d&ejZG d'd( d(ejZG d)d* d*ejZd d+l m!Z! G d,d- d-ejZ"G d.d/ d/ejZ#d d0l m$Z$ d d1l%m&Z& G d2d3 d3ejZ'dS )4    )models)User)GenericForeignKey)ContentTypeN)apps)gettextc               @   s   e Zd ZdZejeejdddZej	ddddZ
ej	d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ddddZej	d	dddZejd
dZejd
dZejd
dZejd
dZdd ZdS )Adminz<
	This model is used to store the information of Customer.
	T)	on_deletenullblankd   )
max_lengthr
   r   )r   uniquer
   r   )r   r   r
      i,  F)defaultc             C   s
   t | jS )N)struser)self r   9/var/www/html/Stanley/GoodsDeliveryOLD/AdminApp/models.py__str__    s    zAdmin.__str__N)__name__
__module____qualname____doc__r   
ForeignKeyr   CASCADEr   	CharFieldnameemailZcountrycodephone	FileFieldimageZidproofZemailverificationlinkBooleanFieldZemailverifiedZaccountverifiedZaccountapproved	isdeletedr   r   r   r   r   r      s   r   ZPending   Z	Completedc               @   sJ   e Zd ZejeejdZej Z	ej
eddZejddZejddZdS )	AdminTask)r	   r   )choicesr   T)auto_now)auto_now_addN)r   r   r   r   r   r   r   admin	TextFielddescriptionIntegerFieldTASKSTATUS_CHOICESstatusDateTimeField
created_at
updated_atr   r   r   r   r&   (   s
   r&   c               @   s0   e Zd Zej Zej ZejddZdd Z	dS )	TimeSlotsF)r   c             C   s   t | jt | j S )N)r   openinghourclosinghour)r   r   r   r   r   4   s    zTimeSlots.__str__N)
r   r   r   r   	TimeFieldr4   r5   r#   activer   r   r   r   r   r3   /   s   r3   c               @   sB   e Zd ZejddddZejdddddZejddZ	dd	 Z
d
S )BackendControlr   T)r   r   r
   g        )r   r   r
   r   F)r   c             C   s   t | jt | j S )N)r   r   enable)r   r   r   r   r   <   s    zBackendControl.__str__N)r   r   r   r   r   r   
FloatFieldZpricer#   r9   r   r   r   r   r   r8   7   s   r8   c               @   sh   e Z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dddddZ	ejdddddZ
dd Zd	S )
OperationalArear   T)r   r   r
   g        )r   r   r
   r    c             C   s&   t | jd t | j d t | j S )Nz -  )r   r   distance_from_centre_pointdistanceunit)r   r   r   r   r   F   s    zOperationalArea.__str__N)r   r   r   r   r   r   latitude	longituder:   r>   r?   r   r   r   r   r   r;   ?   s   r;   c               @   sR   e Zd ZejeejdddZejdddZ	ejdddZ
ejdddZdd ZdS )PushersT)r	   r
   r      )r   r
   c             C   s
   t | jS )N)r   id)r   r   r   r   r   O   s    zPushers.__str__N)r   r   r   r   r   r   r   r   r   endpointZauth_keyZ
p256dh_keyr   r   r   r   r   rB   I   s
   rB   c               @   sH   e Zd ZdZejddddZejddddZejddddZdd Z	dS )Countryz=
	This model is used to store the information of countries.
	r   T)r   r
   r   c             C   s
   t | jS )N)r   r   )r   r   r   r   r   Z   s    zCountry.__str__N)
r   r   r   r   r   r   r   abbreviationcurrencyr   r   r   r   r   rF   R   s
   rF   c               @   s<   e Zd ZdZejeejdddZej	ddddZ
dd ZdS )	Cityz:
	This model is used to store the information of cities.
	T)r	   r
   r   r   )r   r
   r   c             C   s
   t | jS )N)r   r   )r   r   r   r   r   d   s    zCity.__str__N)r   r   r   r   r   r   rF   r   countryr   r   r   r   r   r   r   rI   ]   s   rI   c               @   s:  e Zd ZdZej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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	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ddddd	Zejddddd	Zejd
dZejdddZejdddZdd ZdS )VehicleTypezA
	This model is used to store the information of vehicle types.
	r   T)r   r
   r   r   r<   )r   r   r   r
   g        )r   r   r
   r   F)r   )r(   r
   )r)   r
   c             C   s
   t | jS )N)r   r   )r   r   r   r   r   ~   s    zVehicleType.__str__N)r   r   r   r   r   r   r   r!   r"   r:   ZcarryinglimitinkgZfixeddistancer?   ZbaserateZaddittionalrateperunitZpriceperdropZpriceperhourrH   ZheightOfVehicalZwidthOfVehicalZlengthOfVehicalZcarryingLimitOfVehicalr#   r$   r0   r1   r2   r   r   r   r   r   rK   h   s&   rK   c               @   s4   e Zd ZdZejddddZejddZdd Z	d	S )
SupportDetailz4
	This model is used to store the support details.
	r   T)r   r
   r   F)r   c             C   s
   t | jS )N)r   rD   )r   r   r   r   r      s    zSupportDetail.__str__N)
r   r   r   r   r   r   r    r#   r$   r   r   r   r   r   rL      s   rL   c               @   sP   e Zd ZdZejddddZejddZej	dddZ
ej	dddZd	d
 ZdS )
ParcelTypez@
	This model is used to store the information of parcel types.
	r   T)r   r
   r   F)r   )r(   r
   )r)   r
   c             C   s
   t | jS )N)r   
parceltype)r   r   r   r   r      s    zParcelType.__str__N)r   r   r   r   r   r   rN   r#   r$   r0   r1   r2   r   r   r   r   r   rM      s   rM   c               @   s4   e Zd ZejddddZejddddZdd ZdS )ThumbnailSize2   T)r   r
   r   c             C   s   t t | jd t | j S )N*)r   heightwidth)r   r   r   r   r      s    zThumbnailSize.__str__N)r   r   r   r   r   rR   rS   r   r   r   r   r   rO      s   rO   c               @   s   e Zd Z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ddddZ	ej
dddZej
dddZejddZdd	 Zd
S )OTPz>
	This model is used to store the information regarding OTP.
	r   T)r   r
   r   )r
   r   F)r   c             C   s
   t | jS )N)r   mobile)r   r   r   r   r      s    zOTP.__str__N)r   r   r   r   r   r   caserU   r   Zotpr0   ZstartdatetimeZexpiredatetimer#   verifiedr   r   r   r   r   rT      s   rT   c               @   s   e Zd ZejeejdddZejdddZ	ej
ddZej
ddZej
ddZej
ddZejddddZejdddZejdddd	ZejejjdZej
ddZejddd
ZejdddZdd ZdS )NotificationsT)r	   r
   r   )r
   r   F)r   r   )r   r   r
   Zunread)r   r   r
   )r(   r
   )r)   r
   c             C   s
   t | jS )N)r   rD   )r   r   r   r   r      s    zNotifications.__str__N)r   r   r   r   r   r   SET_NULLr   PositiveIntegerFieldcustomerjobidr#   ZforcustomerZ	fordriverZforadminothersr   Znotificationtyper+   Znotificationtextr/   r0   datetimenowdatedeletedr1   r2   r   r   r   r   r   rX      s   rX   c               @   s   e Zd ZejddddZejdddZejdddZejdddZ	ej
ddddZejddddZejddZejddd	Zejddd
Zdd ZdS )
UserRatingr   T)r   r   r
   )r   r
   g        )r   r   r
   F)r   )r(   r
   )r)   r
   c             C   s
   t | jS )N)r   rD   )r   r   r   r   r      s    zUserRating.__str__N)r   r   r   r   r   Z	ratingforrZ   r[   Z
customeridZdriveridr:   ZratingZnoter#   r`   r0   r1   r2   r   r   r   r   r   ra      s   ra   c               @   s   e Z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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ddddZejdddZejdddZejddd	Zd
d ZdS )DistanceTable   T)r   r   r
   r   g        )r   r   r
   )r   r
   )r(   r
   )r)   r
   c             C   s
   t | jS )N)r   rD   )r   r   r   r   r      s    zDistanceTable.__str__N)r   r   r   r   r   Zaddress1Zaddress2ZsenderlatitudeZsenderlongitudeZrecipientlatitudeZrecipientlongituder:   distancer?   rZ   timer0   r1   r2   r   r   r   r   r   rb      s   rb   )DriverModelc               @   s   e Zd ZejeejdZeje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ZejddZd	d
 ZdS )Chat)r	   r   T)r   r   r
   )r   r   r
   r   )r(   )r)   c             C   s(   t | jd t | jj d t | j S )Nz    -------Admin------     z-- driver  ---)r   messager*   r   driver)r   r   r   r   r      s    zChat.__str__N)r   r   r   r   r   rf   r   ri   r   r*   r+   rh   r!   filesr   senderZsenderemailr0   r1   r2   r   r   r   r   r   rg      s   rg   c               @   s0   e Zd ZejddddZejddZdd ZdS )	RadiusControlg        T)r   r   r
   F)r   c             C   s
   t | jS )N)r   rd   )r   r   r   r   r      s    zRadiusControl.__str__N)	r   r   r   r   r:   rd   r#   r9   r   r   r   r   r   rl      s   rl   )	DriverJob)CustomerJobc               @   sb   e Zd ZejeejdZejeejdddZ	ej
ddddZejdddZejddZd	d
 ZdS )RadiusPermission)r	   T)r	   r
   r   g        )r   r   r
   r   )r   r
   )r(   c             C   s
   t | jS )N)r   rd   )r   r   r   r   r     s    zRadiusPermission.__str__N)r   r   r   r   r   rm   r   Z	driverjobrn   Zcustomerjobr:   rd   r   r/   r0   r1   r   r   r   r   r   ro      s   ro   )(	django.dbr   django.contrib.auth.modelsr   Z"django.contrib.contenttypes.fieldsr   "django.contrib.contenttypes.modelsr   r]   django.appsr   django.utils.translationr   _Modelr   r.   r&   r3   r8   r;   rB   rF   rI   rK   rL   rM   rO   rT   rX   ra   rb   ZDriver.modelsrf   rg   rl   rm   ZCustomer.modelsrn   ro   r   r   r   r   <module>   s>   

	
