Ë
    >È'jË  ã                  óÜ   — d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZmZ d dlmZ d dlmZ d d	lmZ  ej&                  e«      Zdd
„Zdd„Zddœ	 	 	 	 	 	 	 dd„Zdd„Zd ddœdd„Zy)é    )ÚannotationsN)ÚSession)Úget_settings)ÚSessionLocalÚrelease_db_connection)ÚUserÚUserRole)ÚContactMessage)ÚContactMessageCreateRequest)Ú_send_emailc                ó$  — t        «       }|j                  xs dj                  «       }|r|S |j                  xs dj                  «       }|r|S | j	                  t
        «      j                  t
        j                  t        j                  k(  t
        j                  j                  d«      «      j                  t
        j                  j                  «       «      j                  «       }|r&|j                   r|j                   j                  «       S y )NÚ T)r   Úadmin_notify_emailÚstripÚ	smtp_fromÚqueryr   ÚfilterÚroler	   ÚadminÚ	is_activeÚis_Úorder_byÚidÚascÚfirstÚemail)ÚdbÚsettingsÚ
configuredr   r   s        úA/var/www/html/kelly/kelly-backend/app/services/contact_service.pyÚresolve_admin_notify_emailr!      sÃ   € Ü‹~€HØ×-Ñ-Ò3°×:Ñ:Ó<€JÙØÐà×#Ñ#Ò) r×0Ñ0Ó2€IÙØÐð 	�‰”‹ß	‰”—	‘	œXŸ^™^Ñ+¬T¯^©^×-?Ñ-?ÀÓ-EÓ	Fß	‰”$—'‘'—+‘+“-Ó	 ß	‰‹ð	 
ñ �—’Ø�{‰{× Ñ Ó"Ð"Øó    c                óª  — t        |j                  j                  «       t        |j                  «      j                  «       |j
                  r|j
                  j                  «       nd |j                  j                  «       |j                  j                  «       d¬«      }| j                  |«       | j                  «        | j                  |«       |S )NF)Ú	full_namer   Úphone_numberÚsubjectÚmessageÚ
email_sent)r
   r$   r   Ústrr   r%   r&   r'   ÚaddÚcommitÚrefresh)r   ÚbodyÚrows      r    Úcreate_contact_messager/   &   s•   € Ü
Ø—.‘.×&Ñ&Ó(Ü�$—*‘*‹o×#Ñ#Ó%Ø26×2CÒ2C�T×&Ñ&×,Ñ,Ô.ÈØ—‘×"Ñ"Ó$Ø—‘×"Ñ"Ó$Øô€Cð ‡F�Fˆ3„KØ‡I�I„KØ‡J�Jˆs„OØ€Jr"   )Úadmin_emailc             ƒ  óö  K  — |xs t        | «      }|s!t        j                  d|j                  «       y|j                  xs d}d|j
                  › d|j                  › d|› d|j                  › d|j                  › d	�}d
|j
                  › d|j                  › d|› d|j                  › d|j                  j                  t        d«      d«      › d�}t        | «       t        |d|j                  › �||¬«      ƒ d {  –—† }|r]d|_        t        «       }	 |j                  t         |j                  «      }	|	�d|	_        |j#                  «        |j%                  «        |S |S 7 Œe# |j%                  «        w xY w­w)Nz:No admin notify email configured for contact message id=%sFúNot providedu:   New contact form submission â€” Pole Power Academy

Name: z
Email: ú
Phone: z

Subject: z

Message:
Ú
z><h2>New contact form submission</h2><p><strong>Name:</strong> z</p><p><strong>Email:</strong> z</p><p><strong>Phone:</strong> z!</p><p><strong>Subject:</strong> z'</p><p><strong>Message:</strong></p><p>é
   ú<br>z</p>zContact form: ©Úto_emailr&   r-   Ú	html_bodyT)r!   ÚloggerÚwarningr   r%   r$   r   r&   r'   ÚreplaceÚchrr   r   r(   r   Úgetr
   r+   Úclose)
r   Úcontactr0   Ú	recipientÚ
phone_lineÚplainÚhtmlÚsentÚ	update_dbr.   s
             r    Úsend_contact_message_to_adminrG   5   s˜  è ø€ ð Ò=Ô9¸"Ó=€IÙÜ�‰ÐSÐU\×U_ÑU_Ô`Øà×%Ñ%Ò7¨€Jð	Ø×"Ñ"Ð#ð $Ø—-‘-�ð !Ø�ð Ø—O‘OÐ$ð %Ø—_‘_Ð% Rð	)ð 
ð	%Ø%,×%6Ñ%6Ð$7ð 8&Ø&-§m¡m _ð 5&Ø&0 \ð 2(Ø(/¯©Ð'8ð 9.Ø.5¯o©o×.EÑ.EÄcÈ"ÃgÈvÓ.VÐ-WÐW[ð	]ð 	ô ˜"ÔÜØØ  §¡Ð 1Ð2ØØô	÷ €Dñ Ø!ˆÔÜ “Nˆ	ð	Ø—-‘-¤°·
±
Ó;ˆCØˆØ!%�”Ø× Ñ Ô"à�O‰OÔØ€Kˆ4€Kð!ùð �O‰OÕüs*   ‚C:E9Ã<E"Ã=E9Ä9E$ ÅE9Å$E6Å6E9c              ƒ  óÞ  K  — | j                   xs dj                  «       }|s!t        j                  d| j                  «       y| j
                  xs d}d| j                  › d| j                  › d|› d| j                  › d	�	}d
| j                  › d| j                  › d|› d| j                  j                  t        d«      d«      › d�	}t        |d| j                  › �||¬«      ƒ d{  –—† S 7 Œ­w)zLSend a thank-you / copy of the enquiry to the person who submitted the form.r   z.No client email for contact confirmation id=%sFr2   zHi zÊ,

Thank you for contacting Pole Power Academy. We have received your message and will get back to you as soon as possible (usually within one business day).

Here is a copy of what you sent:

Subject: r3   z

u   

â€” Pole Power Academy
z<p>Hi zù,</p><p>Thank you for contacting <strong>Pole Power Academy</strong>. We have received your message and will get back to you as soon as possible (usually within one business day).</p><p><strong>Your message:</strong></p><p><strong>Subject:</strong> z<br><strong>Phone:</strong> z</p><p>r5   r6   u!   </p><p>â€” Pole Power Academy</p>zWe received your message: r7   N)r   r   r:   r;   r   r%   r$   r&   r'   r<   r=   r   )r@   Úclient_emailrB   rC   rD   s        r    Ú#send_contact_confirmation_to_clientrJ   f   s  è ø€ à—M‘MÒ' R×.Ñ.Ó0€LÙÜ�‰ÐGÈÏÉÔTØà×%Ñ%Ò7¨€Jà
ˆg×ÑÐ ð !ð —O‘OÐ$ð %Ø�˜TØ�?‰?Ð
ð #ð	#ð 
ð �×"Ñ"Ð#ð $(ð
 )0¯©Ð'8ð 9#Ø#- ,ð /Ø�o‰o×%Ñ%¤c¨"£g¨vÓ6Ð7ð 8(ð	(ð 	ô ØØ,¨W¯_©_Ð,=Ð>ØØô	÷ ð ð ús   ‚C$C-Ã&C+Ã'C-é2   )ÚskipÚlimitc               ó  — | j                  t        «      j                  t        j                  j	                  «       «      }|j                  «       }|j                  |«      j                  |«      j                  «       }||fS )N)	r   r
   r   Ú
created_atÚdescÚcountÚoffsetrM   Úall)r   rL   rM   ÚqÚtotalÚrowss         r    Úlist_contact_messagesrW   Œ   s`   € Ø
�‰”Ó ×)Ñ)¬.×*CÑ*C×*HÑ*HÓ*JÓK€AØ�G‰G‹I€EØ�8‰8�D‹>×Ñ Ó&×*Ñ*Ó,€DØ�ˆ;Ðr"   )r   r   Úreturnú
str | None)r   r   r-   r   rX   r
   )r   r   r@   r
   r0   rY   rX   Úbool)r@   r
   rX   rZ   )r   r   rL   ÚintrM   r[   rX   z tuple[list[ContactMessage], int])Ú
__future__r   ÚloggingÚsqlalchemy.ormr   Ú
app.configr   Úapp.databaser   r   Ú
app.modelsr   r	   Úapp.models_adminr
   Úapp.schemasr   Úapp.services.email_otpr   Ú	getLoggerÚ__name__r:   r!   r/   rG   rJ   rW   © r"   r    Ú<module>rh      s}   ðÝ "ã å "å #ß <ß %Ý +Ý 3Ý .à	ˆ×	Ñ	˜8Ó	$€óó*ð& #ñ	.Øð.àð.ð ð	.ð
 
ó.ób#ðL 78Àbö r"   