diff options
Diffstat (limited to 'yaksh/templates')
-rw-r--r-- | yaksh/templates/base.html | 2 | ||||
-rw-r--r-- | yaksh/templates/exam.html | 96 | ||||
-rw-r--r-- | yaksh/templates/yaksh/error_template.html | 91 | ||||
-rw-r--r-- | yaksh/templates/yaksh/question.html | 22 |
4 files changed, 106 insertions, 105 deletions
diff --git a/yaksh/templates/base.html b/yaksh/templates/base.html index 007d9b8..e7c4a99 100644 --- a/yaksh/templates/base.html +++ b/yaksh/templates/base.html @@ -52,6 +52,7 @@ {% block content %} {% endblock %} </div> + </div> <footer class="footer" id="footer_div"> <div class="logged_user_info" align="center"> {% block info %} @@ -61,7 +62,6 @@ <p align="center">Developed by FOSSEE group, IIT Bombay</p> </div> </footer> - </div> </body> </html> diff --git a/yaksh/templates/exam.html b/yaksh/templates/exam.html index ce3bf44..d0812a4 100644 --- a/yaksh/templates/exam.html +++ b/yaksh/templates/exam.html @@ -33,15 +33,6 @@ </nav><!-- /.navbar --> {% endblock %} {% block content %} - <script> - $(document).ready(function() { - var ele = document.getElementById('error_panel') - if (ele) { - ele.scrollIntoView(true); - window.scrollBy(0, -15); - } - }); - </script> <div class="container-fluid"> <div class="col-sm-3 col-md-2 sidebar"> <p> Question Navigator </p> @@ -78,96 +69,11 @@ {% endblock %} </div> <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> - <div class="row"> <div class="row"> {% block main %} {% endblock %} </div> - <br/> - {% if question.type == 'code' or question.type == 'upload' %} - {% if error_message %} - <div class="row" id="error_panel"> - {% for error in error_message %} - <div class="panel panel-danger"> - <div class="panel-heading">Error No. {{ forloop.counter }}</div> - <div class="panel-body"> - <div class="well well-sm"> - {% if not error.type %} - <pre><code> {{error|safe}} </code></pre> - {% elif error.type == 'assertion' %} - {% if error.test_case %} - <strong> We tried your code with the following test case:</strong><br/></br> - <pre><code><strong style="color:#d9534f">{{error.test_case}}</strong></code></pre> - {% endif %} - <p> <b>The following error took place: </b></p> - <table class="table table-bordered" width="100%" id='assertion'> - <col width="30%"> - <tr class = "active"> - <td><b>Exception Name: </b></td> - <td><span style="color: #d9534f">{{error.exception}}</span></td> - </tr> - <tr> - <td><b>Exception Message: </b></td><td>{{error.message}}</td> - </tr> - <tr> - {% if error.traceback %} - <td><b>Full Traceback: </b></td> - <td><pre>{{error.traceback}}</pre></td> - {% endif %} - </tr> - </table> - {% elif error.type == 'stdio' %} - {% if error.given_input %} - <table class="table table-bordered"> - <col width="30%"> - <tr class = "active"> - <td> For given Input value(s):</td> - <td>{{error.given_input}}</td> - </tr> - </table> - {% endif %} - <table class="table table-bordered" width="100%" id="stdio"> - <col width="10%"> - <col width="40%"> - <col width="40%"> - <col width="10%"> - <tr class="info"> - <th><center>Line No.</center></th> - <th><center>Expected Output</center></th> - <th><center>User output</center></th> - <th><center>Status</center></th> - </tr> - {% for expected,user in error.expected_output|zip:error.user_output %} - <td> {{forloop.counter}} </td> - <td>{{expected|default:""}} </td> - <td>{{user|default:""}}</td> - {% if forloop.counter0 in error.error_line_numbers or not expected or not user %} - <td><span class ="glyphicon glyphicon-remove text-warning"/></td> - {% else %} - <td><span class ="glyphicon glyphicon-ok text-success"/></td> - {% endif %} - </tr> - {% endfor %} - </table> - <table width="100%" class='table table-bordered'> - <col width="10"> - <tr class = "danger"> - <td><b>Error:</b></td> - <td>{{error.error_msg}}</td> - </tr> - </table> - - {% endif %} </div> - </div> - </div> - {% endfor %} - - </div> - {% endif %} - {% endif %} - </div> </div> - </div> -</div> + {% endblock %} diff --git a/yaksh/templates/yaksh/error_template.html b/yaksh/templates/yaksh/error_template.html new file mode 100644 index 0000000..61657ae --- /dev/null +++ b/yaksh/templates/yaksh/error_template.html @@ -0,0 +1,91 @@ +{% block css%} + <link rel="stylesheet" href="{{ URL_ROOT }}/static/yaksh/css/dashboard.css" type="text/css" /> +{% endblock %} + +{% load custom_filters %} + +{% if error_message %} + {% for error in error_message %} + + <div class="panel panel-danger"> + <div class="panel-heading">Error No. {{ forloop.counter }}</div> + <div class="panel-body"> + <div class="well well-sm"> + {% if not error.type %} + <pre><code> {{error|safe}} </code></pre> + + {% elif error.type == 'assertion' %} + + {% if error.test_case %} + <strong> We tried your code with the following test case:</strong> + <br/></br> + <pre><code><strong style="color:#d9534f"> + {{error.test_case}} + </strong></code></pre> + {% endif %} + <p> <b>The following error took place: </b></p> + <table class="table table-bordered" width="100%" id='assertion'> + <col width="30%"> + <tr class = "active"> + <td><b>Exception Name: </b></td> + <td><span style="color: #d9534f">{{error.exception}}</span></td> + </tr> + <tr> + <td><b>Exception Message: </b></td><td>{{error.message}}</td> + </tr> + <tr> + {% if error.traceback %} + <td><b>Full Traceback: </b></td> + <td><pre>{{error.traceback}}</pre></td> + {% endif %} + </tr> + </table> + + {% elif error.type == 'stdio' %} + + {% if error.given_input %} + <table class="table table-bordered"> + <col width="30%"> + <tr class = "active"> + <td> For given Input value(s):</td> + <td>{{error.given_input}}</td> + </tr> + </table> + {% endif %} + + <table class="table table-bordered" width="100%" id="stdio"> + <col width="10%"> + <col width="40%"> + <col width="40%"> + <col width="10%"> + <tr class="info"> + <th><center>Line No.</center></th> + <th><center>Expected Output</center></th> + <th><center>User output</center></th> + <th><center>Status</center></th> + </tr> + {% for expected,user in error.expected_output|zip:error.user_output %} + <td> {{forloop.counter}} </td> + <td>{{expected|default:""}} </td> + <td>{{user|default:""}}</td> + {% if forloop.counter0 in error.error_line_numbers or not expected or not user %} + <td><span class ="glyphicon glyphicon-remove text-warning"/></td> + {% else %} + <td><span class ="glyphicon glyphicon-ok text-success"/></td> + {% endif %} + </tr> + {% endfor %} + </table> + <table width="100%" class='table table-bordered'> + <col width="10"> + <tr class = "danger"> + <td><b>Error:</b></td> + <td>{{error.error_msg}}</td> + </tr> + </table> + {% endif %} + </div> + </div> + </div> + {% endfor %} +{% endif %}
\ No newline at end of file diff --git a/yaksh/templates/yaksh/question.html b/yaksh/templates/yaksh/question.html index 12f5da6..186a40b 100644 --- a/yaksh/templates/yaksh/question.html +++ b/yaksh/templates/yaksh/question.html @@ -200,19 +200,19 @@ module_id = "{{module.id}}" {% if question.type == "integer" %} Enter Integer:<br/> - <input name="answer" type="number" id="integer" value={{ last_attempt|safe }} /> + <input autofocus name="answer" type="number" id="integer" value={{ last_attempt|safe }} /> <br/><br/> {% endif %} {% if question.type == "string" %} Enter Text:<br/> - <textarea name="answer" id="string">{{ last_attempt|safe }}</textarea> + <textarea autofocus name="answer" id="string">{{ last_attempt|safe }}</textarea> <br/><br/> {% endif %} {% if question.type == "float" %} Enter Decimal Value :<br/> - <input name="answer" type="number" step="any" id="float" value={{ last_attempt|safe }} /> + <input autofocus name="answer" type="number" step="any" id="float" value={{ last_attempt|safe }} /> <br/><br/> {% endif %} @@ -242,7 +242,7 @@ module_id = "{{module.id}}" <a href="#answer" class="pull-right" onclick="reset_editor()" name="reset" id="reset">Undo Changes <span class="glyphicon glyphicon-refresh"></span></a> </div> </div> - <textarea name="answer" id="answer"></textarea> + <textarea autofocus name="answer" id="answer"></textarea> <br> {% endif %} <div class="from-group"> @@ -262,12 +262,16 @@ module_id = "{{module.id}}" {% if question in paper.get_questions_unanswered %} <button class="btn btn-primary" onclick="call_skip('{{ URL_ROOT }}/exam/{{ question.id }}/skip/{{ paper.attempt_number }}/{{ module.id }}/{{ paper.question_paper.id }}/{{course.id}}/')" name="skip" id="skip">Attempt Later <span class="glyphicon glyphicon-arrow-right"></span></button> {% endif %} - </div> - </div> - </div> - + {% endif %} + </div> </form> - {% endif %} + </div> + </div> + </div> + <br/> + {% if question.type == 'code' or question.type == 'upload' %} + <div class="row" id="error_panel"></div> + {% endif %} <!-- Modal --> <div class="modal fade " id="upload_alert" > |