o
    ,+f}0                     @   sr  d dl mZ d dlmZ d dlmZ d dlZd dlZd dl	m
Z d dl	mZmZ d dlZd dlZd dlZd dl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 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 Z&dd Z'dd Z(dd Z)dd Z*dd Z+dd Z,dd Z-d d! Z.d"Z/d#Z/d$d% Z0d&d' Z1G d(d) d)eeZ2d*d+ Z3dS ),    )renderN)HttpResponse)gettext)get_languageactivate)encoders)MIMEBase)MIMEMultipart)MIMEText)FPDF	HTMLMixin)	get_token)require_GET)JsonResponse)datetime)login_requiredc                 C   s   | j dkr-| jd }tjj d}|jdd}tjjj	dd|d t
| d	|||d
S tjj d}|jdd}tjjjdd}t
| d	|||d
S )NPOSTemail	journeyidFonline    Zsubidnamer   z
index.html)entriesstickpageZLandingpage)r   )methodr   moJourneyEntryobjectsallorder_byexclude	Subsribercreater   Pagesget)requestr   argsZpages r+   JC:\Users\schei\Meine Ablage\Desktop\Server\Online\os4al\main\os4l\views.pyindex   s   

r-   c                 C   .   t jj d}|jdd}t| dd|iS )Nr   Fr   zcontact.htmlr   r   r    r!   r"   r#   r$   r   r)   r   r+   r+   r,   contact)      r1   c                 C   sn   t jj d}|jdd}t jj d}|jdd}t jj d}|jdd}t| d|||dS )NteamidFr   koopidr   z
about.html)r   Zkollabr   )	r   Teamr!   r"   r#   r$   Kooperationr    r   )r)   r*   cor   r+   r+   r,   about.   s   r8   c                 C   sN   t jj d}|jdd}t jj d}|jdd}t| d||dS )NfaqidFr   r   zfaq.html)r   r   )r   FAQr!   r"   r#   r$   r    r   )r)   r*   r   r+   r+   r,   faq9   s
   r;   c                 C   s   | j dkr+| jd }tjj d}|jdd}tjjj	dd|d t
| d	d
|iS tjj d}|jdd}t
| d	d
|iS )Nr   r   r   Fr   r   r   r   z	join.htmlr   )r   r   r   r    r!   r"   r#   r$   r%   r&   r   )r)   r   r   r+   r+   r,   joinA   s   

r<   c                 C   r.   )Nr   Fr   zsubscribe.htmlr   r/   r0   r+   r+   r,   	subscribeP   r2   r=   c                 C   s   | j dkrQ| jd }|d}tt|D ]}|| dkr!d ||< q|d |d d}tj|dd	}td
d}|| W d    n1 sGw   Y  t	| dS t	| dS )Nr   Zanswers,*r   r   )Z	stichtypesize   )indentzsample.jsonwzsimulator.html)
r   r   splitrangelenjsondumpsopenwriter   )r)   dataiZ
dictionaryZjson_objectoutfiler+   r+   r,   	simulatorU   s    




rN   c                 C   r.   )Nz-idFr   z	care.htmlr   )r   Carer!   r"   r#   r$   r   )r)   r*   r+   r+   r,   carer   r2   rP   c                 C   s>   | j dkr| jjd }tjjj|d}t| dd|iS tdS )NGETTitle)slugzcontent.htmlr   z
That Sucks)r   rQ   r(   r   rO   r!   r   r   )r)   rR   r*   r+   r+   r,   contentx   s
   
rT   report/z/var/www/html/os4al/main/media/c              	   C   st  t |  | jdkrt d | jd}|r!| d}t|}t d g }| jd}|rot	|D ];\}}t
 }|d}	td |	 d	 }
td
 t|
d}||  W d    n1 sdw   Y  ||
 q3t||}tjjj|d |d |d |d t|d t|  tdS | jdkrt| }td|i}|jd|ddd t d| t d|  |S d S )Nr   zI recieved a Post request	json_datazutf-8zI got the json fileimages%Y%m%d_%H%M%Szreport/images/woolreport_z.pngr   wbr   r   surname)r   r   rZ   reportzall info receviedrQ   	csrftokenFLax)httponlysamesitezCSRF Token:zResponse Headers:)printr   FILESr(   readdecoderG   loadsgetlist	enumerater   nowstrftimelinktimesleeprI   rJ   append
create_pdfr   r%   r!   r&   tlsr   r   r   
set_cookieitems)r)   Z	json_filerV   rK   Zstored_imagesrW   rL   imagecurrent_time
identifier	file_namefZpdf_path
csrf_tokenresponser+   r+   r,   mail   s@   




"

rx   c                 C   s.  d}d}d}| }d}d}d}t  }	d|	d< ||	d	< ||	d
< |	t|d t|d}
tdd}||
  W d    n1 sAw   Y  t| d}|	dd|  |	| |	
 }t }t||$}|  |j|d |  ||| |||| W d    d S 1 sw   Y  d S )NiK  zmail.privateemail.comz contact@onesheepforalifetime.comz
Schaf3gal!zYour Wool Report is ready.aL  Hello dear sheep friend!

We are happy you tried out our Sheep's Wool Simulator :D

Find your personal wool report in the attachment. It gives you an overview of how you set your 1000 grams of sheep's wool to a purpose.

Our platform and tools are still in development, so stay tuned for more ;)

Wooly regards,
the One Sheep Team
	z,One Sheep <contact@onesheepforalifetime.com>FromToSubjectplainrbapplicationzoctet-streamzWoolreport.pdfzContent-Dispositionzattachment; filename= )context)r	   attachr
   rI   r   set_payloadrb   r   encode_base64
add_header	as_stringsslcreate_default_contextsmtplibSMTPehlostarttlsloginZsendmail)ZadressfilepathportZsmtp_serverZsender_emailZreceiver_emailpasswordsubjectbodymessage
attachmentpartfilenametextr   serverr+   r+   r,   rn      s@   


"rn   c                   @   s   e Zd ZdS )PDFN)__name__
__module____qualname__r+   r+   r+   r,   r      s    r   c              	   C   s   t | d}| d }t | d  t t| d  | d dkr!d}n| d d }tt| d d}tt| d d}d	}d
}d}	d}
|
d }dt|d  }tdd|
|f}|  |ddd |jd|d |jd|dd |j	ddd|ddd |j	dd||ddd |j	ddd|ddd |jd|	dd |j	ddd|ddd |j	ddd|ddd |j	ddd|ddd |jdd|d |j	ddd|ddd |jd|	d |j	dd|d  |ddd |j	ddd|ddd |jd|dd |j	ddd!|ddd |jd|	d |j	dd|d  |ddd |j	ddd|ddd |jd|	dd |j	ddd|ddd t
|D ]\}}|j	ddd|ddd |jd|dd |j	ddt|d" |ddd |jd|	d |t|k r|| }|
| d# }|j	ddd|ddd |j|||d$ |j	ddt|d% d  |ddd |j	ddt|d& |ddd |j	ddt|d' |ddd |j	ddd|ddd |j	ddd|ddd q4|j	dd
d(|ddd |jd|	d t }|d)}d*| d+ }d,| d+ }|| d-| d+ }|S ).Nr   garmentsr    ZYourz 'sZtotal_used_wool_gZtotal_used_wool_m   
      9   h   Z   Pmmg      @ZArial)r@   B)r@   styler   C)txtZborderZalignln   zWool Reportr   z)*****************************************ZBU)r   r@   z	Wool usedz gramszWool donatedZgarment_name   )xrC   Zgarment_wool_gZgarment_stichtypeZgarment_tensionzonesheepforalifetime.comrX   zmedia/report/z_woolreport.pdfz&/var/www/html/os4al/main/media/report/rU   )r`   typestrroundrF   r   Zadd_pageZset_marginsZset_fontcellrf   rq   r   rg   rh   output)rK   rW   debugr   r   Z	used_woolZleftover_woolhshpwidthZimage_widthheightpdfrL   ZgarmentZ
image_pathZ
x_positionrr   rs   fpathr+   r+   r,   rm      s   "

rm   )4django.shortcutsr   Zos4l.modelsmodelsr   django.httpr   rG   osdjango.utils.translationr   _r   r   pandaspdr   r   r   r   email.mime.baser   email.mime.multipartr	   email.mime.textr
   Zfpdfr   r   django.middleware.csrfr   django.views.decorators.httpr   r   r   rj   Zdjango.contrib.auth.decoratorsr   r-   r1   r8   r;   r<   r=   rN   rP   rT   ri   rx   rn   r   rm   r+   r+   r+   r,   <module>   sF    	0: