From f8713d9357692a7441cd17cd12086597b009ecd5 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Mon, 26 Dec 2016 16:51:50 -0500 Subject: [PATCH] Allow accessing individual campaigns directly. --- calefaction/modules/campaigns.py | 18 +++++++++++++++--- templates/campaigns/campaign.mako | 2 +- templates/campaigns/empty.mako | 3 +++ templates/campaigns/navitem.mako | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/calefaction/modules/campaigns.py b/calefaction/modules/campaigns.py index 131343c..4c6e656 100644 --- a/calefaction/modules/campaigns.py +++ b/calefaction/modules/campaigns.py @@ -31,9 +31,21 @@ def navitem(): return result.decode("utf8") @blueprint.rroute("/campaign") -def campaign(): +def current_campaign(): """Render and return the current campaign page.""" - return home() + current = get_current() + if current: + return redirect(url_for(".campaign", name=current), 303) + return render_template("campaigns/empty.mako") + +@blueprint.rroute("/campaigns/") +def campaign(name): + """Render and return a campaign page.""" + if name not in config["enabled"]: + abort(404) + campaign = config["campaigns"][name] + return render_template( + "campaigns/campaign.mako", name=name, campaign=campaign) @blueprint.rroute("/settings/campaign", methods=["POST"]) def set_campaign(): @@ -42,4 +54,4 @@ def set_campaign(): if campaign not in config["enabled"]: abort(400) g.auth.set_character_modprop("campaigns", "current", campaign) - return redirect(url_for(".campaign"), 303) + return redirect(url_for(".campaign", name=campaign), 303) diff --git a/templates/campaigns/campaign.mako b/templates/campaigns/campaign.mako index 91e1ab3..5688655 100644 --- a/templates/campaigns/campaign.mako +++ b/templates/campaigns/campaign.mako @@ -1,6 +1,6 @@ <%inherit file="../_default.mako"/> <%block name="title"> - ${self.maketitle(campaign["title"], "Campaign")} + ${self.maketitle(campaign["title"], "Campaigns")}

Campaign: ${campaign["title"] | h}

Hello! ...

diff --git a/templates/campaigns/empty.mako b/templates/campaigns/empty.mako index 553abc6..4bcb3f9 100644 --- a/templates/campaigns/empty.mako +++ b/templates/campaigns/empty.mako @@ -1,2 +1,5 @@ <%inherit file="../_default.mako"/> +<%block name="title"> + ${self.maketitle("Campaigns")} +

No campaigns currently.

diff --git a/templates/campaigns/navitem.mako b/templates/campaigns/navitem.mako index 81ca39c..a25544f 100644 --- a/templates/campaigns/navitem.mako +++ b/templates/campaigns/navitem.mako @@ -12,5 +12,5 @@ Campaign: % else: <% campaign = g.config.modules.campaigns.config["campaigns"][current] %> - ${campaign["title"]} + ${campaign["title"]} % endif