{% extends '_layout.html' %}

{% block title %}
	Clotûre de {{ sprint }}
{% endblock %}


{% block breadcrumb %}
	<li><a href="{% url 'index' %}">Accueil</a></li>
	<li><a>Clotûre du {{ sprint }}</a></li>
{% endblock %}

{% block main %}
	<header>
		<div class="flex-row">
			<h2 class="flex-extend">Clotûre du {{ sprint }}</h2>
			<span>
			</span>
		</div>
	</header>
	
	{% if not next_sprint %}
		<p class="error">Le sprint suivant n'existe pas!</p>
	{% else %}
	
		<h4>Clore les stories</h4>
		<table>
		{% for story in sprint.stories.all|dictsort:"id" %}
			<tr data-id="{{ story.id }}">
				<td class="btn-cell">
					{% if story.closed %}
					<a href="" class="story_close button special icon fa-check tool-btn already-checked"></a>
					{% elif next_sprint in story.sprints.all %}
					<a href="" class="story_close button special icon fa-check tool-btn disabled"></a>
					{% else %}
					<a href="" class="story_close button special icon fa-check tool-btn" title="Clôre"></a>
					{% endif %}
				</td>
				<td class="btn-cell-2">
					{% if story.closed %}
					<a class="button special icon fa-mail-forward tool-btn disabled"></a>
					{% elif next_sprint in story.sprints.all %}
					<a href="" class="story_reaffect button special icon fa-mail-forward tool-btn already-checked"></a>
					{% else %}
					<a href="" class="story_reaffect button special icon fa-mail-forward tool-btn" title="Ré-affecter à {{ next_sprint }}"></a>
					{% endif %}
				</td>
				
				<td><a href="{% url 'story_details' story_id=story.id %}">{{ story.name }}</a></td>
				
				<td width="1%">{% if story.weight %}<span>{% include 'weight_svg.html' with weight=story.weight h=20 %}</span>{% endif %}</td>
			</tr>
		{% endfor %}
		</table>
		
		<h4>Rétrospective</h4>
		<form id="retro-section" action="." method="post" enctype="multipart/form-data">
			{% csrf_token %}
			
			{{ form.retro }}
			
	    	<div class="flex-row flex-end" style="margin-top: 10px;">
	    		<input type="submit" value="Enregistrer et clôre le sprint">
	    	</div>
		</form>
		
		<script>
			function csrfSafeMethod(method) {
			    // these HTTP methods do not require CSRF protection
			    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
			}
			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;
			}
			var csrftoken = getCookie('csrftoken');
		
			$(".story_close").click(function(event) {
				event.preventDefault();
				var story_tr = $(this).closest('tr');
				var story_id = story_tr.data('id');
				
	            $.ajax({
	                type: "POST",
	                url: "/stories/close/" + story_id + "/",
	                data: '{story_id:' + story_id + '}',
	                contentType: "application/json; charset=utf-8",
	                dataType: "json",
	                beforeSend: function(xhr, settings) {
	                    if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
	                        xhr.setRequestHeader("X-CSRFToken", csrftoken);
	                    }
	                },
	                success: function (response) {
	                	story_tr.find('.btn-cell').html('<a class="button special icon fa-check tool-btn already-checked"></a>');
	                	story_tr.find('.btn-cell-2').html('<a class="button special icon fa-mail-forward tool-btn disabled"></a>');
	                },
	                failure: function (response) {
	                    alert(response.responseText);
	                },
	                error: function (response) {
	                    alert(response.responseText);
	                }
	            });
			});
		
			$(".story_reaffect").click(function(event) {
				event.preventDefault();
				var story_tr = $(this).closest('tr');
				var story_id = story_tr.data('id');
				
	            $.ajax({
	                type: "POST",
	                url: "/stories/reaffect/" + story_id + "/",
	                data: '{story_id:' + story_id + '}',
	                contentType: "application/json; charset=utf-8",
	                dataType: "json",
	                beforeSend: function(xhr, settings) {
	                    if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
	                        xhr.setRequestHeader("X-CSRFToken", csrftoken);
	                    }
	                },
	                success: function (response) {
	                	story_tr.find('.btn-cell').html('<a class="button special icon fa-check tool-btn disabled"></a>');
	                	story_tr.find('.btn-cell-2').html('<a class="button special icon fa-mail-forward tool-btn already-checked"></a>');
	                },
	                failure: function (response) {
	                    alert(response.responseText);
	                },
	                error: function (response) {
	                    alert(response.responseText);
	                }
	            });
			});
	
			$(".retro-section input").click(function (event) {
				if (confirm('Le sprint courant va être marqué comme terminé, continuer?')) {
					return true;
				}
			});
			
		</script>

	{% endif %}

{% endblock %}