mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 14:04:20 +01:00
Fix issue with previewing some challenge plugins (#1579)
This commit is contained in:
@@ -237,20 +237,27 @@ function handleChallengeOptions(event) {
|
|||||||
|
|
||||||
$(() => {
|
$(() => {
|
||||||
$(".preview-challenge").click(function(_e) {
|
$(".preview-challenge").click(function(_e) {
|
||||||
window.challenge = new Object();
|
|
||||||
CTFd._internal.challenge = {};
|
CTFd._internal.challenge = {};
|
||||||
$.get(
|
$.get(
|
||||||
CTFd.config.urlRoot + "/api/v1/challenges/" + window.CHALLENGE_ID,
|
CTFd.config.urlRoot + "/api/v1/challenges/" + window.CHALLENGE_ID,
|
||||||
function(response) {
|
function(response) {
|
||||||
const challenge = CTFd._internal.challenge;
|
// Preview should not show any solves
|
||||||
var challenge_data = response.data;
|
var challenge_data = response.data;
|
||||||
challenge_data["solves"] = null;
|
challenge_data["solves"] = null;
|
||||||
|
|
||||||
$.getScript(
|
$.getScript(
|
||||||
CTFd.config.urlRoot + challenge_data.type_data.scripts.view,
|
CTFd.config.urlRoot + challenge_data.type_data.scripts.view,
|
||||||
function() {
|
function() {
|
||||||
|
const challenge = CTFd._internal.challenge;
|
||||||
|
|
||||||
|
// Inject challenge data into the plugin
|
||||||
|
challenge.data = response.data;
|
||||||
|
|
||||||
$("#challenge-window").empty();
|
$("#challenge-window").empty();
|
||||||
|
|
||||||
|
// Call preRender function in plugin
|
||||||
|
challenge.preRender();
|
||||||
|
|
||||||
$("#challenge-window").append(challenge_data.view);
|
$("#challenge-window").append(challenge_data.view);
|
||||||
|
|
||||||
$("#challenge-window #challenge-input").addClass("form-control");
|
$("#challenge-window #challenge-input").addClass("form-control");
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user