summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Hagander2022-04-19 19:28:53 +0000
committerMagnus Hagander2022-04-19 19:28:53 +0000
commitca9be3d90d4b105cd0af9933538f8dfa86cab10f (patch)
treecf5777adfa19db84a835b96cfa956f36e2dbdcf1
parentcd659150a9513fc495f716a8f9cb1554b14b6cc6 (diff)
Don't crash on campaign preview with no sessions
The preview of campaign text won't produce anything useful when there are no sessions at all avaliable, it it shouldn't crash. Instead, we'll just return lengt 0 because we can't do anything useful. Fixes #77
-rw-r--r--postgresqleu/confreg/campaigns.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/postgresqleu/confreg/campaigns.py b/postgresqleu/confreg/campaigns.py
index 8c8e8f41..214e30d2 100644
--- a/postgresqleu/confreg/campaigns.py
+++ b/postgresqleu/confreg/campaigns.py
@@ -133,7 +133,13 @@ class ApprovedSessionsCampaign(object):
if fieldname == 'content_template':
# Generate a preview of 3 (an arbitrary number) sessions
posts = [self.form.generate_tweet(conference, session, s) for session in ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False)[:3]]
- longest = max((get_shortened_post_length(self.form.generate_tweet(conference, session, s)) for session in ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False)))
+
+ sesslist = list(ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False))
+ if sesslist:
+ longest = max((get_shortened_post_length(self.form.generate_tweet(conference, session, s)) for session in sesslist))
+ else:
+ longest = 0
+
previews = "\n\n".join([
"{}\n\n------------------------------- (length {})".format(
p,