From 27cbf9d1cd1700216a2a09c5ba27e66a80bf0a81 Mon Sep 17 00:00:00 2001
From: MohamedGad100
- ${user.company_id.name} - - +
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
diff --git a/odex25_transactions/exp_transaction_documents/email_templates/internal_templates.xml b/odex25_transactions/exp_transaction_documents/email_templates/internal_templates.xml index 63f1526a2..5d1650760 100644 --- a/odex25_transactions/exp_transaction_documents/email_templates/internal_templates.xml +++ b/odex25_transactions/exp_transaction_documents/email_templates/internal_templates.xml @@ -48,10 +48,12 @@- رابط المعاملة + + رابط المعاملة +
-+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
]]> @@ -245,11 +247,12 @@+
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس ${user.company_id.name}
@@ -318,9 +321,12 @@- رابط المعاملة + + رابط المعاملة +
-+
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس ${user.company_id.name}
@@ -381,9 +387,12 @@- رابط المعاملة + + رابط المعاملة +
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس ${user.company_id.name}
@@ -437,10 +446,12 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
]]> @@ -507,11 +518,13 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
@@ -579,11 +592,13 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
@@ -651,11 +666,13 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
]]> @@ -708,10 +725,12 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
]]> diff --git a/odex25_transactions/exp_transaction_documents/email_templates/mail_notification_template.xml b/odex25_transactions/exp_transaction_documents/email_templates/mail_notification_template.xml new file mode 100644 index 000000000..81a7598a2 --- /dev/null +++ b/odex25_transactions/exp_transaction_documents/email_templates/mail_notification_template.xml @@ -0,0 +1,94 @@ + +
+ تم الإرسال بواسطة
+ تم الإرسال بواسطة + + + + + + + باستخدام + أودكس +
+
+ تم الإرسال بواسطة
- ${user.company_id.name} - - +
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
@@ -113,12 +111,12 @@- رابط المعاملة + + رابط المعاملة +
-- ${user.company_id.name} - - +
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
@@ -180,10 +178,12 @@- رابط المعاملة + + رابط المعاملة +
- ${user.company_id.name} + تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
@@ -235,12 +235,12 @@- رابط المعاملة + + رابط المعاملة +
-- ${user.company_id.name} - - +
+ تم الإرسال بواسطة ${user.company_id.name} باستخدام اودكس
diff --git a/odex25_transactions/exp_transaction_documents/models/__init__.py b/odex25_transactions/exp_transaction_documents/models/__init__.py index 852cb75bd..f84c9155d 100644 --- a/odex25_transactions/exp_transaction_documents/models/__init__.py +++ b/odex25_transactions/exp_transaction_documents/models/__init__.py @@ -7,4 +7,5 @@ from . import internal_transaction from . import outgoing_transaction from . import incoming_transaction from . import tools +from . import mail_thread # diff --git a/odex25_transactions/exp_transaction_documents/models/mail_thread.py b/odex25_transactions/exp_transaction_documents/models/mail_thread.py new file mode 100644 index 000000000..d380cf417 --- /dev/null +++ b/odex25_transactions/exp_transaction_documents/models/mail_thread.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- + +import re +import logging +from odoo import models, api + +_logger = logging.getLogger(__name__) + + +class MailMail(models.Model): + _inherit = 'mail.mail' + + @api.model + def create(self, vals): + """Override create to modify email HTML: fix logo and button colors""" + # Modify body_html before creating the record + if vals.get('body_html'): + body_html = vals['body_html'] + + # Fix logo path - use correct base URL + # Get base URL from system parameter OR company + base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + if not base_url: + try: + base_url = self.env.company.get_base_url() if hasattr(self.env, 'company') and self.env.company else '' + except: + base_url = '' + + if base_url: + logo_path = '/exp_transaction_documents/static/src/img/Odex-logo.png' + absolute_logo_url = '%s%s' % (base_url.rstrip('/'), logo_path) + + # Replace img tag src with absolute URL + def fix_logo_url(match): + img_tag = match.group(0) + # Remove loading="lazy" attribute + img_tag = re.sub(r'\s+loading\s*=\s*["\'][^"\']*["\']', '', img_tag, flags=re.IGNORECASE) + + # Replace src with absolute URL + if 'src=' in img_tag: + img_tag = re.sub( + r'src\s*=\s*["\'][^"\']*["\']', + r'src="%s"' % absolute_logo_url, + img_tag, + flags=re.IGNORECASE + ) + else: + if 'alt=' in img_tag: + img_tag = re.sub( + r'(alt=["\']ODEX["\'])', + r'\1 src="%s"' % absolute_logo_url, + img_tag, + flags=re.IGNORECASE + ) + else: + img_tag = img_tag.replace('q35*V@|+F0T=Cxm6fTfDc)uK
zt*bpcylzxGV}(#5vgetMXHV!`MF<=`% g>Vrl)z=w&ce4oGy-^+ro5xF1N
z@Q@d;Jf;QscfACKxj?JtE2uEXv;PausgiSrz`GBe0rY2tW_jl(cP!1{fXOzw$mFQQ=)3kIZ+U4#?tJ#qbmb&PXfq@6>2BD@Y
z4q<6D-pIZ|4u!-qpT_F{B0->uLBbfN8J`U7ZFsn07-%A}7dNrIWV7Du
$@0GVK0#Z;MNI`KYvn67=n^supm;fZX
zc9O^D?0H2vAR=}`;x!(~K9f{JZwP{NK^ym=Zo^@&<1g&79f6P8_%gE3&-T_oxj7~S
zKyib{{KXZvi>NLr|0DoO;_a4m@R3Ks0!6frSp6IZE%G>Ci20__&{ZC&o^@s5gm*v$
zQXLiu&?UJ^gGPMab8
vbcP|dTRfaUoVToFe9R=iX=|7j%75g=A?W!V{#_!6pl
zb-HEV($LWF@A2DvV8-$yo}U-DR3BIWW~!>sTtwE*{so+E^abn&F{1(dfXaP=*akiZ
zw+viF^JD=m06Gw5ltXo1nGsO9jfcr({Ch+v!*n-P_!5l2gZE7OAUNa1kP6+>f^Zyg
z-VvxL0~d)V37NqF&i(`JDpx(?ZB2aHnvs>Is>gH(r+R`qw^2QhqExhSM-R@2f1ir@
zSCtvPQ$v}L?KcfE&VPv^3yqalJz%VuQN9~ecmG^C-!BJxa~npPM`43Dj&SzwT+dWc
z%+!#gB^t7>TJWxH0v?`%kNjB-SzZ9Nooia`XqkFmaAQ`N;;RE{9(ADYk9^%3O2M`)
zs$+};5*PYWOPv)#5rvY@z(^p@
#c+_5FARH`zvA}>}V0Ey$fOOYqLC}P(
_J
zZ`Z#g#0!GKDDC$CN&myV!=TvkG48upIUXqk{$5V1{M=?V(L~Hcmoc4jBB*7s?bTke
zNrhvpD=T--5?=kkHd9q}6q7c^czJDJl1flH%4;s@9H4c{T)7=MrXHv#$z_<=Jyp}C
zI*$3?d16a9lH96iGXuy4u2h?5B2Z}JaIRtDyQPsQU{hj%q`$P%%SL4B1_(sC+;rkH
ziV{hy|F`Np7E)|}J5?M}p1-rRvlndr*xkL%t@p}IAr&E;3kih9fuK^n+*bkc7T@2?
z5Hf+J3j*{7d!gSf;a|{U%=ee_P^&K-a~qlg-`=rsqSZ>jgDQdO0F@QEFnG8mQm_jA
zwYFM_4yxj?mp8|;b3+zA{bO8yVBRczHC}Whi})OYK-5hDGZmw&)E|8w7Yw#-IQgp6
zPdP@ZBcy>QRXSW_o5
WV8XiL_EO#OSbj{!Hua}mondgs*evsX}sh1ChRNzZZ0e0Jd
zmz$eyob?*HI{F|lkZEx29~T`+c^>4yMXrqd&FMM95NfTyn79mv8c7n1GMEc2YP!>H
z(602hgNfg+%?meWUG-M2Ri>S-+*9?IzG#I%E;WdE7Gx?)brw5hgb_aO_T)y%hfF)C
z_ZR?9pISK&5YzK!3PEEpr9ff^c?I*
-mPPqQM<9xM&FHH#L#Ho)Q=FdDS)
z`?VyPK-B?}j<)0*c4p=GuK7o0#c(VfBB=^8K}S`KdVw~fNdT?mk%!8Zw;qbQU3Ua;sz6E
z$DPZ(460SW5d<<_FZp|ftu5bhOiNPb_T8qE?XDM1Uk<(U^mY7Q5-^alqfGp;No_6X
zEm-vOYhWt~syW95X49nH!V6=*ty?o4!&fDiVp8GdnmiZ!beOZEkn2uvT0Q!VrNtWZ
z%b+LX**D#+^X&aY_@_cjWbFmvz{%OdGJl0&({E`)|+ZR4w{{g+~F>tjk
z3c4oFdb7|n13QKXe1U84-_{kF2}OUD&`sK)s8~TRQH%`;K|M_5#Z