initial commit
This commit is contained in:
131
templates/emails/announcement_email.html
Normal file
131
templates/emails/announcement_email.html
Normal file
@@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ announcement.title }}</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Tahoma', 'Arial', sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background-color: #f4f4f4;
|
||||
direction: rtl;
|
||||
}
|
||||
.container {
|
||||
background-color: white;
|
||||
padding: 30px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
.header {
|
||||
text-align: center;
|
||||
border-bottom: 3px solid #168085;
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.logo {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
color: #168085;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.priority-badge {
|
||||
display: inline-block;
|
||||
padding: 5px 15px;
|
||||
border-radius: 20px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.priority-urgent { background-color: #dc3545; color: white; }
|
||||
.priority-high { background-color: #fd7e14; color: white; }
|
||||
.priority-normal { background-color: #28a745; color: white; }
|
||||
.priority-low { background-color: #6c757d; color: white; }
|
||||
.announcement-type {
|
||||
background-color: #e9ecef;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.content {
|
||||
margin: 20px 0;
|
||||
line-height: 1.8;
|
||||
text-align: justify;
|
||||
}
|
||||
.footer {
|
||||
margin-top: 30px;
|
||||
padding-top: 20px;
|
||||
border-top: 1px solid #eee;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
}
|
||||
.social-links {
|
||||
margin: 20px 0;
|
||||
}
|
||||
.social-links a {
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
color: #168085;
|
||||
text-decoration: none;
|
||||
}
|
||||
.unsubscribe {
|
||||
margin-top: 20px;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
}
|
||||
.unsubscribe a {
|
||||
color: #999;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<div class="logo">انجمن علوم کامپیوتر</div>
|
||||
<p>خبرنامه انجمن علوم کامپیوتر</p>
|
||||
</div>
|
||||
|
||||
<div class="priority-badge priority-{{ announcement.priority }}">
|
||||
{% if announcement.priority == 'urgent' %}فوری
|
||||
{% elif announcement.priority == 'high' %}مهم
|
||||
{% elif announcement.priority == 'normal' %}عادی
|
||||
{% else %}کم اهمیت{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="announcement-type">
|
||||
📢 اطلاعیه
|
||||
{% if announcement.announcement_type == 'general' %}عمومی
|
||||
{% elif announcement.announcement_type == 'event' %}رویداد
|
||||
{% elif announcement.announcement_type == 'academic' %}آکادمیک
|
||||
{% elif announcement.announcement_type == 'urgent' %}فوری
|
||||
{% else %}خبرنامه{% endif %}
|
||||
</div>
|
||||
|
||||
<h1>{{ announcement.title }}</h1>
|
||||
|
||||
<div class="content">
|
||||
{{ announcement.content_html|safe }}
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p><strong>انجمن علمی مهندسی کامپیوتر دانشکده فنی و مهندسی شرق گیلان</strong></p>
|
||||
<p>با ما در ارتباط باشید:</p>
|
||||
<div class="social-links">
|
||||
<a href="https://www.instagram.com/your_association_instagram">📷 اینستاگرام</a>
|
||||
<a href="https://t.me/your_association_telegram">📱 تلگرام</a>
|
||||
</div>
|
||||
|
||||
<div class="unsubscribe">
|
||||
<p>این ایمیل را به دلیل عضویت در خبرنامه ما دریافت کردهاید.</p>
|
||||
<p><a href="{{ unsubscribe_url }}">لغو اشتراک</a> | <a href="{{ manage_subscription_url }}">مدیریت تنظیمات</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
19
templates/emails/event_announcement.html
Normal file
19
templates/emails/event_announcement.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html><html lang="fa" dir="rtl"><body style="margin:0;padding:0;background:#ffffff;">
|
||||
<table role="presentation" width="100%" style="border-collapse:collapse;">
|
||||
<tr><td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="600" style="width:100%;max-width:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;">
|
||||
<tr><td align="center" style="background:#2563eb;color:#fff;padding:18px;font-family:Tahoma,Arial,sans-serif;font-size:16px;">اطلاعیه</td></tr>
|
||||
<tr>
|
||||
<td style="background:#f9fafb;padding:22px 30px;text-align:right;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;">
|
||||
<p style="margin:0 0 10px 0;">{{ user.get_full_name|default:'کاربر' }} عزیز،</p>
|
||||
<div style="margin:10px 0 0 0;">{{ body_html|safe }}</div>
|
||||
<div style="text-align:center;margin:16px 0;">
|
||||
<a href="{{ event_url }}" style="display:inline-block;background:#2563eb;color:#fff;text-decoration:none;padding:10px 22px;border-radius:6px;">جزئیات رویداد</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align="center" style="padding:14px 20px;color:#6b7280;font-family:Tahoma,Arial,sans-serif;font-size:12px;">© {% now 'Y' %} انجمن علمی</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body></html>
|
||||
65
templates/emails/event_invite_non_registered.html
Normal file
65
templates/emails/event_invite_non_registered.html
Normal file
@@ -0,0 +1,65 @@
|
||||
{% load jalali %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<body style="margin:0;padding:0;background:#f9fafb;font-family:Tahoma,Arial,sans-serif;color:#111827;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="max-width:600px;background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;">
|
||||
<tr>
|
||||
<td style="background:#4f46e5;color:#ffffff;padding:20px 24px;border-radius:8px 8px 0 0;text-align:center;">
|
||||
<h1 style="margin:0;font-size:18px;line-height:26px;">انجمن علمی مهندسی کامپیوتر</h1>
|
||||
<p style="margin:6px 0 0 0;font-size:13px;opacity:.9;">دعوت به شرکت در رویداد</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="padding:24px;">
|
||||
<h2 style="margin:0 0 12px 0;font-size:16px;">سلام {{ user.get_full_name|default:user.username }} عزیز،</h2>
|
||||
<p style="margin:0 0 12px 0;font-size:14px;line-height:1.8;">
|
||||
شما هنوز در رویداد <strong>«{{ event.title }}»</strong> ثبتنام نکردهاید. اگر علاقهمند هستید، قبل از پایان مهلت ثبتنام میتوانید از لینک زیر اقدام کنید.
|
||||
</p>
|
||||
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="margin:16px 0 10px 0;">
|
||||
<tr>
|
||||
<td style="padding:6px 0;font-size:13px;color:#6b7280;">تاریخ:</td>
|
||||
<td style="padding:6px 0;font-size:13px;color:#111827;">{{ event.start_time|jdate:"%Y/%m/%d %H:%M"|fa_digits }}</td>
|
||||
</tr>
|
||||
{% if event.location %}
|
||||
<tr>
|
||||
<td style="padding:6px 0;font-size:13px;color:#6b7280;">مکان:</td>
|
||||
<td style="padding:6px 0;font-size:13px;color:#111827;">{% if event.address %}{{ event.address }}{% else %}{{ event.event_type_display }}{% endif %}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
<div style="text-align:center;margin:20px 0;">
|
||||
<a href="{{ event_url }}" style="display:inline-block;background:#4f46e5;color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-size:14px;">مشاهده و ثبتنام در رویداد</a>
|
||||
</div>
|
||||
|
||||
<p style="margin:0;font-size:13px;color:#6b7280;">
|
||||
اگر لینک بالا باز نشد، این آدرس را در مرورگر باز کنید:
|
||||
</p>
|
||||
<p style="margin:6px 0 0 0;font-size:12px;direction:ltr;background:#f3f4f6;padding:8px;border-radius:6px;word-break:break-all;">
|
||||
{{ event_url }}
|
||||
</p>
|
||||
|
||||
<p style="margin:16px 0 0 0;font-size:13px;line-height:1.8;">
|
||||
با احترام<br/>تیم انجمن علمی مهندسی کامپیوتر
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="center" style="padding:16px;border-top:1px solid #e5e7eb;">
|
||||
<p style="margin:0;font-size:12px;color:#6b7280;">این ایمیل بهصورت خودکار ارسال شده است.</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
11
templates/emails/event_invite_non_registered.txt
Normal file
11
templates/emails/event_invite_non_registered.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
{{ user.get_full_name|default:user.username }} عزیز،
|
||||
|
||||
شما هنوز در رویداد «{{ event.title }}» ثبتنام نکردهاید.
|
||||
تاریخ برگزاری: {{ start_time }}
|
||||
مکان: {% if event.address %}{{ event.address }}{% else %}{{ event.event_type_display }}{% endif %}
|
||||
|
||||
مشاهده و ثبتنام:
|
||||
{{ event_url }}
|
||||
|
||||
با احترام
|
||||
تیم انجمن علمی مهندسی کامپیوتر
|
||||
59
templates/emails/event_registration_cancellation.html
Normal file
59
templates/emails/event_registration_cancellation.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>لغو ثبتنام - انجمن علمی مهندسی کامپیوتر گیلان</title>
|
||||
<style>
|
||||
body { font-family: 'Vazir','Tahoma',Arial,sans-serif; line-height:1.6; color:#333; max-width:600px; margin:0 auto; padding:20px; direction:rtl; text-align:right; }
|
||||
.header { background-color:#4f46e5; color:#fff; padding:20px; text-align:center; border-radius:8px 8px 0 0; }
|
||||
.content { background-color:#f9fafb; padding:30px; border-radius:0 0 8px 8px; }
|
||||
a.button,.button { display:inline-block; background-color:#4f46e5; color:white; padding:12px 24px; text-decoration:none; border-radius:6px; margin:20px 0; }
|
||||
.footer { width:100%; text-align:center; margin-top:20px; font-size:14px; color:#6b7280; }
|
||||
@font-face { font-family:'Vazir'; src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Regular.woff2') format('woff2'); font-weight:normal; font-style:normal; font-display:swap; }
|
||||
@font-face { font-family:'Vazir'; src:url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Bold.woff2') format('woff2'); font-weight:bold; font-style:normal; font-display:swap; }
|
||||
.social-links { width:100%; display:flex; justify-content:center; gap:1rem; margin-top:15px; direction:ltr; }
|
||||
.social-links a { text-decoration:none; color:#6b7280; display:flex; align-items:center; gap:5px; flex-direction:row-reverse; }
|
||||
.social-links img { width:24px; height:24px; vertical-align:middle; }
|
||||
.muted { color:#6b7280; font-size:14px; }
|
||||
.card { background:white; border:1px solid #e5e7eb; border-radius:8px; padding:16px; margin-top:10px; }
|
||||
</style>
|
||||
</head>
|
||||
<body dir="rtl">
|
||||
<div class="header">
|
||||
<h1>انجمن علمی مهندسی کامپیوتر</h1>
|
||||
<p>لغو ثبتنام</p>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<h2>سلام {{ user.get_full_name|default:'دانشجوی' }} گرامی،</h2>
|
||||
<p>ثبتنام شما در <strong>{{ event.title }}</strong> لغو شد.</p>
|
||||
|
||||
{% if event.start_time %}
|
||||
<div class="card">
|
||||
<p><strong>زمان رویداد:</strong> {{ event.start_time|date:"Y-m-d H:i" }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<p class="muted">اگر این تغییر را شما انجام ندادهاید، لطفاً با پشتیبانی تماس بگیرید.</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>© {% now 'Y' %} انجمن علمی مهندسی کامپیوتر شرق گیلان. تمامی حقوق محفوظ است.</p>
|
||||
|
||||
<!-- ایموجی + لینک بدون تصویر -->
|
||||
<div style="text-align:center; margin-top:12px; direction:ltr;">
|
||||
<a href="https://instagram.com/guilance.ir" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
📷 Instagram
|
||||
</a>
|
||||
<a href="https://t.me/guilance" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
✈️ Telegram
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p style="margin-top:10px;">این ایمیل به صورت خودکار ارسال شده است. لطفاً به این پیام پاسخ ندهید.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
69
templates/emails/event_registration_confirmation.html
Normal file
69
templates/emails/event_registration_confirmation.html
Normal file
@@ -0,0 +1,69 @@
|
||||
{% load jalali %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<body style="margin:0;padding:0;background:#ffffff;">
|
||||
<table role="presentation" width="100%" style="border-collapse:collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="600" style="width:100%;max-width:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;">
|
||||
<tr>
|
||||
<td align="center" style="background:#4f46e5;color:#fff;padding:20px;">
|
||||
<h1 style="margin:0;font-family:Tahoma,Arial,sans-serif;font-size:18px;">تأیید ثبتنام شما</h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="background:#f9fafb;padding:22px 30px;text-align:right;">
|
||||
<p style="margin:0 0 10px 0;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;">
|
||||
{{ user.get_full_name|default:'کاربر' }} عزیز،
|
||||
</p>
|
||||
<p style="margin:0 0 14px 0;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;">
|
||||
ثبتنام شما در رویداد <strong style="color:#111827;">{{ event.title }}</strong> تأیید شد.
|
||||
</p>
|
||||
|
||||
<table role="presentation" style="width:100%;border-collapse:collapse;margin:10px 0;">
|
||||
<tr>
|
||||
<td style="padding:6px 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#6b7280;">تاریخ:</td>
|
||||
<td style="padding:6px 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#111827;">
|
||||
{{ event.start_time|jdate:"%Y/%m/%d %H:%M"|fa_digits }}
|
||||
-
|
||||
{{ event.end_time|jdate:"%Y/%m/%d %H:%M"|fa_digits }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding:6px 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#6b7280;">محل برگزاری:</td>
|
||||
<td style="padding:6px 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#111827;">{{ event.get_event_type_display }} | {{ event.address }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div style="text-align:center;margin:18px 0;">
|
||||
<a href="{{ event_url }}"
|
||||
style="display:inline-block;background:#4f46e5;color:#fff;text-decoration:none;padding:10px 22px;border-radius:6px;font-family:Tahoma,Arial,sans-serif;font-size:14px;">
|
||||
مشاهده جزئیات رویداد
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% if success_html %}
|
||||
<tr>
|
||||
<td style="background:#ffffff;padding:0 30px 24px;text-align:right;">
|
||||
<div style="border:1px solid #e5e7eb;border-radius:8px;padding:18px;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;line-height:1.6;">
|
||||
{{ success_html|safe }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<td align="center" style="padding:16px 20px;color:#6b7280;font-family:Tahoma,Arial,sans-serif;font-size:12px;">
|
||||
<div>© {% now 'Y' %} انجمن علمی مهندسی کامپیوتر شرق گیلان</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
25
templates/emails/event_reminder.html
Normal file
25
templates/emails/event_reminder.html
Normal file
@@ -0,0 +1,25 @@
|
||||
{% load jalali %}
|
||||
<!DOCTYPE html><html lang="fa" dir="rtl"><body style="margin:0;padding:0;background:#ffffff;">
|
||||
<table role="presentation" width="100%" style="border-collapse:collapse;">
|
||||
<tr><td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="600" style="width:100%;max-width:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;">
|
||||
<tr><td align="center" style="background:#111827;color:#fff;padding:18px;font-family:Tahoma,Arial,sans-serif;font-size:16px;">یادآوری رویداد</td></tr>
|
||||
<tr>
|
||||
<td style="background:#f9fafb;padding:22px 30px;text-align:right;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;">
|
||||
<p style="margin:0 0 10px 0;">{{ user.get_full_name|default:'کاربر' }} عزیز، این یک یادآوری برای رویداد <strong style="color:#111827;">{{ event.title }}</strong> است.</p>
|
||||
<table role="presentation" style="width:100%;border-collapse:collapse;margin:6px 0;">
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">تاریخ</td>
|
||||
<td style="padding:6px 0;color:#111827;">{{ event.start_time|jdate:"%Y/%m/%d %H:%M"|fa_digits }}</td></tr>
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">محل برگزاری</td>
|
||||
<td style="padding:6px 0;color:#111827;">{{ event.get_event_type_display }}{% if event.address %} | {{ event.address }}{% endif %}</td></tr>
|
||||
</table>
|
||||
<div style="text-align:center;margin:16px 0;">
|
||||
<a href="{{ event_url }}" style="display:inline-block;background:#111827;color:#fff;text-decoration:none;padding:10px 22px;border-radius:6px;">مشاهده رویداد</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align="center" style="padding:14px 20px;color:#6b7280;font-family:Tahoma,Arial,sans-serif;font-size:12px;">© {% now 'Y' %} انجمن علمی</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body></html>
|
||||
108
templates/emails/newsletter_confirmation.html
Normal file
108
templates/emails/newsletter_confirmation.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>تأیید اشتراک خبرنامه</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Tahoma', 'Arial', sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background-color: #f4f4f4;
|
||||
direction: rtl;
|
||||
}
|
||||
.container {
|
||||
background-color: white;
|
||||
padding: 30px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
.header {
|
||||
text-align: center;
|
||||
border-bottom: 3px solid #168085;
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.logo {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
color: #168085;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.confirm-button {
|
||||
display: inline-block;
|
||||
background-color: #168085;
|
||||
color: white;
|
||||
padding: 15px 30px;
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
font-weight: bold;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.confirm-button:hover {
|
||||
background-color: #0f5d61;
|
||||
}
|
||||
.footer {
|
||||
margin-top: 30px;
|
||||
padding-top: 20px;
|
||||
border-top: 1px solid #eee;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
}
|
||||
.social-links {
|
||||
margin: 20px 0;
|
||||
}
|
||||
.social-links a {
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
color: #168085;
|
||||
text-decoration: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<div class="logo">انجمن علوم کامپیوتر</div>
|
||||
<p>انجمن علوم کامپیوتر</p>
|
||||
</div>
|
||||
|
||||
<h1>به خبرنامه ما خوش آمدید!</h1>
|
||||
|
||||
<p>سلام،</p>
|
||||
|
||||
<p>از اشتراک شما در خبرنامه انجمن علوم کامپیوتر متشکریم. برای تکمیل فرآیند اشتراک، لطفاً آدرس ایمیل خود را با کلیک روی دکمه زیر تأیید کنید:</p>
|
||||
|
||||
<div style="text-align: center;">
|
||||
<a href="{{ confirmation_url }}" class="confirm-button">تأیید اشتراک</a>
|
||||
</div>
|
||||
|
||||
<p>اگر دکمه کار نمیکند، میتوانید این لینک را کپی کرده و در مرورگر خود باز کنید:</p>
|
||||
<p style="word-break: break-all; color: #168085;">{{ confirmation_url }}</p>
|
||||
|
||||
<p>پس از تأیید، شما دریافت خواهید کرد:</p>
|
||||
<ul>
|
||||
<li>📢 اطلاعیههای مهم</li>
|
||||
<li>🎓 اخبار آکادمیک</li>
|
||||
<li>🎉 اطلاعرسانی رویدادها</li>
|
||||
<li>💡 بینشهای فناوری و فرصتها</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>توجه:</strong> این لینک تأیید به دلایل امنیتی ظرف ۲۴ ساعت منقضی خواهد شد.</p>
|
||||
|
||||
<div class="footer">
|
||||
<p><strong>انجمن علوم کامپیوتر</strong></p>
|
||||
<div class="social-links">
|
||||
<a href="https://www.instagram.com/your_association_instagram">📷 اینستاگرام</a>
|
||||
<a href="https://t.me/your_association_telegram">📱 تلگرام</a>
|
||||
</div>
|
||||
<p>اگر شما در این خبرنامه ثبتنام نکردهاید، لطفاً این ایمیل را نادیده بگیرید.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
132
templates/emails/password_reset_email.html
Normal file
132
templates/emails/password_reset_email.html
Normal file
@@ -0,0 +1,132 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>بازنشانی رمز عبور - انجمن علمی مهندسی کامپیوتر گیلان</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Vazir', 'Tahoma', Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
direction: rtl; /* Ensure RTL for the entire body */
|
||||
text-align: right; /* Align text to the right */
|
||||
}
|
||||
.header {
|
||||
background-color: #dc2626; /* Red color for password reset */
|
||||
color: white;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
.content {
|
||||
background-color: #f9fafb;
|
||||
padding: 30px;
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
.button {
|
||||
display: inline-block;
|
||||
background-color: #dc2626;
|
||||
color: white;
|
||||
padding: 12px 24px;
|
||||
text-decoration: none;
|
||||
border-radius: 6px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.footer {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
font-size: 14px;
|
||||
color: #6b7280;
|
||||
}
|
||||
/* For elements that should remain LTR, like URLs */
|
||||
.ltr {
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
}
|
||||
/* Vazir font import for email clients that support it */
|
||||
@font-face {
|
||||
font-family: 'Vazir';
|
||||
src: url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Regular.woff2') format('woff2');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Vazir';
|
||||
src: url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Bold.woff2') format('woff2');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
.social-links {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 1rem;
|
||||
margin-top: 15px;
|
||||
direction: ltr; /* Force LTR for social icons/text */
|
||||
}
|
||||
.social-links a {
|
||||
text-decoration: none;
|
||||
color: #6b7280;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
flex-direction: row-reverse; /* Reverse order for RTL text with LTR icons */
|
||||
}
|
||||
.social-links img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body dir="rtl">
|
||||
<div class="header">
|
||||
<h1>انجمن علمی مهندسی کامپیوتر</h1>
|
||||
<p>درخواست بازنشانی رمز عبور</p>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<h2>سلام {{ user.get_full_name|default:'' }}!</h2>
|
||||
|
||||
<p>ما درخواستی برای بازنشانی رمز عبور حساب کاربری شما دریافت کردیم. اگر شما این درخواست را دادهاید، روی دکمه زیر کلیک کنید تا رمز عبور خود را بازنشانی کنید:</p>
|
||||
|
||||
<div style="text-align: center;">
|
||||
<a href="{{ reset_url }}" class="button">بازنشانی رمز عبور</a>
|
||||
</div>
|
||||
|
||||
<p>اگر دکمه کار نمیکند، میتوانید این لینک را کپی کرده و در مرورگر خود قرار دهید:</p>
|
||||
<p class="ltr" style="word-break: break-all; background-color: #e5e7eb; padding: 10px; border-radius: 4px;">{{ reset_url }}</p>
|
||||
|
||||
<p>این لینک بازنشانی رمز عبور به دلایل امنیتی پس از ۱ ساعت منقضی خواهد شد.</p>
|
||||
|
||||
<p><strong>اگر شما درخواست بازنشانی رمز عبور ندادهاید، لطفاً این ایمیل را نادیده بگیرید.</strong> رمز عبور شما بدون تغییر باقی خواهد ماند.</p>
|
||||
|
||||
<p>با احترام،<br>انجمن علمی مهندسی کامپیوتر دانشکده فنی و مهندسی شرق گیلان</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>© {% now 'Y' %} انجمن علمی مهندسی کامپیوتر شرق گیلان. تمامی حقوق محفوظ است.</p>
|
||||
|
||||
<!-- ایموجی + لینک بدون تصویر -->
|
||||
<div style="text-align:center; margin-top:12px; direction:ltr;">
|
||||
<a href="https://instagram.com/guilance.ir" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
📷 Instagram
|
||||
</a>
|
||||
<a href="https://t.me/guilance" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
✈️ Telegram
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p style="margin-top:10px;">این ایمیل به صورت خودکار ارسال شده است. لطفاً به این پیام پاسخ ندهید.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
32
templates/emails/skyroom_credentials.html
Normal file
32
templates/emails/skyroom_credentials.html
Normal file
@@ -0,0 +1,32 @@
|
||||
{% load jalali %}
|
||||
<!DOCTYPE html><html lang="fa" dir="rtl"><body style="margin:0;padding:0;background:#ffffff;">
|
||||
<table role="presentation" width="100%" style="border-collapse:collapse;">
|
||||
<tr><td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="600" style="width:100%;max-width:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;">
|
||||
<tr>
|
||||
<td align="center" style="background:#4f46e5;color:#fff;padding:18px;font-family:Tahoma,Arial,sans-serif;font-size:16px;">اطلاعات ورود اسکایروم</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="background:#f9fafb;padding:22px 30px;text-align:right;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;">
|
||||
<p style="margin:0 0 10px 0;">{{ user.get_full_name|default:'کاربر' }} عزیز،</p>
|
||||
<p style="margin:0 0 10px 0;">برای شرکت در رویداد <strong style="color:#111827;">{{ event.title }}</strong> از اطلاعات زیر استفاده کنید:</p>
|
||||
<table role="presentation" style="width:100%;border-collapse:collapse;margin:6px 0;">
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">تاریخ</td>
|
||||
<td style="padding:6px 0;color:#111827;">{{ event.start_time|jdate:"%Y/%m/%d %H:%M"|fa_digits }}</td></tr>
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">لینک</td>
|
||||
<td style="padding:6px 0;"><a href="{{ skyroom_url }}" style="color:#4f46e5;text-decoration:none;">ورود به اسکایروم</a></td></tr>
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">نام کاربری</td>
|
||||
<td style="padding:6px 0;color:#111827;direction:ltr;text-align:left;">{{ sky_username }}</td></tr>
|
||||
<tr><td style="padding:6px 0;color:#6b7280;">رمز عبور</td>
|
||||
<td style="padding:6px 0;color:#111827;direction:ltr;text-align:left;">{{ sky_password }}</td></tr>
|
||||
</table>
|
||||
<div style="text-align:center;margin:16px 0;">
|
||||
<a href="{{ event_url }}" style="display:inline-block;background:#4f46e5;color:#fff;text-decoration:none;padding:10px 22px;border-radius:6px;">جزئیات رویداد</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align="center" style="padding:14px 20px;color:#6b7280;font-family:Tahoma,Arial,sans-serif;font-size:12px;">© {% now 'Y' %} انجمن علمی</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body></html>
|
||||
61
templates/emails/verification_email.html
Normal file
61
templates/emails/verification_email.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<body style="margin:0;padding:0;background:#ffffff;">
|
||||
<table role="presentation" width="100%" style="border-collapse:collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding:20px;">
|
||||
<table role="presentation" width="600" style="width:100%;max-width:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;">
|
||||
<tr>
|
||||
<td align="center" style="background:#4f46e5;color:#fff;padding:20px;">
|
||||
<h1 style="margin:0 0 6px 0;font-family:Tahoma,Arial,sans-serif;font-size:20px;line-height:1.4;">انجمن علمی مهندسی کامپیوتر</h1>
|
||||
<p style="margin:0;font-family:Tahoma,Arial,sans-serif;font-size:14px;opacity:.95;">به جامعه ما خوش آمدید!</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="background:#f9fafb;padding:24px 30px;text-align:right;">
|
||||
<h2 style="margin:0 0 10px 0;font-family:Tahoma,Arial,sans-serif;font-size:18px;color:#111827;">سلام {{ user.get_full_name|default:'دانشجوی' }} گرامی،</h2>
|
||||
<p style="margin:0 0 16px 0;font-family:Tahoma,Arial,sans-serif;font-size:14px;color:#374151;line-height:1.8;">
|
||||
از ثبتنام شما متشکریم. برای تکمیل ثبتنام و فعالسازی حساب کاربری، لطفاً روی دکمه زیر کلیک کنید:
|
||||
</p>
|
||||
|
||||
<div style="text-align:center;margin:18px 0;">
|
||||
<a href="{{ verification_url }}"
|
||||
style="display:inline-block;background:#4f46e5;color:#fff;text-decoration:none;padding:12px 24px;border-radius:6px;font-family:Tahoma,Arial,sans-serif;font-size:14px;">
|
||||
تأیید آدرس ایمیل
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p style="margin:0 0 6px 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#6b7280;">
|
||||
اگر دکمه کار نمیکند، این لینک را در مرورگر خود باز کنید:
|
||||
</p>
|
||||
<p style="direction:ltr;text-align:left;word-break:break-all;background:#e5e7eb;padding:10px;border-radius:4px;margin:0;font-family:Tahoma,Arial,sans-serif;font-size:12px;color:#111827;">
|
||||
{{ verification_url }}
|
||||
</p>
|
||||
|
||||
<p style="margin:14px 0 0 0;font-family:Tahoma,Arial,sans-serif;font-size:12px;color:#6b7280;">
|
||||
این لینک تا ۲۴ ساعت معتبر است.
|
||||
</p>
|
||||
|
||||
<p style="margin:14px 0 0 0;font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#374151;">
|
||||
با احترام<br/>انجمن علمی مهندسی کامپیوتر دانشکده فنی و مهندسی شرق گیلان
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="center" style="padding:16px 20px;color:#6b7280;font-family:Tahoma,Arial,sans-serif;font-size:12px;">
|
||||
<div style="margin-bottom:10px;">© {% now 'Y' %} انجمن علمی مهندسی کامپیوتر شرق گیلان</div>
|
||||
<div style="direction:ltr;margin-top:4px;">
|
||||
<a href="https://instagram.com/guilance.ir" target="_blank" style="text-decoration:none;color:#6b7280;margin:0 8px;font-size:13px;">📷 Instagram</a>
|
||||
<a href="https://t.me/guilance" target="_blank" style="text-decoration:none;color:#6b7280;margin:0 8px;font-size:13px;">✈️ Telegram</a>
|
||||
</div>
|
||||
<div style="margin-top:10px;">این ایمیل بهصورت خودکار ارسال شده است؛ لطفاً پاسخ ندهید.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
106
templates/emails/verification_success.html
Normal file
106
templates/emails/verification_success.html
Normal file
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
||||
<title>تأیید ایمیل با موفقیت انجام شد</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Vazir', 'Tahoma', Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
background: #ffffff;
|
||||
}
|
||||
.header {
|
||||
background-color: #059669; /* سبز (موفقیت) */
|
||||
color: white;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
.content {
|
||||
background-color: #f9fafb;
|
||||
padding: 30px;
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
a.button, .button {
|
||||
display: inline-block;
|
||||
background-color: #059669;
|
||||
color: white !important;
|
||||
padding: 12px 24px;
|
||||
text-decoration: none;
|
||||
border-radius: 6px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.footer {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
font-size: 14px;
|
||||
color: #6b7280;
|
||||
}
|
||||
.ltr { direction: ltr; text-align: left; }
|
||||
@font-face {
|
||||
font-family: 'Vazir';
|
||||
src: url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Regular.woff2') format('woff2');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Vazir';
|
||||
src: url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/Vazir-Bold.woff2') format('woff2');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body dir="rtl">
|
||||
<div class="header">
|
||||
<h1>ایمیل شما با موفقیت تأیید شد</h1>
|
||||
<p>به جمع ما خوش آمدید!</p>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<h2>سلام {{ user.get_full_name|default:'کاربر' }} عزیز،</h2>
|
||||
<p>
|
||||
آدرس ایمیل شما با موفقیت تأیید شد و حساب کاربریتان فعال است.
|
||||
از این پس میتوانید بدون محدودیت از امکانات سامانه استفاده کنید.
|
||||
</p>
|
||||
|
||||
<div style="text-align:center;">
|
||||
<a href="{{ home_url }}" class="button">ورود به سایت</a>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 12px;">
|
||||
اگر شما این اقدام را انجام ندادهاید، لطفاً این ایمیل را نادیده بگیرید.
|
||||
</p>
|
||||
|
||||
<p>با احترام<br/>انجمن علمی مهندسی کامپیوتر دانشکده فنی و مهندسی شرق گیلان</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>© {% now 'Y' %} انجمن علمی مهندسی کامپیوتر شرق گیلان. تمامی حقوق محفوظ است.</p>
|
||||
|
||||
<!-- ایموجی + لینک بدون تصویر -->
|
||||
<div style="text-align:center; margin-top:12px; direction:ltr;">
|
||||
<a href="https://instagram.com/guilance.ir" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
📷 Instagram
|
||||
</a>
|
||||
<a href="https://t.me/guilance" target="_blank"
|
||||
style="text-decoration:none; color:#6b7280; margin:0 8px; font-size:14px;">
|
||||
✈️ Telegram
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p style="margin-top:10px;">این ایمیل به صورت خودکار ارسال شده است. لطفاً به این پیام پاسخ ندهید.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
26
templates/forms/admin_announcement.html
Normal file
26
templates/forms/admin_announcement.html
Normal file
@@ -0,0 +1,26 @@
|
||||
{% extends "admin/base_site.html" %}
|
||||
{% load i18n admin_urls unfold %}
|
||||
|
||||
{% block extrahead %}
|
||||
{{ block.super }}
|
||||
<script src="{% url 'admin:jsi18n' %}"></script>
|
||||
{{ form.media }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form action="" method="post" novalidate>
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="aligned border border-base-200 mb-8 rounded-default pt-3 px-3 shadow-sm dark:border-base-800">
|
||||
{% for field in form %}
|
||||
{% include "unfold/helpers/field.html" with field=field %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end gap-2">
|
||||
{% component "unfold/components/button.html" with submit=1 %}
|
||||
{% trans "Submit form" %}
|
||||
{% endcomponent %}
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user