3
`5                 @   s   d dl mZ d dlT d dlmZ d dlmZ d dlZd dlZd dl	T d dl
Z
d dlZd dlZd dlZd dlZdd Zdd	 Zd
d Zdd Zdd ZdS )    )User)*)settings)FCMNotificationNc             C   s  yt |  tjj| d}djdd tdD }ttjd t|j	 }t
jj|rft d t d n(t d t d	 t
jd
 t
j|dd tjdt|  d}|j|d dd dt|j	 d }||_|j  dS  tk
r } zt | W Y d d }~X nX d S )N)id c             S   s   g | ]}t jtjtj qS  )randomchoicestringascii_lettersdigits).0nr   r   B/var/www/html/Stanley/GoodsDeliveryOLD/Customer/commonfunctions.py
<listcomp>   s    z"generateqrcode.<locals>.<listcomp>   z/media/CustomerJobs/z



zdirectory existszdirectory not existsr   i  )modezAWB-)contentz/qrcode.png   )scale1)printCustomerJobobjectsgetjoinrangestrr   BASE_DIRr   ospathexistsumaskmakedirspyqrcodecreatepngqrcodesave	Exception)id_valcustomerjob_objstfilepathurlfilenameer   r   r   generateqrcode	   s*    
r2   c       	      C   st   yFddl m} ttj}ttj}|||}|j| ||}t|j dS  t	k
rn } zt| dS d }~X nX d S )Nr   )MessagingClientTF)
telesign.messagingr3   r   r   TELESIGN_CUSTOMER_ID_CLIENTTELESIGN_API_KEY_CLIENTmessager   jsonr*   )	phone_numberr7   message_typer3   customer_idapi_key	messagingresponser1   r   r   r   send_text_message&   s    



r?   c             C   s<   t jj| dj }|r4tjj|dddj }d|fS dS d S )	N)r   unreadF)userstatusdeletedsuccesserrorr   )rE   r   )r   r   filterfirstNotificationscount)user_iduser_objunread_notifications_countr   r   r   getunreadnotificationcount;   s
    rM   c             C   s   yRt tj}t| | }|}|}||d||d}	t|dj||||	d}
t|
 W n, tk
r~ } ztd| W Y d d }~X nX d S )Nno)apptype
sendparceltitler7   )r<   )registration_idmessage_titlemessage_bodydata_messagezerror is)r   r   FIREBASE_SERVER_KEYr   r   notify_single_devicer*   )fcmtoken_valZapp_valZtype_valZ	title_valZmessage_val
server_keyZ	fcm_tokenrT   rU   rV   resultrE   r   r   r   sendfcmnotificationD   s    
r\   c             C   s  yt d tjj| dj }|rtd|j }ddddf\}}}}|jdkrV|j}|jdkrf|j}|j	dkrv|j	}|j
dkr|j
}|jrd}nd}|jr|j}nd}|jr|j}	nd}	|jr|jj}
nd}
d| d	 t|jj d
 t|j d t|j d t|j d t|j d t|j d t|j d t|j d t|j d t|j d t|j d t| d t| d t| d t| d t|j d t| d t|	 d t| d t|
 d }t d ttjd t|j }tjj |rntj!|dd  t"|d! d"}|j#| t d# t$j%|d! |d$  t d% dt|j d$ }t d& ||_&|j'  t d' d(S W nP t(k
r } z2t | dt|j d$ }||_&|j'  d)S W Y d d }~X nX d S )*Ngenerateparcelpdf)r   i'  zN.A.r   YesNoa  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>KwickDelivery</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
	<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900" rel="stylesheet">
	<style>
	th {
	    white-space: nowrap;
	}
</style>
</head>
<body style="margin:0;padding:0;">

	<div style="margin:0; padding:0; width: 100%;">
		<table style="width: 100%;font-family: 'Raleway', Helvetica, Arial, sans-serif;font-size: 16px;color:#666;font-weight: 500;max-width: 860px;margin:auto;border-spacing: 0;">
			<tbody>
				<tr>
					<td style="border-top: 10px solid #39d23a;background: #fff;padding: 20px;">
						<table style="width: 100%;">
							<tr>
								<td style="padding-bottom: 20px;">
									<table  style="width: 100%;">
										<tr>
											<td style="width:55%;background-color: #f5f5f5;padding:30px;">
												<div style="width:100%; text-align: center;">
													<img src='/var/www/html/GoodsDelivery/static/images/logo1.png' style="margin-bottom: 15px;width:130px;"/>
													<h3 style="font-size: 20px;margin:0;color:#242424;">Booking ID :</h3>
													<h4 style="font-size: 16px;margin:0;color:#5b5b5b;">z</h4>
												</div>
											</td>
											<td style="width:45%;">
												<div style="width:100%; text-align: center;">
													<img src='/var/www/html/GoodsDeliverya  ' style="width:160px;"/>
												</div>
											</td>
										</tr>
									</table>
								</td>
							</tr>
							<tr>
								<td style="padding-bottom: 10px;">
									<table style="width: 100%;">
										<tr>
											<td style="width: 50%; padding-right: 10px;">
												<h3 style="font-size:15px;font-weight: normal;color:#363636;margin:0 0 12px;">SENDER DETAILS</h3>
												<table  style="width: 100%;text-align: left;border:1px solid #d5d5d5;border-bottom:none;border-spacing: 0;">
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Sender Name</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Sender Contact</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">-a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Pickup Address</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Pickup Time Slot</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">aX  </td>
													</tr>
												</table>
											</td>



											<td  style="width: 50%; padding-left: 10px;">
												<h3 style="font-size:15px;font-weight: normal;color:#363636; margin-top:-5px;">RECIPIENT DETAILS</h3>
												<table  style="width: 100%;text-align: left;border:1px solid #d5d5d5;border-bottom:none;border-spacing: 0;">
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Recipient Name</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Recipient Contact</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a	  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Drop Address</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Drop Time Slot</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
												</table>
											</td>
										</tr>
									</table>
								</td>
							</tr>
							<tr>
								<td style="background-color: #f2f1f0;">
									<h3 style="margin:0;text-align: center; font-size: 15px;color:#363636;text-transform: uppercase;padding:8px;">Parcel Details</h3>
												<table  style="width: 100%;text-align: left;border:1px solid #d5d5d5;border-bottom:none;border-spacing: 0;background-color: #fff;">
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Parcel Length (CM)</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Parcel Height (CM)</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Parcel Width (CM)</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Weight of Parcel (KG)</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Parcel Type</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Pickup Special Note: </th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Drop Special Note: </th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Special Booking</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													<tr>
														<th style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">Desired Vehicle</th>
														<td style="border-bottom: 1px solid #d5d5d5;padding:8px;color:#242424;font-size: 14px;">a  </td>
													</tr>
													
												</table>
								</td>
							</tr>
							<tr>
								<td style="background-color: #fff;padding:5px;"></td>
							</tr>
							<tr>
								<td style="background-color: #f2f1f0;height:38px;">
									<h3 style="margin:0;text-align: center; font-size: 13px;color:#858484;padding:8px;">www.kwickdelivery.co.uk</h3>
								</td>
							</tr>
						</table>
					</td>
				</tr>
			</tbody>
		</table>
	</div>	
</body>
</html>

			 	zbefore awb pdf generationz/media/CustomerJobs/i  )r   z	/awb.htmlw000000z/awb.pdfZ111111Z222222Z3333333TF))r   r   r   rF   rG   r   r   lengthheightwidthweightspecialbookingpickupspecialnotedropoffspecialnotevehicletypenamer(   
sendernamesendercountrycodesenderphonepickupaddresspickuptimeslotrecipientnamerecipientcountrycoderecipientphonedropoffaddressdropofftimeslot
parceltyper   r   r    r!   r"   mkdiropenwritepdfkit	from_file	parcelpdfr)   r*   )r+   r,   	awbnumberZparcellengthZparcelheightZparcelwidthZparcelweightrg   rh   ri   Zdesired_vehiclebodyr.   Zpayment_receipt_htmlr0   r1   r   r   r   r]   \   sh    




  
r]   )django.contrib.auth.modelsr   AdminApp.modelsdjango.confr   pyfcmr   r    rz   Customer.modelsr%   r'   r	   r   r2   r?   rM   r\   r]   r   r   r   r   <module>   s   (	