|
1 | 1 | {% extends 'base.html' %} |
| 2 | +{% load static from staticfiles %} |
| 3 | +{% block add_css %} |
| 4 | + <link rel="stylesheet" href="{% static "chosen-bootstrap/chosen.bootstrap.min.css" %}"> |
| 5 | +{% endblock %} |
2 | 6 | {% block content %} |
| 7 | + <form method="GET" id="calfilter" action="/calendar"> |
| 8 | + <div class="container-fluid chosen-container side-by-side"> |
| 9 | + <div class="row"> |
| 10 | + <div class="col-lg-6" style="width:200px;"> |
| 11 | + <select data-placeholder="Calendar type" id="caltype" class="chosen-select"> |
| 12 | + <option value="engagements">Engagements</option> |
| 13 | + <option value="tests">Tests</option> |
| 14 | + </select> |
| 15 | + </div> |
| 16 | + <div class="col-lg-6" style="width:400px;"> |
| 17 | + <select data-placeholder="All users" multiple id="lead" name="lead" class="chosen-select"> |
| 18 | + <option value="0">All users</option> |
| 19 | + <option value="-1">Unassigned</option> |
| 20 | + {% for u in users %} |
| 21 | + <option value="{{ u.id }}">{{ u.username }}</option> |
| 22 | + {% endfor %} |
| 23 | + </select> |
| 24 | + </div> |
| 25 | + <div class="col-lg-6"> |
| 26 | + <button class="btn btn-primary" type="submit">Apply</button> |
| 27 | + </div> |
| 28 | + </div> |
| 29 | + </div> |
| 30 | + </form> |
| 31 | + <br/><br/> |
3 | 32 | <div id="calendar"></div> |
4 | 33 | <br/><br/> |
5 | 34 | {% endblock %} |
6 | 35 | {% block postscript %} |
| 36 | + <script type="application/javascript" src="{% static "chosen/chosen.jquery.min.js" %}"></script> |
7 | 37 | <script> |
8 | | - $(function () { |
| 38 | + $(function () { |
| 39 | + $('#caltype').change(function() { $('#calfilter').attr('action', '/calendar/' + $(this).val()); }); |
| 40 | + $(".chosen-select").chosen({disable_search_threshold: 10}); |
| 41 | + $('#caltype').val('{{ caltype }}'); $('#caltype').trigger('change'); |
| 42 | + $('#lead').val([{% for lead in leads %} '{{ lead }}', {% endfor %}]); |
| 43 | + $('.chosen-select').trigger('chosen:updated'); |
9 | 44 | $('#calendar').fullCalendar({ |
10 | 45 | header: { |
11 | 46 | left: 'prev,next today', |
|
15 | 50 | editable: false, |
16 | 51 | eventLimit: true, // allow "more" link when too many events |
17 | 52 | events: [ |
18 | | - {% for e in engagements %} |
19 | | - { |
20 | | - title: '{{e.product.name}}: {{ e.name|default:"Unknown" }}', |
21 | | - start: '{{e.target_start|date:"c"}}', |
22 | | - end: '{{e.target_end|date:"c"}}', |
23 | | - url: '{% url 'view_engagement' e.id %}', |
24 | | - color: {% if e.active %}'#337ab7'{% else %}'#b9b9b9'{% endif %}, |
25 | | - overlap: true |
26 | | - }, |
27 | | - {% endfor %} |
| 53 | + {% if caltype == 'tests' %} |
| 54 | + {% for t in tests %} |
| 55 | + { |
| 56 | + title: '{{t.engagement.product.name}}: {{ t.engagement.name|default:"Unknown" }} - {{ t.test_type }} ({{ t.lead|default:"Unassigned" }})', |
| 57 | + start: '{{t.target_start|date:"c"}}', |
| 58 | + end: '{{t.target_end|date:"c"}}', |
| 59 | + url: '{% url 'view_test' t.id %}', |
| 60 | + color: {% if t.engagement.active %}'#337ab7'{% else %}'#b9b9b9'{% endif %}, |
| 61 | + overlap: true |
| 62 | + }, |
| 63 | + {% endfor %} |
| 64 | + {% else %} |
| 65 | + {% for e in engagements %} |
| 66 | + { |
| 67 | + title: '{{e.product.name}}: {{ e.name|default:"Unknown" }} ({{ e.lead|default:"Unassigned" }})', |
| 68 | + start: '{{e.target_start|date:"c"}}', |
| 69 | + end: '{{e.target_end|date:"c"}}', |
| 70 | + url: '{% url 'view_engagement' e.id %}', |
| 71 | + color: {% if e.active %}'#337ab7'{% else %}'#b9b9b9'{% endif %}, |
| 72 | + overlap: true |
| 73 | + }, |
| 74 | + {% endfor %} |
| 75 | + {% endif %} |
28 | 76 | ] |
29 | 77 | }); |
30 | 78 |
|
|
0 commit comments