Close Quiz function
This commit is contained in:
		@@ -88,6 +88,19 @@ $('.test-action').click(function(event) {
 | 
			
		||||
        });
 | 
			
		||||
    } else if (action == 'edit') {
 | 
			
		||||
        window.location.href = `/admin/test/${_id}/`
 | 
			
		||||
    } else if (action == 'close'){
 | 
			
		||||
        $.ajax({
 | 
			
		||||
            url: `/admin/tests/close/`,
 | 
			
		||||
            type: 'POST',
 | 
			
		||||
            data: JSON.stringify({'_id': _id}),
 | 
			
		||||
            contentType: 'application/json',
 | 
			
		||||
            success: function(response) {
 | 
			
		||||
                window.location.reload();
 | 
			
		||||
            },
 | 
			
		||||
            error: function(response){
 | 
			
		||||
                error_response(response);
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    event.preventDefault();
 | 
			
		||||
 
 | 
			
		||||
@@ -168,6 +168,10 @@
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="container justify-content-center">
 | 
			
		||||
                    <div class="row">
 | 
			
		||||
                        <a href="#" class="btn btn-warning test-action" data-action="close" data-_id="{{ test._id }}">
 | 
			
		||||
                            <i class="bi bi-hourglass button-icon"></i>
 | 
			
		||||
                            Close Exam
 | 
			
		||||
                        </a>
 | 
			
		||||
                        <a href="#" class="btn btn-danger test-action" data-action="delete" data-_id="{{ test._id }}">
 | 
			
		||||
                            <i class="bi bi-file-earmark-excel-fill button-icon"></i>
 | 
			
		||||
                            Delete Exam
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
from flask import Blueprint, render_template, flash, redirect, request, jsonify, abort, session
 | 
			
		||||
from flask.helpers import url_for
 | 
			
		||||
from functools import wraps
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from datetime import datetime, timedelta
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
from glob import glob
 | 
			
		||||
@@ -415,6 +415,16 @@ def delete_test():
 | 
			
		||||
        return Test(_id = _id).delete()
 | 
			
		||||
    return jsonify({'error': 'Could not find the corresponding test to delete.'}), 404
 | 
			
		||||
 | 
			
		||||
@views.route('/tests/close/', methods=['POST'])
 | 
			
		||||
@admin_account_required
 | 
			
		||||
@login_required
 | 
			
		||||
def delete_test():
 | 
			
		||||
    from main import db
 | 
			
		||||
    _id = request.get_json()['_id']
 | 
			
		||||
    if db.tests.find_one_and_update({'_id': _id}, {'$set': {'expiry_date': datetime.today() - timedelta(days=1) }}):
 | 
			
		||||
        return Test(_id = _id).delete()
 | 
			
		||||
    return jsonify({'error': 'Could not find the corresponding test to delete.'}), 404
 | 
			
		||||
 | 
			
		||||
@views.route('/test/<_id>/', methods=['GET','POST'])
 | 
			
		||||
@admin_account_required
 | 
			
		||||
@login_required
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user