ads: Make frontpage_dart not override ads-by-codename.

This fixes an issue where /ads/:codename: links would show only the
homepage roadblock ad when frontpage_dart = True.
This commit is contained in:
Neil Williams
2012-10-16 10:45:17 -07:00
parent ae8b8fe541
commit d481f2d84b
2 changed files with 16 additions and 14 deletions

View File

@@ -24,7 +24,7 @@ from validator import *
from reddit_base import MinimalController
from r2.lib.scraper import get_media_embed
from r2.lib.pages import MediaEmbedBody, render_ad
from r2.lib.pages import MediaEmbedBody, render_ad, render_ad_by_codename
from pylons import request
from pylons.controllers.util import abort
@@ -72,5 +72,5 @@ class AdController(MinimalController):
if not codename:
abort(404)
c.render_style = "html"
return render_ad(codename=codename)
return render_ad_by_codename(codename)

View File

@@ -3612,7 +3612,20 @@ class HouseAd(CachedTemplate):
res = CachedTemplate.render(self, *a, **kw)
return responsive(res, False)
def render_ad(reddit_name=None, codename=None, keyword=None):
def render_ad_by_codename(codename):
if codename == "DART":
return Dart_Ad("reddit.dart", g.default_sr).render()
try:
ad = Ad._by_codename(codename)
except NotFound:
abort(404)
attrs = ad.important_attrs()
return HouseAd(**attrs).render()
def render_ad(reddit_name=None, keyword=None):
if not reddit_name:
reddit_name = g.default_sr
if g.live_config["frontpage_dart"]:
@@ -3631,17 +3644,6 @@ def render_ad(reddit_name=None, codename=None, keyword=None):
if keyword:
return Dart_Ad(dartsite, reddit_name, keyword).render()
if codename:
if codename == "DART":
return Dart_Ad(dartsite, reddit_name).render()
else:
try:
ad = Ad._by_codename(codename)
except NotFound:
abort(404)
attrs = ad.important_attrs()
return HouseAd(**attrs).render()
ads = {}
for adsr in AdSR.by_sr_merged(sr):