Fixed logout redirect

This commit is contained in:
Fergal Moran
2014-06-01 22:02:48 +01:00
parent 68c67c222d
commit 36c8ee73bd
8 changed files with 51 additions and 27 deletions

View File

@@ -45,6 +45,7 @@ urlpatterns = patterns(
url(r'^ajax/', include(ajax.urls)),
url(r'^debug/', include(debug.urls)),
url(r'^audio/', include(audio.urls)),
url(r'^logout/', 'spa.views.logout_user'),
url(r'^st/events/', 'spa.static.get_events'),
url(r'^api/', include(api.urls)),
url(r'^comments/', include('django.contrib.comments.urls')),

View File

@@ -1,6 +1,7 @@
import logging
import uuid
from django.http import HttpResponseServerError
from django.contrib.auth import logout
from django.http import HttpResponseServerError, HttpResponseRedirect
from django.shortcuts import render_to_response, redirect
from django.template import loader, Context
from django.template.context import RequestContext
@@ -46,6 +47,10 @@ def app(request):
context_instance=RequestContext(request))
def logout_user(request):
logout(request)
return HttpResponseRedirect("/")
def default(request):
if 'HTTP_USER_AGENT' in request.META and request.META['HTTP_USER_AGENT'].startswith('facebookexternalhit'):
return social_redirect(request)
@@ -67,6 +72,6 @@ def debug_500(request, template_name='debug_500.html'):
"""
t = loader.get_template(template_name) # You need to create a 500.html template.
ltype, lvalue, ltraceback = sys.exc_info()
sys.exc_clear() #for fun, and to point out I only -think- this hasn't happened at
#this point in the process already
sys.exc_clear() # for fun, and to point out I only -think- this hasn't happened at
# this point in the process already
return HttpResponseServerError(t.render(Context({'type': ltype, 'value': lvalue, 'traceback': ltraceback})))

View File

@@ -38,6 +38,13 @@
utils.modal "/dlg/LoginView"
true
@listenTo @vent, "app:logout", ->
console.log "App(vent): app:logout"
$.get "/logout", (data) ->
window.location.reload();
return
true
@listenTo @vent, "app:donate", ->
console.log("App: donate")
utils.modal "/dlg/Donate"

View File

@@ -6,6 +6,7 @@
"click #header-random-button": "showRandom"
"click #header-play-pause-button": "togglePlayState"
"click #header-login-button": "login"
"click #header-logout-button": "logout"
"click #header-donate-button": "donate"
"click #header-live-button.btn-success": "playLive"
"click #header-live-button.btn-danger": "pauseLive"
@@ -34,12 +35,12 @@
login: ->
App.vent.trigger('app:login')
logout: ->
App.vent.trigger('app:logout')
donate: ->
App.vent.trigger('app:donate')
logout: ->
utils.showAlert "Success", "You are now logged out"
trackChanged: (data) ->
$(@el).find("#track-description").text data.title
$(@el).find("#track-description").attr "href", "#" + data.item_url

View File

@@ -11,6 +11,9 @@
doLogin: ->
App.vent.trigger('app:login')
doLogout: ->
App.vent.trigger('app:logout')
showSchedule: ->
App.contentRegion.show(new ScheduleShowLayout())
App.vent.trigger('show:schedule:show')

View File

@@ -18,6 +18,7 @@
"schedule": "showSchedule",
"login": "doLogin"
"logout": "doLogout"
"users": "showUserList"
"user/:slug/favourites": "showUserFavourites"

View File

@@ -21,7 +21,7 @@
if url.indexOf("#") is 0
$(url).modal "open"
else
$.get(url,(data) ->
$.get(url, (data) ->
$(data).modal().on "hidden", ->
$(this).remove()
true
@@ -45,7 +45,7 @@
if url.indexOf("#") is 0
$(url).modal "open"
else
$.get(url,(data) ->
$.get(url, (data) ->
$(data).modal('show').on("shown.bs.modal", (e) ->
$(this).find("#yes-no-positive").click ->
success()
@@ -64,18 +64,18 @@
toastOptions: ->
toastr.options =
closeButton: true
debug: false
positionClass: "toast-bottom-left"
onclick: null
showDuration: "300"
hideDuration: "1000"
timeOut: "5000"
extendedTimeOut: "1000"
showEasing: "swing"
hideEasing: "linear"
showMethod: "fadeIn"
hideMethod: "fadeOut"
closeButton: true
debug: false
positionClass: "toast-bottom-left"
onclick: null
showDuration: "300"
hideDuration: "1000"
timeOut: "5000"
extendedTimeOut: "1000"
showEasing: "swing"
hideEasing: "linear"
showMethod: "fadeIn"
hideMethod: "fadeOut"
showError: (title, message) ->
@toastOptions()
@@ -204,4 +204,15 @@ $.ajaxSetup
window.location.replace "/"
return
$(document).on "submit", "form[method=post]", ->
console.log("Submitting form")
unless document.cookie.match("csrftoken=([a-zA-Z0-9]{32})")
c = ""
while c.length < 32
c += "abcdefghijklmnopqrstuvwxyz".charAt(Math.random() * 26)
document.cookie = "csrftoken=" + c + "; path=/"
$(this).append "<input type=\"hidden\" name=\"csrfmiddlewaretoken\">" unless @csrfmiddlewaretoken
$(@csrfmiddlewaretoken).val document.cookie.match("csrftoken=([a-zA-Z0-9]{32})")[1]
return

View File

@@ -16,7 +16,7 @@
class="fa fa-cogs fa fa-white"></i>Random</a></li>
<li><a data-bypass="true" target="_blank" href="/podcast"><i class="fa fa-rss fa fa-white"></i>Podcast</a>
</li>
<% if (com.podnoms.settings.liveEnabled != -1) { %>
<% if (com.podnoms.settings.liveEnabled ) { %>
<li class="purple">
<a data-bypass="true" class="btn-success" id="header-live-button">&nbsp;Listen Live
<i class="fa fa-headphones fa fa-white" id="header-live-icon"></i>
@@ -67,12 +67,7 @@
</li>
<li class="divider"></li>
<li>
<form id="logout-form" method="post" action="{% url "account_logout" %}"
style="display: none">
{% csrf_token %}
</form>
<a data-bypass="true" id="header-logout-button"
onclick="document.getElementById('logout-form').submit();">
<a data-bypass="true" id="header-logout-button">
<i class="fa fa-off"></i>
Logout
</a>