wagtail-newsletter-django-backend 0.5.2__py3-none-any.whl → 0.5.4__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.
@@ -3,4 +3,4 @@
3
3
  This is a simple, basic internal backend for wagtail-newsletter, allowing you to manage your mailing lists internally and send them out through Django's standard email capabilities.
4
4
  '''
5
5
 
6
- __version__ = '0.5.2'
6
+ __version__ = '0.5.4'
@@ -60,15 +60,25 @@ class CampaignBackend(wncb.CampaignBackend):
60
60
  audience_segment = models.AudienceSegment.objects.get(id=int(recipients.segment.split('/')[-1]))
61
61
 
62
62
  with transaction.atomic():
63
- campaign: models.Campaign
63
+ campaign: models.Campaign | None
64
64
  if campaign_id:
65
- campaign = models.Campaign.objects.get(id=int(campaign_id))
66
- campaign.subject = subject
67
- campaign.html = html.strip()
68
- if audience_segment is not None:
69
- campaign.audience_segment = audience_segment
70
- campaign.full_clean()
71
- campaign.save()
65
+ int_campaign_id = int(campaign_id)
66
+ campaign = models.Campaign.objects.filter(id=int_campaign_id).first()
67
+ if campaign is None:
68
+ # No campaign exists with that ID anymore; recreate it.
69
+ campaign = models.Campaign.objects.create(
70
+ id=int_campaign_id,
71
+ subject=subject,
72
+ html=html.strip(),
73
+ audience_segment=audience_segment,
74
+ )
75
+ else:
76
+ campaign.subject = subject
77
+ campaign.html = html.strip()
78
+ if audience_segment is not None:
79
+ campaign.audience_segment = audience_segment
80
+ campaign.full_clean()
81
+ campaign.save()
72
82
  else:
73
83
  campaign = models.Campaign.objects.create(
74
84
  subject=subject,
@@ -160,7 +170,7 @@ class CampaignBackend(wncb.CampaignBackend):
160
170
  ])
161
171
 
162
172
  def send_scheduled_campaigns(self) -> None:
163
- for campaign in models.Campaign.objects.filter(sent_at=None, send_at__gte=timezone.now()):
173
+ for campaign in models.Campaign.objects.filter(sent_at=None, send_at__lte=timezone.now()):
164
174
  self.send_campaign(str(campaign.id))
165
175
 
166
176
  @override
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wagtail-newsletter-django-backend
3
- Version: 0.5.2
3
+ Version: 0.5.4
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,8 +1,8 @@
1
- wagtail_newsletter_django_backend/__init__.py,sha256=ZNx9VLADOKLX-oJxc2h96pUmGnHO0UdAyJxBcVl-GbM,263
1
+ wagtail_newsletter_django_backend/__init__.py,sha256=NF7ieder5YFxPvW6_O-XLC52ZjkETkySqeQZ_ppax-E,263
2
2
  wagtail_newsletter_django_backend/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
3
3
  wagtail_newsletter_django_backend/admin_viewsets.py,sha256=FBiRwMT0vwvxSrNgEVy6UYeqKZDn8LJczSSnjedHDz0,2035
4
4
  wagtail_newsletter_django_backend/apps.py,sha256=fFm2QZzxZlpYBQTNRKzBXpzOUzjK5xbW2xCQdv5fNOA,281
5
- wagtail_newsletter_django_backend/campaign_backend.py,sha256=qM5V8w96yNI9zJJeNAJVhUAygq6yVnXGFPfZeZfbp80,7040
5
+ wagtail_newsletter_django_backend/campaign_backend.py,sha256=YikyzG5C8wg1WE92ZZlMAKw_wuD8X5LIB6b61C9qtR4,7539
6
6
  wagtail_newsletter_django_backend/forms.py,sha256=5UK_-Fd7KuOtRkPZW_uyHM9D6BU5_JANKcM3WhAnew0,4009
7
7
  wagtail_newsletter_django_backend/models.py,sha256=a6pP9NSBXFl7Xcga2XbVRT0z9JUbM7eB0jYvSbQTx0w,12908
8
8
  wagtail_newsletter_django_backend/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
@@ -21,7 +21,7 @@ wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/un
21
21
  wagtail_newsletter_django_backend/templates/wagtail_newsletter_django_backend/unsubscribe_tag.html,sha256=DmM5O5ge-o7Q6y2rtiwOFyhzM9NaAtoq3AqCTi0cNvg,487
22
22
  wagtail_newsletter_django_backend/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  wagtail_newsletter_django_backend/templatetags/wagtail_newsletter_django_backend_tags.py,sha256=-NF9xEhCjojtMgQFBJRWrelB13dYYZFtuiL-a3zSKx8,490
24
- wagtail_newsletter_django_backend-0.5.2.dist-info/licenses/LICENSE,sha256=mLNEGyMZ9q73ep-adKoMoTX06QDYEd949WxgTKhl93A,33970
25
- wagtail_newsletter_django_backend-0.5.2.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
26
- wagtail_newsletter_django_backend-0.5.2.dist-info/METADATA,sha256=zFuZpFenvJXnOUR3PwwJWk-pnCbvmpviNubkioyiY_E,836
27
- wagtail_newsletter_django_backend-0.5.2.dist-info/RECORD,,
24
+ wagtail_newsletter_django_backend-0.5.4.dist-info/licenses/LICENSE,sha256=mLNEGyMZ9q73ep-adKoMoTX06QDYEd949WxgTKhl93A,33970
25
+ wagtail_newsletter_django_backend-0.5.4.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
26
+ wagtail_newsletter_django_backend-0.5.4.dist-info/METADATA,sha256=J8TIUtd0Eceyrcd6p7XZ8gyPJ-dqekTCWk0rpV7fu4o,836
27
+ wagtail_newsletter_django_backend-0.5.4.dist-info/RECORD,,