summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-02-15 01:14:17 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-02-15 01:14:17 +0100
commite3501ee756de6819a285b87871294751c6bb4cf1 (patch)
tree33f5cae9d1e08307cc58667173301861f980baf9 /static
parent839196bce60228643012ff4c8ce2346d8d708ded (diff)
downloadIshtar-e3501ee756de6819a285b87871294751c6bb4cf1.tar.bz2
Ishtar-e3501ee756de6819a285b87871294751c6bb4cf1.zip
Manage CRSF token in Ajax request (closes #217)
Diffstat (limited to 'static')
-rw-r--r--static/js/ishtar.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/static/js/ishtar.js b/static/js/ishtar.js
index c1aa2f569..174e56f0b 100644
--- a/static/js/ishtar.js
+++ b/static/js/ishtar.js
@@ -1,3 +1,29 @@
+
+/* CSRFToken management */
+$.ajaxSetup({
+beforeSend: function(xhr, settings) {
+ function getCookie(name) {
+ var cookieValue = null;
+ if (document.cookie && document.cookie != '') {
+ var cookies = document.cookie.split(';');
+ for (var i = 0; i < cookies.length; i++) {
+ var cookie = jQuery.trim(cookies[i]);
+ // Does this cookie string begin with the name we want?
+ if (cookie.substring(0, name.length + 1) == (name + '=')) {
+ cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
+ break;
+ }
+ }
+ }
+ return cookieValue;
+ }
+ if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
+ // Only send the token to relative URLs i.e. locally.
+ xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
+ }
+}});
+
+
$(document).ready(function(){
$("#main_menu ul ul").hide();
$("#main_menu ul ul .selected").parent().show();