Continue arg in login and logout routes
authorGuillaume Subiron <maethor@subiron.org>
Fri, 8 Jun 2012 07:41:44 +0000 (09:41 +0200)
committerJulien Rabier <taziden@flexiden.org>
Fri, 8 Jun 2012 07:42:29 +0000 (09:42 +0200)
main.py
templates/layout.html
templates/login.html
templates/votes.html

diff --git a/main.py b/main.py
index 6b391c3..956e438 100755 (executable)
--- a/main.py
+++ b/main.py
@@ -92,6 +92,8 @@ def login():
         else:
             connect_user(user)
             flash(u'Vous êtes connecté. Bienvenue, %s !' % user['name'], 'success')
+            if request.args.get('continue'):
+                return redirect(request.args['continue'])
             return redirect(url_for('home'))
     return render_template('login.html')
 
@@ -99,6 +101,8 @@ def login():
 def logout():
     disconnect_user()
     flash(u'Vous avez été déconnecté.', 'info')
+    if request.args.get('continue') and not "admin" in request.args.get('continue'):
+        return redirect(request.args['continue'])
     return redirect(url_for('home'))
 
 #-----------------
index 6fe38aa..fff1187 100644 (file)
         <li><a href="{{ url_for('votes', votes='waiting') }}"><i class="icon-comment"></i> Votes en attente</a></li>
         <li><a href="{{ url_for('user_edit', userid=session.user.id) }}"><i class="icon-cog"></i> Paramètres</a></li>
         <li class="divider"></li>
-        <li><a href="{{ url_for('logout') }}"><i class="icon-off"></i> Déconnexion</a></li>
+        <li><a href="{{ url_for('logout', continue=request.url) }}"><i class="icon-off"></i> Déconnexion</a></li>
       </ul>
       {% else %}
-      <a class="btn btn-primary" href="{{ url_for('login') }}"><i class="icon-user icon-white"></i> Connexion</a>
+      <a class="btn btn-primary" href="{{ url_for('login', continue=request.url) }}"><i class="icon-user icon-white"></i> Connexion</a>
       {% endif %}
     </div>
   </div>
index 332195e..b00dc72 100644 (file)
@@ -2,7 +2,7 @@
 {% block body %}
 <div class="row">
   <div class="span3 well offset1">
-    <form action="{{ url_for('login') }}" method="post">
+    <form action="{{ url_for('login', continue=request.args.continue) }}" method="post">
     <fieldset><legend>Connexion</legend>
       <label for="username">E-mail</label>
       <input type="text" name="username" id="username" value="{{ request.form.username }}"/>
index 0cb1b51..616e3b3 100644 (file)
@@ -31,7 +31,7 @@ Liste des votes
       {% if vote.description %}
       <h4>Description</h4>
       <p>
-      {{ vote.description|safe }}
+      {{ vote.description }}
       </p>
       {% endif %}
     </div>