From ac4795bc52749672decd4b31e9ef890c1e55dbca Mon Sep 17 00:00:00 2001
From: Brian Simpson
Date: Tue, 4 Mar 2014 16:18:11 -0500
Subject: [PATCH] PromoteLinkForm: Display a summary of the promotion.
---
r2/r2/lib/pages/pages.py | 28 +++++++++++++++++++++++++++-
r2/r2/templates/promotelinkform.html | 11 +++++++++++
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py
index 923aeac3a..ffa9e3d42 100644
--- a/r2/r2/lib/pages/pages.py
+++ b/r2/r2/lib/pages/pages.py
@@ -3413,7 +3413,7 @@ class PromoteLinkForm(Templated):
self.link = link
self.listing = listing
- campaigns = PromoCampaign._by_link(link._id)
+ campaigns = list(PromoCampaign._by_link(link._id))
self.campaigns = RenderableCampaign.from_campaigns(link, campaigns)
self.promotion_log = PromotionLog.get(link)
@@ -3475,6 +3475,32 @@ class PromoteLinkForm(Templated):
message %= {'link': 'http://www.slideshare.net/MikeCole1/brands-that-were-awesome-on-reddit-2013-30801823'}
self.infobar = InfoBar(message=message)
+ if campaigns:
+ subreddits = set()
+ budget = 0.
+ impressions = 0
+
+ for campaign in campaigns:
+ subreddits.add(campaign.sr_name)
+ budget += campaign.bid
+ if hasattr(campaign, 'cpm') and campaign.priority.cpm:
+ impressions += campaign.impressions
+
+ num_srs = len(subreddits)
+ summary = ungettext("this promotion has a total budget of "
+ "%(budget)s for %(impressions)s impressions in "
+ "%(num)s subreddit",
+ "this promotion has a total budget of "
+ "%(budget)s for %(impressions)s impressions in "
+ "%(num)s subreddits",
+ num_srs)
+ self.summary = summary % {
+ 'budget': format_currency(budget, 'USD', locale=c.locale),
+ 'impressions': format_number(impressions),
+ 'num': num_srs,
+ }
+ else:
+ self.summary = None
class RenderableCampaign(Templated):
def __init__(self, link, campaign, transaction, is_pending, is_live,
diff --git a/r2/r2/templates/promotelinkform.html b/r2/r2/templates/promotelinkform.html
index e39a3f10c..b3475902f 100644
--- a/r2/r2/templates/promotelinkform.html
+++ b/r2/r2/templates/promotelinkform.html
@@ -530,6 +530,17 @@ ${self.javascript_setup()}
${_("You don't have any campaigns for this link yet. You should add one.")}
+
+ %if thing.summary:
+
+ %endif
+
%utils:line_field>