django-codenerix-email 4.0.20__tar.gz → 4.0.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django-codenerix-email-4.0.20/django_codenerix_email.egg-info → django-codenerix-email-4.0.21}/PKG-INFO +1 -1
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/__init__.py +1 -1
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/forms.py +3 -0
- django-codenerix-email-4.0.21/codenerix_email/migrations/0013_emailmessage_headers.py +18 -0
- django-codenerix-email-4.0.21/codenerix_email/migrations/__pycache__/0013_emailmessage_headers.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/models.py +28 -16
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/static/codenerix_email/partials/emailmessages_rows.html +7 -9
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21/django_codenerix_email.egg-info}/PKG-INFO +1 -1
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/SOURCES.txt +2 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/LICENSE +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/MANIFEST.in +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/README.rst +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/admin.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/apps.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/__init__.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/__pycache__/__init__.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__init__.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/__pycache__/send_emails.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/send_emails.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/management/commands/test_email.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0001_initial.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0002_auto_20170502_1043.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0003_auto_20170921_1206.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0004_auto_20171108_1628.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0005_emailmessage_retries.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0006_emailmessage_error.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0007_emailmessage_next_retry.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0008_auto_20171201_0928.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0009_emailmessage_opened_emailmessage_uuid.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0010_emailmessage_content_subtype_and_more.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0011_alter_emailmessage_content_subtype_and_more.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/0012_emailmessage_unsubscribe_url.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__init__.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0001_initial.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0002_auto_20170502_1043.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0003_auto_20170921_1206.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0004_auto_20171108_1628.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0005_emailmessage_retries.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0006_emailmessage_error.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0007_emailmessage_next_retry.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0008_auto_20171201_0928.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0009_delete_emailtemplatetexten.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0009_emailmessage_opened_emailmessage_uuid.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0010_emailmessage_content_subtype_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0010_emailmessage_opened_emailmessage_uuid_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0011_alter_emailmessage_content_subtype_and_more.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/0012_emailmessage_unsubscribe_url.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/urls.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/urls_frontend.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/views.py +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/dependency_links.txt +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/not-zip-safe +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/requires.txt +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/django_codenerix_email.egg-info/top_level.txt +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/setup.cfg +0 -0
- {django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-codenerix-email
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.21
|
|
4
4
|
Summary: Codenerix Email is a module that enables CODENERIX to set send emails in a general manner.
|
|
5
5
|
Home-page: https://github.com/codenerix/django-codenerix-email
|
|
6
6
|
Author: Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>, Juan Soler Ruiz <soleronline@gmail.com>
|
|
@@ -96,6 +96,7 @@ class EmailMessageForm(GenModelForm):
|
|
|
96
96
|
["eto", 3],
|
|
97
97
|
["subject", 3],
|
|
98
98
|
["opened", 3],
|
|
99
|
+
["content_subtype", 3],
|
|
99
100
|
),
|
|
100
101
|
(
|
|
101
102
|
_("System"),
|
|
@@ -106,6 +107,8 @@ class EmailMessageForm(GenModelForm):
|
|
|
106
107
|
["retries", 3],
|
|
107
108
|
["priority", 3],
|
|
108
109
|
["log", 3],
|
|
110
|
+
["unsubscribe_url", 3],
|
|
111
|
+
["headers", 3],
|
|
109
112
|
),
|
|
110
113
|
(
|
|
111
114
|
_("Body"),
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.1.2 on 2024-10-15 06:20
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("codenerix_email", "0012_emailmessage_unsubscribe_url"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name="emailmessage",
|
|
15
|
+
name="headers",
|
|
16
|
+
field=models.JSONField(blank=True, null=True, verbose_name="Headers"),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
Binary file
|
|
@@ -49,6 +49,12 @@ CONTENT_SUBTYPES = (
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
def ensure_header(headers, key, value):
|
|
53
|
+
if key not in headers:
|
|
54
|
+
headers[key] = value
|
|
55
|
+
return headers
|
|
56
|
+
|
|
57
|
+
|
|
52
58
|
class EmailMessage(CodenerixModel, Debugger):
|
|
53
59
|
uuid = models.UUIDField(
|
|
54
60
|
_("UUID"),
|
|
@@ -95,6 +101,7 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
95
101
|
unsubscribe_url = models.URLField(
|
|
96
102
|
_("Unsubscribe URL"), blank=True, null=True
|
|
97
103
|
)
|
|
104
|
+
headers = models.JSONField(_("Headers"), blank=True, null=True)
|
|
98
105
|
|
|
99
106
|
def __fields__(self, info):
|
|
100
107
|
fields = []
|
|
@@ -111,9 +118,9 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
111
118
|
fields.append(("retries", _("Retries")))
|
|
112
119
|
fields.append(("next_retry", _("Next retry")))
|
|
113
120
|
fields.append(("pk", _("ID")))
|
|
114
|
-
fields.append(("content_subtype", _("Content Subtype")))
|
|
115
121
|
fields.append(("uuid", _("UUID")))
|
|
116
|
-
fields.append(("unsubscribe_url", _("Unsubscribe
|
|
122
|
+
fields.append(("unsubscribe_url", _("Unsubscribe")))
|
|
123
|
+
fields.append(("content_subtype", _("Content Subtype")))
|
|
117
124
|
return fields
|
|
118
125
|
|
|
119
126
|
def __searchQ__(self, info, search): # noqa: N802
|
|
@@ -160,31 +167,36 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
160
167
|
"eto": (_("To"), lambda x: Q(eto__icontains=x), "input"),
|
|
161
168
|
"retries": (_("Retries"), lambda x: Q(retries=x), "input"),
|
|
162
169
|
"pk": (_("ID"), lambda x: Q(pk=x), "input"),
|
|
163
|
-
"unsubscribe_url": (
|
|
164
|
-
_("Unsubscribe URL"),
|
|
165
|
-
lambda x: Q(unsubscribe_url__icontains=x),
|
|
166
|
-
"input",
|
|
167
|
-
),
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
def __unicode__(self):
|
|
171
173
|
return "{} ({})".format(self.eto, self.pk)
|
|
172
174
|
|
|
175
|
+
def clean(self):
|
|
176
|
+
if not isinstance(self.headers, dict):
|
|
177
|
+
raise ValidationError(_("HEADERS must be a Dictionary"))
|
|
178
|
+
|
|
173
179
|
def set_opened(self):
|
|
174
180
|
if not self.opened:
|
|
175
181
|
self.opened = timezone.now()
|
|
176
182
|
self.save()
|
|
177
183
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
184
|
+
def get_headers(self):
|
|
185
|
+
|
|
186
|
+
# Get headers
|
|
187
|
+
headers = self.headers or {}
|
|
188
|
+
|
|
189
|
+
# Ensure unsubscribe headers
|
|
181
190
|
if self.unsubscribe_url:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
191
|
+
ensure_header(
|
|
192
|
+
headers, "List-Unsubscribe", f"<{self.unsubscribe_url}>"
|
|
193
|
+
)
|
|
194
|
+
ensure_header(
|
|
195
|
+
headers, "List-Unsubscribe-Post", "List-Unsubscribe=One-Click"
|
|
196
|
+
)
|
|
187
197
|
|
|
198
|
+
# Return headers
|
|
199
|
+
return headers
|
|
188
200
|
|
|
189
201
|
@classmethod
|
|
190
202
|
def process_queue(
|
|
@@ -370,7 +382,7 @@ class EmailMessage(CodenerixModel, Debugger):
|
|
|
370
382
|
from_email=self.efrom,
|
|
371
383
|
to=[self.eto],
|
|
372
384
|
connection=connection,
|
|
373
|
-
headers
|
|
385
|
+
headers=self.get_headers(),
|
|
374
386
|
)
|
|
375
387
|
email.content_subtype = self.content_subtype
|
|
376
388
|
for at in self.attachments.all():
|
|
@@ -17,7 +17,13 @@
|
|
|
17
17
|
<td><center>{{row.retries|codenerix}}</center></td>
|
|
18
18
|
<td class="text-nowrap">{{row.next_retry|codenerix}}</td>
|
|
19
19
|
<td><center>{{row.pk|codenerix}}</center></td>
|
|
20
|
-
<td>
|
|
20
|
+
<td ng-click="$event.stopPropagation();" align="center">
|
|
21
|
+
<nobr><i title="{{row.uuid}}" codenerix-html-compile="row.uuid|codenerix:'copytoclipboard:UUID:UUID copiado al portapapales...'"></i></nobr>
|
|
22
|
+
</td>
|
|
23
|
+
<td ng-click="$event.stopPropagation();" align="center">
|
|
24
|
+
<i codenerix-html-compile="row.unsubscribe_url|codenerix:'link:blank:onlyicon'"></i>
|
|
25
|
+
</td>
|
|
26
|
+
<td ng-click="$event.stopPropagation();">
|
|
21
27
|
<center>
|
|
22
28
|
<button class="btn" title="{{row.content_subtype|codenerix}}">
|
|
23
29
|
<i ng-show="row.content_subtype=='plain'" class="fa fa-file-text-o" aria-hidden="true"></i>
|
|
@@ -26,11 +32,3 @@
|
|
|
26
32
|
</button>
|
|
27
33
|
</center>
|
|
28
34
|
</td>
|
|
29
|
-
<td ng-click="$event.stopPropagation();" align="center">
|
|
30
|
-
<span codenerix-html-compile="row.uuid|codenerix:'copytoclipboard:UUID:UUID copiado al portapapales...':codenerix_inner_element">
|
|
31
|
-
<span class="fa fa-barcode"></span>
|
|
32
|
-
</span>
|
|
33
|
-
</td>
|
|
34
|
-
<td ng-click="$event.stopPropagation();" align="center">
|
|
35
|
-
<span codenerix-html-compile="row.unsubscribe_url|codenerix:'link:blank:onlyicon'">
|
|
36
|
-
</td>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-codenerix-email
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.21
|
|
4
4
|
Summary: Codenerix Email is a module that enables CODENERIX to set send emails in a general manner.
|
|
5
5
|
Home-page: https://github.com/codenerix/django-codenerix-email
|
|
6
6
|
Author: Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>, Juan Soler Ruiz <soleronline@gmail.com>
|
|
@@ -32,6 +32,7 @@ codenerix_email/migrations/0009_emailmessage_opened_emailmessage_uuid.py
|
|
|
32
32
|
codenerix_email/migrations/0010_emailmessage_content_subtype_and_more.py
|
|
33
33
|
codenerix_email/migrations/0011_alter_emailmessage_content_subtype_and_more.py
|
|
34
34
|
codenerix_email/migrations/0012_emailmessage_unsubscribe_url.py
|
|
35
|
+
codenerix_email/migrations/0013_emailmessage_headers.py
|
|
35
36
|
codenerix_email/migrations/__init__.py
|
|
36
37
|
codenerix_email/migrations/__pycache__/0001_initial.cpython-310.pyc
|
|
37
38
|
codenerix_email/migrations/__pycache__/0001_initial.cpython-311.pyc
|
|
@@ -71,6 +72,7 @@ codenerix_email/migrations/__pycache__/0010_emailmessage_content_subtype_and_mor
|
|
|
71
72
|
codenerix_email/migrations/__pycache__/0010_emailmessage_opened_emailmessage_uuid_and_more.cpython-311.pyc
|
|
72
73
|
codenerix_email/migrations/__pycache__/0011_alter_emailmessage_content_subtype_and_more.cpython-311.pyc
|
|
73
74
|
codenerix_email/migrations/__pycache__/0012_emailmessage_unsubscribe_url.cpython-311.pyc
|
|
75
|
+
codenerix_email/migrations/__pycache__/0013_emailmessage_headers.cpython-311.pyc
|
|
74
76
|
codenerix_email/migrations/__pycache__/__init__.cpython-310.pyc
|
|
75
77
|
codenerix_email/migrations/__pycache__/__init__.cpython-311.pyc
|
|
76
78
|
codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-codenerix-email-4.0.20 → django-codenerix-email-4.0.21}/codenerix_email/urls_frontend.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|