From c15afcd373fe07e444194f17f1bab8711cfe2bdc Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sat, 24 Sep 2011 20:40:13 +0100
Subject: [PATCH] templatified support pages; add js-based redirect page

---
 .../frontend/templates/_std_base.html         | 17 ++++++++++++++++
 server/djrandom/frontend/templates/about.html | 20 ++++---------------
 .../djrandom/frontend/templates/redirect.html | 13 ++++++++++++
 .../frontend/templates/user_details.html      | 17 +++++-----------
 .../frontend/templates/user_invite.html       | 19 ++++--------------
 server/djrandom/frontend/views.py             |  9 +++++++++
 6 files changed, 52 insertions(+), 43 deletions(-)
 create mode 100644 server/djrandom/frontend/templates/_std_base.html
 create mode 100644 server/djrandom/frontend/templates/redirect.html

diff --git a/server/djrandom/frontend/templates/_std_base.html b/server/djrandom/frontend/templates/_std_base.html
new file mode 100644
index 0000000..eef79cf
--- /dev/null
+++ b/server/djrandom/frontend/templates/_std_base.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+  <head>
+    <title>DJ RANDOM :: {% block title %}{% endblock %}</title>
+    <link href="/static/favicon.ico" type="image/x-icon" rel="shortcut icon">
+    <link rel="stylesheet" type="text/css" href="/static/css/login.css">
+  </head>
+  <body>
+
+    <div id="main">
+      <div id="form">
+      {% block main %}
+      {% endblock %}
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/server/djrandom/frontend/templates/about.html b/server/djrandom/frontend/templates/about.html
index 5c73715..aedc42e 100644
--- a/server/djrandom/frontend/templates/about.html
+++ b/server/djrandom/frontend/templates/about.html
@@ -1,14 +1,7 @@
-<!doctype html>
-<html>
-  <head>
-    <title>DJ RANDOM :: About</title>
-    <link href="/static/favicon.ico" type="image/x-icon" rel="shortcut icon">
-    <link rel="stylesheet" type="text/css" href="/static/css/login.css">
-  </head>
-  <body>
+{% extends "_std_base.html" %}
+{% block title %}About{% endblock %}
+{% block main %}
 
-    <div id="main">
-      <div id="form">
         <h3>DJ:Random</h3>
 
         <p>
@@ -19,9 +12,4 @@
           (<b>{{ used_gb }}</b> Gb).
         </p>
 
-      </div>
-
-    </div>
-
-  </body>
-</html>
+{% endblock %}
diff --git a/server/djrandom/frontend/templates/redirect.html b/server/djrandom/frontend/templates/redirect.html
new file mode 100644
index 0000000..a99041f
--- /dev/null
+++ b/server/djrandom/frontend/templates/redirect.html
@@ -0,0 +1,13 @@
+{% extends "_std_base.html" %}
+{% block title %}About{% endblock %}
+{% block main %}
+
+<p>
+  Redirecting to <a href="{{ url | e }}">{{ url | e }}</a> ...
+</p>
+
+<script type="text/javascript">
+  window.location = '{{ url | e }}';
+</script>
+
+{% endblock %}
diff --git a/server/djrandom/frontend/templates/user_details.html b/server/djrandom/frontend/templates/user_details.html
index 5afee95..6b0d943 100644
--- a/server/djrandom/frontend/templates/user_details.html
+++ b/server/djrandom/frontend/templates/user_details.html
@@ -1,13 +1,7 @@
-<!doctype html>
-<html>
-  <head>
-    <title>DJ RANDOM</title>
-    <link href="/static/favicon.ico" type="image/x-icon" rel="shortcut icon">
-    <link rel="stylesheet" type="text/css" href="/static/css/login.css">
-  </head>
-  <body>
-
-    <div id="main">
+{% extends "_std_base.html" %}
+{% block title %}User Details{% endblock %}
+{% block main %}
+
       <div id="form">
 
         {%- for msg in get_flashed_messages() -%}
@@ -55,5 +49,4 @@
 
     </div>
 
-  </body>
-</html>
+{% endblock %}
diff --git a/server/djrandom/frontend/templates/user_invite.html b/server/djrandom/frontend/templates/user_invite.html
index 2cc3afa..ee7625b 100644
--- a/server/djrandom/frontend/templates/user_invite.html
+++ b/server/djrandom/frontend/templates/user_invite.html
@@ -1,14 +1,7 @@
-<!doctype html>
-<html>
-  <head>
-    <title>DJ RANDOM</title>
-    <link href="/static/favicon.ico" type="image/x-icon" rel="shortcut icon">
-    <link rel="stylesheet" type="text/css" href="/static/css/login.css">
-  </head>
-  <body>
+{% extends "_std_base.html" %}
+{% block title %}Invites{% endblock %}
+{% block main %}
 
-    <div id="main">
-      <div id="form">
         <form action="/user/invite" method="post">
           {{ form.hidden_tag() | safe }}
 
@@ -27,9 +20,5 @@
             <input type="submit" class="f_submit" value=" Invite ">
           </p>
         </form>
-      </div>
 
-    </div>
-
-  </body>
-</html>
+{% endblock %}
diff --git a/server/djrandom/frontend/views.py b/server/djrandom/frontend/views.py
index 662b701..ec792dd 100644
--- a/server/djrandom/frontend/views.py
+++ b/server/djrandom/frontend/views.py
@@ -52,6 +52,15 @@ def homepage():
     return render_template('index.html', user=user)
 
 
+@app.route('/ext')
+@require_auth
+def redirect_to_external_url():
+    url = request.args.get('url')
+    if not url:
+        abort(400)
+    return render_template('redirect.html', url=url)
+
+
 def fileiter(path, pos, end):
     with open(path, 'r') as fd:
         fd.seek(pos)
-- 
GitLab