| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- {% 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/axclose/" + 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/axreaffect/" + 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 %}
|