HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/blueprints/user/__pycache__/tasks.cpython-310.pyc
o

�we.�@s�ddlmZmZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddl
mZddlmZee�Ze��dd
d��Ze��dd
��Ze��dd��Ze��dd��Ze��ddd��Ze��ddd��Ze��ddd��Ze��dd��ZdS) �)�current_app�url_for)�lazy_gettext)�_try_renderer_template)�send_ses_email)�send_template_message)�create_celery_app)�User)�
ses_client�cKsJtj�|�}|durdS||||d�}	ttd�|��|jgd|d�dS)aq
    Send a reset password e-mail to a user.

    :param user_id: The user id
    :type user_id: int
    :param reset_token: The reset token
    :type reset_token: str
    :param partnership_name: partnership name
    :type partnership_name: str
    :param partnership_logo: The reset token
    :type partnership_logo: str
    :return: None if a user was not found
    N)�user�reset_token�company�logoTz"{} - Password reset from buyercallzuser/mail/password_reset)�subject�
recipients�template�ctx)
r	�query�getr�_�format�emailrr�partnership_id)�user_idr
�partnership_name�partnership_logo�kwargsrr�password_reset_email_template�r�A/home/arjun/projects/buyercall/buyercall/blueprints/user/tasks.py�deliver_password_reset_emails�r!c
Ksztj�|�}|durdS|rd�||�}ntd|dd�}|||||d�}tddd	i|��}	t|jg|jd
�|�|	d�dS)
a�
    Send an invitation e-mail to an agent.

    :param user_id: The user id
    :type user_id: int
    :param reset_token: The reset token
    :type reset_token: str
    :param reset_token: The reset token
    :type partnership_name: str
    :return: partner_name will be used in subject of the email
    :type partnership_logo: str
    :return: partnership_logo will be used as logo for email
    :type partner_url: str
    :return: partner_ulr will be used as partner url
    Nz&{}/account/agent_invite?reset_token={}zagents.agent_inviteT)r
�	_external)rr
rr�url�agents/mail/invitation�ext�html�Invitation to {}�r�p_idrr&)r$)	r	rrrrrrrr)
rr
rr�partner_urlrr�partnership_urlr�agent_invite_email_templaterrr �send_agent_invitation_email5s&�	�r-cKsTtj�|�}|durdS||d�}tdddi|��}t|jg|jd�|�|d�dS)	a?
    Send an invitation e-mail to an agent.

    :param user_id: The user instance id
    :type user_id: int
    :param reset_token: The reset token
    :type reset_token: str
    :param reset_token: The reset token
    :type partnership_name: str
    :return: partnership_name will be used in subject of the email
    N)rr
�partnership/mail/invitationr%r&r'r()r.)r	rrrrrrr)rr
rrrr�partner_invite_email_templaterrr �send_partners_invitation_emailbs

�r0cKstj�|�}t|||�dS)a6
    Send an invitation e-mail to an agent.

    :param user_id: The user id
    :type user_id: int
    :param reset_token: The reset token
    :type reset_token: str
    :param reset_token: The reset token
    :type partnership_name: str
    :return: partnership_name will be used in subject of the email
    N)r	rrr0)rr
rrrrrr �$send_partners_invitation_email_by_id�s
r1Nc	
KsRztj||||||d�}W|Sty(}ztd|�d}WYd}~|Sd}~ww)N)r�config_set_name�senderr�textr&zError : F)r
�
send_email�	Exception�print)	rrr2r4r&r3r�mail_status�errr �send_generic_mail�s��
��r:cKst�|||||�}|S)a
    Send a notification email
    :param subject: email subject
    :param data: email content
    :param recipients: email recipients
    :param sender: email sender or from address
    :return mail_status, type bool: Returns True if mail sent successfully.
    )r
r5)r�datarr3rr8rrr �send_notification_mail�s
r<FcOsNddlm}||||�}t|t�s|s|�dd�s	|S	|S|s$	|S	|S)Nr)�insert_data_by_index�status)�.buyercall.integrations.elasticsearch.utilitiesr=�
isinstance�boolr)r;�	es_client�index�is_error�argsrr=�es_resprrr �put_to_elasticsearch�s	���rGcCs,ddlm}|||||�}|�dd�s	|S)Nr)�update_index_by_queryr>)r?rHr)�update_queryrB�
index_name�scriptrHrFrrr �update_to_elasticsearch�s
rL)rr)rrrN)N)F)�flaskrr�flask_babelrr�buyercall.lib.flask_mailplusr�buyercall.lib.util_ses_emailrr�
buyercall.appr� buyercall.blueprints.user.modelsr	�buyercall.extensionsr
�celery�taskr!r-r0r1r:r<rGrLrrrr �<module>s2&
,