wagtail-newsletter-django-backend 0.2.1__py3-none-any.whl → 0.3.1__py3-none-any.whl
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.
- wagtail_newsletter_django_backend/__init__.py +1 -1
- wagtail_newsletter_django_backend/migrations/0002_alter_audience_name_alter_audiencesegment_name_and_more.py +35 -0
- wagtail_newsletter_django_backend/models.py +4 -4
- wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/manage.html +2 -5
- wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/manage_tag.html +5 -0
- wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe.html +2 -11
- wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe_tag.html +11 -0
- wagtail_newsletter_django_backend/templatetags/__init__.py +0 -0
- wagtail_newsletter_django_backend/templatetags/wagtail_newsletter_django_backend_tags.py +17 -0
- {wagtail_newsletter_django_backend-0.2.1.dist-info → wagtail_newsletter_django_backend-0.3.1.dist-info}/METADATA +1 -1
- {wagtail_newsletter_django_backend-0.2.1.dist-info → wagtail_newsletter_django_backend-0.3.1.dist-info}/RECORD +13 -8
- {wagtail_newsletter_django_backend-0.2.1.dist-info → wagtail_newsletter_django_backend-0.3.1.dist-info}/WHEEL +0 -0
- {wagtail_newsletter_django_backend-0.2.1.dist-info → wagtail_newsletter_django_backend-0.3.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Generated by Django 5.2.5 on 2025-09-02 15:46
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("wagtail_newsletter_django_backend", "0001_initial"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="audience",
|
|
15
|
+
name="name",
|
|
16
|
+
field=models.CharField(max_length=64),
|
|
17
|
+
),
|
|
18
|
+
migrations.AlterField(
|
|
19
|
+
model_name="audiencesegment",
|
|
20
|
+
name="name",
|
|
21
|
+
field=models.CharField(max_length=64, unique=True),
|
|
22
|
+
),
|
|
23
|
+
migrations.AlterField(
|
|
24
|
+
model_name="subscriber",
|
|
25
|
+
name="email_address",
|
|
26
|
+
field=models.EmailField(max_length=254, verbose_name="Email Address"),
|
|
27
|
+
),
|
|
28
|
+
migrations.AlterField(
|
|
29
|
+
model_name="subscriber",
|
|
30
|
+
name="email_name",
|
|
31
|
+
field=models.CharField(
|
|
32
|
+
blank=True, default=None, max_length=256, null=True, verbose_name="Name"
|
|
33
|
+
),
|
|
34
|
+
),
|
|
35
|
+
]
|
|
@@ -54,7 +54,7 @@ class Audience(models.Model):
|
|
|
54
54
|
subscriber_set: 'RelatedManager[Subscriber]' # pyright: ignore[reportUninitializedInstanceVariable]
|
|
55
55
|
|
|
56
56
|
site: 'models.ForeignKey[Site]' = models.ForeignKey(Site, blank=False, null=False, on_delete=models.CASCADE)
|
|
57
|
-
name: 'models.
|
|
57
|
+
name: 'models.CharField[str]' = models.CharField(max_length=64, blank=False, null=False)
|
|
58
58
|
description: 'models.TextField[str]' = models.TextField(blank=True, null=False)
|
|
59
59
|
smtp_user: 'models.CharField[str | None]' = models.CharField(
|
|
60
60
|
max_length=256,
|
|
@@ -133,7 +133,7 @@ class AudienceSegment(models.Model):
|
|
|
133
133
|
id: int # pyright: ignore[reportUninitializedInstanceVariable]
|
|
134
134
|
|
|
135
135
|
audience: 'models.ForeignKey[Audience]' = models.ForeignKey(Audience, blank=False, null=False, on_delete=models.CASCADE, related_name='audience_segment_set', related_query_name='audience_segment')
|
|
136
|
-
name: 'models.
|
|
136
|
+
name: 'models.CharField[str]' = models.CharField(max_length=64, blank=False, null=False, unique=True)
|
|
137
137
|
description: 'models.TextField[str]' = models.TextField(blank=True, null=False)
|
|
138
138
|
subscribers: 'models.ManyToManyField[Subscriber, Subscription]' = models.ManyToManyField(
|
|
139
139
|
'Subscriber',
|
|
@@ -171,13 +171,13 @@ class Subscriber(models.Model):
|
|
|
171
171
|
unique=True,
|
|
172
172
|
)
|
|
173
173
|
audience: 'models.ForeignKey[Audience]' = models.ForeignKey(Audience, blank=False, null=False, on_delete=models.CASCADE)
|
|
174
|
-
email_address: 'models.EmailField[str]' = models.EmailField(blank=False, null=False)
|
|
174
|
+
email_address: 'models.EmailField[str]' = models.EmailField(verbose_name="Email Address", blank=False, null=False)
|
|
175
175
|
email_name: 'models.CharField[str | None]' = models.CharField(
|
|
176
|
+
verbose_name="Name",
|
|
176
177
|
max_length=256,
|
|
177
178
|
blank=True,
|
|
178
179
|
null=True,
|
|
179
180
|
default=None,
|
|
180
|
-
help_text='The display name portion of the email address.',
|
|
181
181
|
)
|
|
182
182
|
audience_segments: 'models.ManyToManyField[AudienceSegment, Subscription]' = models.ManyToManyField(
|
|
183
183
|
AudienceSegment,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
{% load wagtail_newsletter_django_backend_tags %}
|
|
1
2
|
<html>
|
|
2
3
|
<body>
|
|
3
4
|
{% if messages %}
|
|
@@ -7,10 +8,6 @@
|
|
|
7
8
|
</div>
|
|
8
9
|
{% endfor %}
|
|
9
10
|
{% endif %}
|
|
10
|
-
|
|
11
|
-
<form method="post">{% csrf_token %}
|
|
12
|
-
{{ form.as_p }}
|
|
13
|
-
<input type="submit" value="Save preferences">
|
|
14
|
-
</form>
|
|
11
|
+
{% subscriber_manage_form subscriber=form.instance %}
|
|
15
12
|
</body>
|
|
16
13
|
</html>
|
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe.html
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
{% load wagtail_newsletter_django_backend_tags %}
|
|
1
2
|
<html>
|
|
2
3
|
<body>
|
|
3
4
|
{% if messages %}
|
|
@@ -7,16 +8,6 @@
|
|
|
7
8
|
</div>
|
|
8
9
|
{% endfor %}
|
|
9
10
|
{% endif %}
|
|
10
|
-
{%
|
|
11
|
-
<p>Really unsubscribe for {{subscriber}}?</p>
|
|
12
|
-
<form method="post" action="{{ request.path }}">{% csrf_token %}
|
|
13
|
-
<input type="submit" value="Unsubscribe">
|
|
14
|
-
</form>
|
|
15
|
-
<p><a href="{% url 'wagtail_newsletter_django_backend:newsletter_subscriber_manage' key=subscriber.key %}">Manage my preferences instead</a></p>
|
|
16
|
-
<p><a href="/">Go back to the main site</a></p>
|
|
17
|
-
{% else %}
|
|
18
|
-
<p>This subscriber does not exist</p>
|
|
19
|
-
<p><a href="/">Go back to the main site</a></p>
|
|
20
|
-
{% endif %}
|
|
11
|
+
{% subscriber_unsubscribe_form subscriber=subscriber %}
|
|
21
12
|
</body>
|
|
22
13
|
</html>
|
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe_tag.html
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{% if subscriber %}
|
|
2
|
+
<p>Really unsubscribe for {{subscriber}}?</p>
|
|
3
|
+
<form method="post" action="{{ request.path }}">{% csrf_token %}
|
|
4
|
+
<input type="submit" value="Unsubscribe">
|
|
5
|
+
</form>
|
|
6
|
+
<p><a href="{% url 'wagtail_newsletter_django_backend:newsletter_subscriber_manage' key=subscriber.key %}">Manage my preferences instead</a></p>
|
|
7
|
+
<p><a href="/">Go back to the main site</a></p>
|
|
8
|
+
{% else %}
|
|
9
|
+
<p>This subscriber does not exist</p>
|
|
10
|
+
<p><a href="/">Go back to the main site</a></p>
|
|
11
|
+
{% endif %}
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from django import template
|
|
2
|
+
|
|
3
|
+
from wagtail_newsletter_django_backend.forms import ManageForm
|
|
4
|
+
|
|
5
|
+
register = template.Library()
|
|
6
|
+
|
|
7
|
+
@register.inclusion_tag("wagtail_newsletter_django_backend/manage_tag.html")
|
|
8
|
+
def subscriber_manage_form(subscriber):
|
|
9
|
+
return {
|
|
10
|
+
'form': ManageForm(instance=subscriber),
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@register.inclusion_tag("wagtail_newsletter_django_backend/unsubscribe_tag.html")
|
|
14
|
+
def subscriber_unsubscribe_form(subscriber):
|
|
15
|
+
return {
|
|
16
|
+
'subscriber': subscriber,
|
|
17
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wagtail-newsletter-django-backend
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: An internal Django backend to wagtail-newsletter.
|
|
5
5
|
Author-email: "Taylor C. Richberger" <taylor@axfive.net>
|
|
6
6
|
Maintainer-email: "Taylor C. Richberger" <taylor@axfive.net>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
wagtail_newsletter_django_backend/__init__.py,sha256=
|
|
1
|
+
wagtail_newsletter_django_backend/__init__.py,sha256=kEKfLJWbmnCeJk5xSZ_8mTo323WhhJ345Z4hCgOqM7Y,263
|
|
2
2
|
wagtail_newsletter_django_backend/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
|
|
3
3
|
wagtail_newsletter_django_backend/admin_viewsets.py,sha256=JRUz8lRqZPGzlnorNr605OQzA9GmAuzSu_oe1tCoosc,2011
|
|
4
4
|
wagtail_newsletter_django_backend/apps.py,sha256=fFm2QZzxZlpYBQTNRKzBXpzOUzjK5xbW2xCQdv5fNOA,281
|
|
5
5
|
wagtail_newsletter_django_backend/campaign_backend.py,sha256=zksmSQVakV99A8lJC5o8We7ptDZgAqHp2vw91mQdDGQ,6997
|
|
6
6
|
wagtail_newsletter_django_backend/forms.py,sha256=5UK_-Fd7KuOtRkPZW_uyHM9D6BU5_JANKcM3WhAnew0,4009
|
|
7
|
-
wagtail_newsletter_django_backend/models.py,sha256=
|
|
7
|
+
wagtail_newsletter_django_backend/models.py,sha256=a6pP9NSBXFl7Xcga2XbVRT0z9JUbM7eB0jYvSbQTx0w,12908
|
|
8
8
|
wagtail_newsletter_django_backend/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
9
9
|
wagtail_newsletter_django_backend/urls.py,sha256=650q2IQKPOj6OSjVIB3QzxPl4n67M2MJwtFFEvJ3vOk,620
|
|
10
10
|
wagtail_newsletter_django_backend/views.py,sha256=88UNdcJQzeTjLXJFI9chRgVHcowOZ_yvwe2v4_-FhVE,3200
|
|
@@ -13,10 +13,15 @@ wagtail_newsletter_django_backend/management/__init__.py,sha256=47DEQpj8HBSa-_TI
|
|
|
13
13
|
wagtail_newsletter_django_backend/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
wagtail_newsletter_django_backend/management/commands/send_scheduled_campaigns.py,sha256=YA6KLCUyHrHJqxc_qHP-JEBFh_U-0T2BPKiUeue8czA,320
|
|
15
15
|
wagtail_newsletter_django_backend/migrations/0001_initial.py,sha256=DYuyU3MxhnhzKBPKlxZn2erP-lB9rGRUR4KngXRrBXw,11129
|
|
16
|
+
wagtail_newsletter_django_backend/migrations/0002_alter_audience_name_alter_audiencesegment_name_and_more.py,sha256=-cvEvycnG5Q1bUyQOSyebfTDSrLND9TKTR7f2bEcbQU,1020
|
|
16
17
|
wagtail_newsletter_django_backend/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/manage.html,sha256=
|
|
18
|
-
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/
|
|
19
|
-
wagtail_newsletter_django_backend
|
|
20
|
-
wagtail_newsletter_django_backend
|
|
21
|
-
wagtail_newsletter_django_backend
|
|
22
|
-
wagtail_newsletter_django_backend
|
|
18
|
+
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/manage.html,sha256=wrEOZgmu7YrE4J716e51FewJ-1WC4EXaJJyaIEbPucM,381
|
|
19
|
+
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/manage_tag.html,sha256=JfQIINFFA_aemgfzoOBY6LHdMgVBVoXOPbwiwsKRuDg,260
|
|
20
|
+
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe.html,sha256=96KRGWPfm17TR5g6DhVQ5VQzBmBuLAzHdkfTRvqK-pY,383
|
|
21
|
+
wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe_tag.html,sha256=DmM5O5ge-o7Q6y2rtiwOFyhzM9NaAtoq3AqCTi0cNvg,487
|
|
22
|
+
wagtail_newsletter_django_backend/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
wagtail_newsletter_django_backend/templatetags/wagtail_newsletter_django_backend_tags.py,sha256=-NF9xEhCjojtMgQFBJRWrelB13dYYZFtuiL-a3zSKx8,490
|
|
24
|
+
wagtail_newsletter_django_backend-0.3.1.dist-info/licenses/LICENSE,sha256=mLNEGyMZ9q73ep-adKoMoTX06QDYEd949WxgTKhl93A,33970
|
|
25
|
+
wagtail_newsletter_django_backend-0.3.1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
26
|
+
wagtail_newsletter_django_backend-0.3.1.dist-info/METADATA,sha256=rGV7fzHm8MwglBhOOiD9e6T-_vVCO9VrDdAF-m7iOvk,836
|
|
27
|
+
wagtail_newsletter_django_backend-0.3.1.dist-info/RECORD,,
|
|
File without changes
|