diff options
author | Palaparthy Adityachandra | 2021-03-24 16:12:33 +0530 |
---|---|---|
committer | GitHub | 2021-03-24 16:12:33 +0530 |
commit | f8504f1077a532d0978fa1069c6eeb3c1912e939 (patch) | |
tree | 3b15ae27d9c6e6599fe8025ebc95075fb253c58a /yaksh/templates | |
parent | f44cbc461f4c23c08d655749ccb525d99f2e7dbc (diff) | |
parent | 04684f6c636ed827a8ff029a8c0d9b7755096599 (diff) | |
download | online_test-f8504f1077a532d0978fa1069c6eeb3c1912e939.tar.gz online_test-f8504f1077a532d0978fa1069c6eeb3c1912e939.tar.bz2 online_test-f8504f1077a532d0978fa1069c6eeb3c1912e939.zip |
Merge pull request #807 from prathamesh920/add-test-cases-for-QRcode-based-upload
Add test cases for qrcode based upload
Diffstat (limited to 'yaksh/templates')
-rw-r--r-- | yaksh/templates/yaksh/question.html | 36 | ||||
-rw-r--r-- | yaksh/templates/yaksh/upload_file.html | 78 |
2 files changed, 104 insertions, 10 deletions
diff --git a/yaksh/templates/yaksh/question.html b/yaksh/templates/yaksh/question.html index 2779db2..f8f0c46 100644 --- a/yaksh/templates/yaksh/question.html +++ b/yaksh/templates/yaksh/question.html @@ -270,15 +270,6 @@ question_type = "{{ question.type }}"; <!-- Upload type question --> {% if question.type == "upload" %} - <p>Upload assignment file for the said question<p> - <div class="dropzone needsclick dz-clickable" id="dropzone_file"> - <div class="dz-message needsclick"> - <button type="button" class="dz-button"> - Drop files here or click to upload. - </button> - </div> - </div> - <br> {% if assignment_files %} <div> <ul class="list-group"> @@ -290,6 +281,32 @@ question_type = "{{ question.type }}"; </ul> </div> {% endif %} + <br /> + <div class="row"> + <div class="col-md-8"> + <p>Upload assignment file for the said question. + <br> + <span class="badge badge-primary"> + </u> <strong>You can upload using the file browser below or via the QR code.</strong></u> + </span> + </p> + <div class="dropzone needsclick dz-clickable" id="dropzone_file"> + <div class="dz-message needsclick"> + <button type="button" class="dz-button"> + Drop files here or click to upload. + </button> + </div> + </div> + </div> + <div class="col-md-4"> + {% if qrcode %} + <img src="{{ qrcode.image.url }}" width="200" height="200"> + {% else %} + <a class="active btn btn-outline-primary " href="{% url 'yaksh:generate_qrcode' paper.id question.id module.id %}" data-toggle="tooltip" + title="Upload from any device using the QR Code">Generate QR Code</a> + {% endif %} + </div> + </div> {% endif %} <!-- Arrange type question --> @@ -370,7 +387,6 @@ question_type = "{{ question.type }}"; {% if question.type == 'code' or question.type == 'upload' %} <div id="error_panel"></div> {% endif %} - <!-- Modal --> <div class="modal" id="upload_alert" > <div class="modal-dialog"> diff --git a/yaksh/templates/yaksh/upload_file.html b/yaksh/templates/yaksh/upload_file.html new file mode 100644 index 0000000..e25e8e7 --- /dev/null +++ b/yaksh/templates/yaksh/upload_file.html @@ -0,0 +1,78 @@ +{% load static %} +<html> +<title> Upload File </title> +<script language="JavaScript" type="text/javascript" src="{% static 'yaksh/js/jquery-3.3.1.min.js' %}"></script> +<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.8.1/dropzone.min.css"> +<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.8.1/basic.min.css"> +<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.8.1/min/dropzone.min.js"></script> +<style> +div, input, button { + font-size: x-large; + text-align: center; +} +</style> +<div> +{% if success %} + <p> {{ msg }}</p> +{% else %} + <form id="code" action="{% url 'yaksh:upload_file' key %}" method="post" enctype="multipart/form-data"> + {% csrf_token %} + <h3>Upload assignment file for {{ question.summary }}</h3> + <div class="dropzone needsclick dz-clickable" id="dropzone_file"> + <div class="dz-message needsclick"> + <button type="button" class="dz-button"> + Drop files here or click to upload. + </button> + </div> + </div> + <br> + <button class="btn btn-success" type="submit" name="check" id="check">Upload</button> + </form> +{% endif %} +</div> +</html> +<script> + Dropzone.autoDiscover = false; + var submitfiles; + $(document).ready(function(){ + var filezone = $("div#dropzone_file").dropzone({ + url: $("#code").attr("action"), + parallelUploads: 10, + uploadMultiple: true, + maxFiles:20, + paramName: "assignment", + autoProcessQueue: false, + init: function() { + var submitButton = document.querySelector("#check"); + myDropzone = this; + submitButton.addEventListener("click", function(e) { + if (myDropzone.getQueuedFiles().length === 0) { + alert("Please select a file and upload"); + e.preventDefault(); + return; + } + if (myDropzone.getAcceptedFiles().length > 0) { + if (submitfiles === true) { + submitfiles = false; + return; + } + e.preventDefault(); + myDropzone.processQueue(); + myDropzone.on("complete", function () { + submitfiles = true; + $('#check').trigger('click'); + }); + } + }); + }, + success: function (file, response) { + document.open(); + document.write(response); + document.close(); + }, + headers: { + "X-CSRFToken": document.getElementById("code").elements[0].value + } + }); + }); +</script> |