File tree 3 files changed +42
-4
lines changed
templates/newsletter/panels
3 files changed +42
-4
lines changed Original file line number Diff line number Diff line change @@ -218,6 +218,24 @@ class NewsletterPage(NewsletterPageMixin): # type: ignore
218
218
219
219
newsletter_template = "newsletter/newsletter.html"
220
220
template = "newsletter/newsletter.html"
221
+ newsletter_persistent_fields = [
222
+ "status" ,
223
+ "sent_date" ,
224
+ ]
225
+
226
+ def with_content_json (self , content ):
227
+ obj = super ().with_content_json (content )
228
+ for field in self .newsletter_persistent_fields :
229
+ setattr (obj , field , getattr (self , field ))
230
+ return obj
231
+
232
+ def save_revision (self , * args , ** kwargs ):
233
+ revision = super ().save_revision (* args , ** kwargs )
234
+ self .save (
235
+ update_fields = self .newsletter_persistent_fields ,
236
+ clean = False ,
237
+ )
238
+ return revision
221
239
222
240
def has_newsletter_permission (self , user , action ):
223
241
permission_policy = NewsletterPermissionPolicy (type (self ))
Original file line number Diff line number Diff line change 8
8
from wagtail .models import Page
9
9
10
10
from . import actions , views , viewsets
11
- from .models import NewsletterPageMixin
11
+ from .models import CampaignStatus , NewsletterPageMixin
12
+
13
+
14
+ @hooks .register ("after_copy_page" ) # type: ignore
15
+ def clear_campaign_after_copy (request , page , new_page ):
16
+ if isinstance (new_page , NewsletterPageMixin ):
17
+ new_page = new_page .specific
18
+ new_page .status = CampaignStatus .UNSENT
19
+ new_page .sent_date = None
20
+ new_page .save (update_fields = ["status" , "sent_date" ])
21
+ if new_page .locked :
22
+ new_page .locked = False
23
+ new_page .locked_at = None
24
+ new_page .locked_by = None
25
+ new_page .save (update_fields = ["locked" , "locked_at" , "locked_by" ])
12
26
13
27
14
28
@hooks .register ("register_admin_urls" ) # type: ignore
Original file line number Diff line number Diff line change 22
22
{% if report %}
23
23
{% if report.send_time %}
24
24
< p >
25
- < b > Send time :</ b >
25
+ < b > Versendet am :</ b >
26
26
{{ report.send_time }}
27
27
({{ report.send_time|timesince }} ago).
28
28
</ p >
29
29
{% endif %}
30
30
31
31
< p >
32
- < b > Emails sent :</ b >
32
+ < b > Emails versendet :</ b >
33
33
{{ report.emails_sent }}
34
34
</ p >
35
35
36
36
{% endif %}
37
37
{% endblock %}
38
38
39
- {% elif campaign.scheduled or campaign.sending %}
39
+ {% elif campaign.scheduled %}
40
40
< p >
41
41
< b > {{ campaign.get_status_display }}:</ b >
42
42
{{ campaign.newsletter_schedule_date }} (in {{ campaign.newsletter_schedule_date|timeuntil }}).
43
43
</ p >
44
44
45
+ {% elif campaign.sending %}
46
+ < p >
47
+ < b > {{ campaign.get_status_display|upper }}: </ b >
48
+ Die Kampagne wird aktuell versendet, bitte warten!
49
+ </ p >
50
+
45
51
{% else %}
46
52
47
53
< p >
You can’t perform that action at this time.
0 commit comments