sprint_end.html 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. {% extends '_layout.html' %}
  2. {% block title %}
  3. Clotûre de {{ sprint }}
  4. {% endblock %}
  5. {% block breadcrumb %}
  6. <li><a href="{% url 'index' %}">Accueil</a></li>
  7. <li><a>Clotûre du {{ sprint }}</a></li>
  8. {% endblock %}
  9. {% block main %}
  10. <header>
  11. <div class="flex-row">
  12. <h2 class="flex-extend">Clotûre du {{ sprint }}</h2>
  13. <span>
  14. </span>
  15. </div>
  16. </header>
  17. <div id="sprint-end">
  18. {% if not next_sprint %}
  19. <p class="error">Le sprint suivant n'existe pas!</p>
  20. {% else %}
  21. <h3>Clore les stories</h3>
  22. <table id="sprint-end-table">
  23. {% for story in sprint.stories.all|dictsort:"id" %}
  24. <tr data-id="{{ story.id }}">
  25. <td class="btn-cell" width="1%">
  26. {% if story.closed %}
  27. <a href="" class="story_close button special icon fa-check tool-btn already-checked"></a>
  28. {% elif next_sprint in story.sprints.all %}
  29. <a href="" class="story_close button special icon fa-check tool-btn disabled"></a>
  30. {% else %}
  31. <a href="" class="story_close button special icon fa-check tool-btn" title="Clôre"></a>
  32. {% endif %}
  33. </td>
  34. <td class="btn-cell-2" width="1%">
  35. {% if story.closed %}
  36. <a class="button special icon fa-mail-forward tool-btn disabled"></a>
  37. {% elif next_sprint in story.sprints.all %}
  38. <a href="" class="story_reaffect button special icon fa-mail-forward tool-btn already-checked"></a>
  39. {% else %}
  40. <a href="" class="story_reaffect button special icon fa-mail-forward tool-btn" title="Ré-affecter à {{ next_sprint }}"></a>
  41. {% endif %}
  42. </td>
  43. <td width="50%"><a href="{% url 'story_details' story_id=story.id %}">{{ story.name }}</a></td>
  44. <td class="annotation">{% if story.epic_id %}<span>{{ story.epic.name }}</span>{% endif %}</td>
  45. <td width="1%">{% if story.weight %}<span>{% include 'weight_svg.html' with weight=story.weight h=20 %}</span>{% endif %}</td>
  46. <td width="10%">
  47. <form action="{% url 'story_time_spent_update' story_id=story.id %}"
  48. method="post" accept-charset="utf-8"
  49. style="margin: 0;">
  50. {% csrf_token %}
  51. <input class="raw-input" name="time_spent" type="text" value="{{ story.time_spent }}" title="Temps passé (en 1/2 journées)">
  52. </form>
  53. </td>
  54. </tr>
  55. {% endfor %}
  56. </table>
  57. <h3>Rétrospective</h3>
  58. <form id="retro-section" action="." method="post" enctype="multipart/form-data">
  59. {% csrf_token %}
  60. <h4>Qu'est-ce qui a été, qu'est-ce qui n'a pas été?</h4>
  61. {{ form.retro }}
  62. <h4>Que peut-on améliorer?</h4>
  63. {{ form.improvements }}
  64. <div class="flex-row flex-end" style="margin-top: 10px;">
  65. <input type="submit" value="Enregistrer et clôre le sprint">
  66. </div>
  67. </form>
  68. </div>
  69. {% endif %}
  70. {% endblock %}