Browse Source

Continue arg in login and logout routes

Guillaume Subiron 13 years ago
parent
commit
3c19321cfa
4 changed files with 8 additions and 4 deletions
  1. 4 0
      main.py
  2. 2 2
      templates/layout.html
  3. 1 1
      templates/login.html
  4. 1 1
      templates/votes.html

+ 4 - 0
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'))
 
 #-----------------

+ 2 - 2
templates/layout.html

@@ -44,10 +44,10 @@
         <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>

+ 1 - 1
templates/login.html

@@ -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 }}"/>

+ 1 - 1
templates/votes.html

@@ -31,7 +31,7 @@ Liste des votes
       {% if vote.description %}
       <h4>Description</h4>
       <p>
-      {{ vote.description|safe }}
+      {{ vote.description }}
       </p>
       {% endif %}
     </div>