o
    9c                     @   s   d dl 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 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S )    N)settings)EmailMessage)render_to_string   )EmailHistoryPasswordHistoryc                 C   F   d}t d| |j| dd}t||| jgtjd}d|_|  dS )z# Send activation email to the user z UseVoice. | Account Confirmationzaccounts/email_activation.htmlemail_verificationuserdomaintokento
from_emailhtmlN	r   r   r   r   emailr   EMAIL_HOST_USERcontent_subtypesend)new_usercurrent_sitesubjectmessagemail r   8/var/www/html/docker_usevoice/src/apps/accounts/utils.pysend_activation_email
   s   r   c                 C   r   )z' Send password reset email to the user zUseVoice. | Password Resetz"accounts/email_password_reset.htmlpassword_resetr
   r   r   Nr   )r   r   r   r   r   r   r   r   send_password_reset_email   s   r    c                 C   s(   g d}|  dd  dd }||v S )N)gmailyahoooutlookhotmailicloud@.r   )split)	new_emailallowed_providersemail_providerr   r   r   check_email_provider_allowed/   s   r-   c                    s,   g d}|  dd  t fdd|D S )N)z.eduz.govz.comz.maz.frr&   r'   c                 3   s    | ]}  |V  qd S )N)endswith).0dr   r   r   	<genexpr>7   s    z-check_email_domain_allowed.<locals>.<genexpr>)r)   any)r*   allowed_domainsr   r1   r   check_email_domain_allowed4   s   r5   c                 C   s   dS )NFr   )r   r   r   r   email_change_limit_reached9   s   r6   c                 C   B   d}d}t j  t j|d }tjj| |d}| |krdS dS )N      daysr   timestamp__gteTF)datetimenow	timedeltar   objectsfiltercountr   limittime_periodtime_thresholdemail_changesr   r   r   r6   @      c                 C   r7   )Nr8      r:   r<   TF)r>   r?   r@   r   rA   rB   rC   rD   r   r   r   password_change_limit_reachedI   rI   rK   c                 C   s   d}d S )NzConfirm your email changer   )r*   r   r   r   r   send_confirmation_emailR   s   rL   c                 C   s.   |}t ||d| d dg| d}|  d S )Nz
from r(   zbrahim.boughanem@usevoice.io)r   bodyr   r   )r   r   )r   sender_namer   r   r   r   r   r   contact_us_send_messageY   s   rO   )r>   django.confr   django.core.mail.messager   django.template.loaderr   modelsr   r   r   r    r-   r5   r6   rK   rL   rO   r   r   r   r   <module>   s   		