# HG changeset patch # User durandn # Date 1437410632 -7200 # Node ID ed7e67d744a2287706ce0e076ccb6b2ddf52141e # Parent b3880434c4add4ac078e523e3f6c9635b76589bb added fields for copying project via API in the iframetester diff -r b3880434c4ad -r ed7e67d744a2 server/src/remie/templates/remie/iframe_tester.html --- a/server/src/remie/templates/remie/iframe_tester.html Mon Jul 20 17:37:14 2015 +0200 +++ b/server/src/remie/templates/remie/iframe_tester.html Mon Jul 20 18:43:52 2015 +0200 @@ -7,22 +7,78 @@ $(document).ready(function(){ $("#iframe_update_button").click(function(){ var default_url = "{% url 'remie_segment' %}"; - var project_id = $("#project_id").val(); + var project_id = $("#project_id_iframe").val(); var group_mode = $("#group_mode").is(":checked"); var final_url = default_url+"?project_id="+project_id+"&group_mode="+group_mode; $("#remie_workunit_iframe").attr("src", final_url); }); + + 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; + } + + $("#copy_button").click(function(){ + var project_id = $("#project_id_copy").val(); + var copy_title = $("#title_copy").val(); + console.log(project_id) + var csrftoken = getCookie('csrftoken'); + + function csrfSafeMethod(method) { + // these HTTP methods do not require CSRF protection + return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); + } + $.ajaxSetup({ + beforeSend: function(xhr, settings) { + if (!csrfSafeMethod(settings.type) && !this.crossDomain) { + xhr.setRequestHeader("X-CSRFToken", csrftoken); + } + $("#success_copy").css("color", "orange"); + $("#success_copy").html("Copie en cours ... "); + } + }); + $.ajax({ + method: "POST", + url: '{% url "api_dispatch_list" resource_name="projects" api_name="1.0" %}?format=json', + contentType: 'application/json', + data: '{"source": "'+project_id+'", "title": "'+copy_title+'", "publish": "true"}', + success: function(_data) { + $("#success_copy").css("color", "green"); + $("#success_copy").html("Copie réussie: l'id de la copie du projet est "+_data.ldt_id); + }, + error: function(_xhr, _error, _thrown) { + $("#success_copy").css("color", "red"); + $("#success_copy").html("Une erreur est survenue: "+_thrown); + } + }); + }); });
-