diff --git a/src/assets/js/map-util.js b/src/assets/js/map-util.js index 7b9c606cd682670d038a9f99ec707ea84071f360..2bb0f78e4a4cc104f50751ca06cd87412feaf234 100644 --- a/src/assets/js/map-util.js +++ b/src/assets/js/map-util.js @@ -3,6 +3,13 @@ import "leaflet/dist/leaflet.css"; import flip from '@turf/flip' import axios from "axios" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + + let map; let dictLayersToLeaflet = {}; diff --git a/src/services/project-api.js b/src/services/project-api.js index 14019cb19f74c0b76d568761b5008b4bc24692ae..fd46c39241a72d1928e49af49f081730d497da9c 100644 --- a/src/services/project-api.js +++ b/src/services/project-api.js @@ -1,6 +1,14 @@ import axios from 'axios'; import store from '../store' + +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + + const baseUrl = store.state.configuration.VUE_APP_DJANGO_API_BASE; const projectAPI = { diff --git a/src/store/index.js b/src/store/index.js index ce5d58e6a11272cec3d59b600a3ef15b6c968558..cb00de2006643cd9aeaa14a981a9b12726994edb 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -8,6 +8,12 @@ import feature_type from "./modules/feature_type" import feature from "./modules/feature" import map from "./modules/map" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + Vue.use(Vuex); diff --git a/src/store/modules/feature.js b/src/store/modules/feature.js index fd9ee2833a5d85f36bf828c538cf948cb6bff8a2..f6f7f42e364c7e2ba603110d8f9ee261e068074c 100644 --- a/src/store/modules/feature.js +++ b/src/store/modules/feature.js @@ -1,6 +1,12 @@ const axios = require("axios"); import router from '../../router' +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + const feature = { namespaced: true, diff --git a/src/store/modules/feature_type.js b/src/store/modules/feature_type.js index e8986cb11c20e7c50a568a2a94e4707f7f77193b..f4148c1783d7d4c6ecc97ea7186b0bb418d12296 100644 --- a/src/store/modules/feature_type.js +++ b/src/store/modules/feature_type.js @@ -1,5 +1,10 @@ import axios from "axios" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); const feature_type = { diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 207d3ebc9696cd3741160b7165027a6d9d9573c1..f29ef9f4d128729e027c6364005edcad240fce6c 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -1,6 +1,12 @@ const axios = require("axios"); import { mapUtil } from "@/assets/js/map-util.js"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + const map = { namespaced: true, diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue index c13fb8bfeb046d852fde7a6f9c5d7e4c653b490f..2b60ca875aa7c1750313258fa4296d3ad3cbd172 100644 --- a/src/views/feature/Feature_edit.vue +++ b/src/views/feature/Feature_edit.vue @@ -240,6 +240,13 @@ import { mapUtil } from "@/assets/js/map-util.js"; const axios = require("axios"); import flip from "@turf/flip"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; + })('csrftoken'); + + export default { name: "Feature_edit", diff --git a/src/views/project/Project_edit.vue b/src/views/project/Project_edit.vue index 980c4466ae1b23c98de00b13326a4908b01a2c9a..72a6344c09054bf111b1fd2f44b4a4fe9b5e596c 100644 --- a/src/views/project/Project_edit.vue +++ b/src/views/project/Project_edit.vue @@ -172,6 +172,13 @@ import Dropdown from "@/components/Dropdown.vue"; import { mapGetters } from "vuex"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; + })('csrftoken'); + + export default { name: "Project_edit",