Switch to unified view

a b/OSSEval/analysis/templates/analysis/analysis_report.html
1
{% extends "base.html" %}
2
{% load staticfiles %}
3
{% block content %}
4
                        {% include "analysis/analysis_tabs.html" %} 
5
                        
6
                        <div id="run">
7
                            <!-- TODO: create custom template tag to make it work for a generic number of page levels
8
                                 https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion-tags      -->
9
                            <ul>
10
                            {% for p in methodology_version.page_set.all %}
11
                                <li><a href="#page{{ p.id }}">{{ p.name }}</a></li>
12
                            {% endfor %}
13
                            </ul>
14
                            {% for p in methodology_version.page_set.all %}
15
                                <div id="page{{ p.id }}">
16
                                    <ul>
17
                                      {% for p1 in p.page_set.all %}
18
                                        <li><a href="#page{{ p1.id }}">{{ p1.name }}</a></li>
19
                                      {% endfor %}
20
                                    </ul>
21
                                    {% for p1 in p.page_set.all %}
22
                                        <div id="page{{ p1.id }}"><form>
23
                                        {% for q in p1.question_set.all %}
24
                                            <label>{{ q.text }}:</label> <span id="msgq{{ q.id }}"></span><br>
25
                                            {% for c in q.choice_set.all %}
26
                                                 <label><input type="radio" class="radioquestion" name="radioquestion{{ q.id }}" question_id="{{ q.id }}" id="question{{ q.id }}_{{ c.order }}" value="{{ c.order }}" /> {{ c.text }}</label><br>
27
                                            {% endfor %}
28
                                            <label>Notes": </label><input class="questionnotes" id="notes{{ q.id }}" question_id="{{ q.id }}" type="text" size="80" id="questionnotes{{ q.id }}" value=" " /><br>
29
                                            <div id="MetadataInfo{{ q.id }}"><img src="{% static "images/wait1.gif" %}"/></div><hr>
30
                                        {% endfor %}
31
                                        </form></div>
32
                                    {% endfor %}
33
                                </div>
34
                                <script type="text/javascript">
35
                                    $('div#page{{ p.id }}').tabs();
36
                                </script>
37
                            {% endfor %}
38
                            <script type="text/javascript">
39
                                //f cannot be moved to osseval.js as we have csrf_token
40
                                var save_answer_success = function(data, textStatus, jqXHR) { $('span#msgq'+data.question_id).show('slow');$('span#msgq'+data.question_id).html('Saved').css("color","green").delay(3000).fadeOut(); }
41
                                var save_answer_error = function(data, textStatus, jqXHR) { $('span#msgq'+data.question_id).show('slow');$('span#msgq'+data.question_id).html('Error: ' + data.response).css("color","green").delay(6000).fadeOut(); }
42
                                var f=function() {
43
                                  $.ajax({
44
                                    async: true, type: 'POST',
45
                                    url: 'save_answer',
46
                                    dataType: 'json',
47
                                    success: save_answer_success,
48
                                    error: save_answer_error,
49
                                    data: {csrfmiddlewaretoken: '{{ csrf_token }}', question_id  : $(this).attr('question_id'), id_selected_instance: id_selected_instance, value: $(this).val(), notes: $('input#notes'+$(this).attr('question_id')).val() }
50
                                  });
51
                                }
52
                                $('input.radioquestion').bind('click', f);
53
                                var timeout;
54
                                $('input.questionnotes').bind('input', function () {
55
                                    clearTimeout(timeout);
56
                                    var self = this;
57
                                    timeout = setTimeout(function () {
58
                                    question_id = $(self).attr('question_id');
59
                                    $.ajax({
60
                                      async: true, type: 'POST',
61
                                      url: 'save_answer',
62
                                      dataType: 'json',
63
                                      success: save_answer_success,
64
                                      error: save_answer_error,
65
                                      data: {csrfmiddlewaretoken: '{{ csrf_token }}', question_id: question_id, id_selected_instance: id_selected_instance, value: $('input:radio[name=radioquestion'+question_id+']:checked').val(), notes: $(self).val() }
66
                                    });
67
                                  }, 1500);
68
                                });
69
                            </script>
70
                        </div>
71
                        <script type="text/javascript">
72
                            $('div#run').tabs();
73
                            updateAnswers(id_selected_instance);
74
                            updateMetadata(id_selected_instance);
75
                        </script>
76
{% endblock %}
77
{% block left_menu %}
78
                {% include "analysis/analysis_left_menu.html" %}
79
                <script type="text/javascript">$("#analysis_questions").addClass("active");</script>
80
{% endblock %}