File: //home/arjun/projects/buyercall/buyercall/blueprints/leads/__pycache__/models.cpython-310.pyc
o
�we�F � @ s� d dl mZ d dlZd dlmZmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
mZ d dlmZ d d lmZmZ d d
lmZ d dlmZ d dlmZ d d
lmZ G dd� dej�ZG dd� deej�ZG dd� deej�ZdS )� )�OrderedDictN)�or_�and_)�
postgresql)�hybrid_property)� load_only)�text�select)�UUID)�format_phone_number_bracket�format_phone_number)�EncryptedValue)�
ResourceMixin)�account_client)�dbc @ s� e Zd ZdZejejdd�Zejedd�de j
dd�Zejeje�d�dd�Z
eje�� dd�Zeje�� dd�Zejejdd�Zeje�� dd d
�Zejddd�Zejejejd
dddd�ddd�Zedd� �Zedd� �Zedd� �Zedd� �ZdS )� LeadNotes�
lead_notesT��primary_key��as_uuid��unique�default�indexzleads.idF��nullable� �r �server_default�User)�backrefzusers.id�lead_notes_user_id_fkey�CASCADE��name�onupdate�ondelete�r r c C s( |}t j�tdi |��� t j�� dS )zk
Return whether or not the agent schedule was created successfully.
:return: bool
TN� )r �session�addr �commit)�cls�note�leadnoter) r) �C/home/arjun/projects/buyercall/buyercall/blueprints/leads/models.py�create- s
zLeadNotes.createc C sf |rt j�t�j|d��||||d�� t j�� dS t j�t�j|d��|||d�� t j�� dS )zk
Return whether or not the agent schedule was updated successfully.
:return: bool
)�id)�
updated_onr �
is_enabled�user_id)r3 r4 r5 T)r r* �queryr � filter_by�updater, )r- �lead_note_id�lead_note_text�lead_note_updated_date�lead_note_user_id�lead_note_enabledr) r) r0 r8 : s ��
��
zLeadNotes.updatec C � | j �d�S )z. Return the date the note was created
�%Y-%m-%d %H:%M:%S�r3 �strftime��selfr) r) r0 �date_editedQ � zLeadNotes.date_editedc C s d� | jj| jj�S )z@ Return the full name of the user that created the note
�{} {})�format�user� firstname�lastnamerB r) r) r0 �
user_fullnameW s zLeadNotes.user_fullnameN)�__name__�
__module__�__qualname__�
__tablename__r �Column�Integerr2 r
�uuid�uuid4�sid�
ForeignKey�lead_id�DateTime�
created_onr3 �Booleanr4 �Textr �relationshiprH r5 �classmethodr1 r8 �propertyrD rK r) r) r) r0 r s8 ��
r c @ s� e Zd Zeg d��Zeg d��ZdZejej dd�Z
ejedd�dej
dd�Zejddd �Zejd
ddd
dd�Zejej ejdddd�ddd�Z eje�d�dd�Zeje�d�ddd�Z eje�d�dddd�Zejed�dddd�Zejed�dddd�Zejed�dddd�Zejed�dddd�Zejed�dddd�Zeje�� ddd�Zeje�d�dd�Zejej dd�Z eje�!� dd�Z"eje�!� dd�Z#eje�d�dd�Z$eje�d�dddd�Z%eje�d�dddd�Z&eje�d�dddd�Z'eje�d�dddd�Z(ejed �ddd�Z)eje�d�dddd�Z*ejed!�ddd�Z+ejed!�ddd�Z,eje�d"�ddd�Z-eje�d"�ddd�Z.ejed�dddd�Z/e�ejejd#d$dd%d&��Z0ejej ejd'd(dd%d&�dd)�Z1e�ej ejd*d+dd%d&��Z2ejej ejd,d-ddd&�ddd�Z3ejej dd�Z4eje�5� ddd�Z6eje� � dd.d�Z7e�e�8� �Z9e�e:j;�Z<e=d/d0� �Z>e=d1d2� �Z?e=d3d4� �Z@eAd5d6� �ZBeAd7d8� �ZCeCjDd9d8� �ZCeCjEd:d8� �ZCeFd;d<� �ZGeFd=d>� �ZHeFd?d@� �ZIeFdAdB� �ZJeAdCdD� �ZKeKjEdEdD� �ZKeAdFdG� �ZLeLjEdHdG� �ZLeAdIdJ� �ZMeMjEdKdJ� �ZMeAdLdM� �ZNeFdNdO� �ZOeFdPdQ� �ZPeFdRdS� �ZQe=dTdU� �ZRdVS )W�Lead))�ringingr_ )�in-progressr` )� completedzlead has been captured)�missedz2lead was missed, and there will be no more retries)z
retry-pendingz+lead was missed, but we will call them back))znew leadzNew Lead)zgeneral interestzGeneral Interest)zfollow-up requiredzFollow-up Required)zapplication startedzApplication Started)zunder contractzUnder Contract)z$application submitted - credit unionz$Application Submitted - Credit Union)zapplication submitted - autopayzApplication Submitted - AutoPay)z credit union declined no autopayz Credit Union Declined No AutoPay)zautopay declinedzAutoPay Declined)zcredit union contractedzCredit Union Contracted)zautopay contractedzAutoPay Contracted)zprevious customerzPrevious Customer)zservice callzService Call)z
accounts callz
Accounts Call)z
sold customerz
Sold Customer)zcompleted conversationzCompleted Conversation)zdo not contactzDo Not Contact�leadsTr r r �Agent)�back_populatesr �leadzall, delete-orphan�dynamiczdesc(LeadNotes.created_on))r! �cascade�lazy�order_by�partnership_accounts.idr# )r&