diff --git a/inginious/frontend/pages/taskset_admin/task_edit.py b/inginious/frontend/pages/taskset_admin/task_edit.py index cf4631a5c..cca6a21c3 100644 --- a/inginious/frontend/pages/taskset_admin/task_edit.py +++ b/inginious/frontend/pages/taskset_admin/task_edit.py @@ -46,6 +46,8 @@ def GET_AUTH(self, tasksetid, taskid): # pylint: disable=arguments-differ environment_types = self.environment_types environments = self.environments + problemdata = [(id, dict(item)) for id, item in list(task_data.get('problems', {}).items())] # odict to tuple list + current_filetype = None try: current_filetype = self.task_factory.get_task_descriptor_extension(taskset.get_id(), taskid) @@ -59,7 +61,7 @@ def GET_AUTH(self, tasksetid, taskid): # pylint: disable=arguments-differ return self.template_helper.render("taskset_admin/task_edit.html", taskset=taskset, taskid=taskid, problem_types=self.task_factory.get_problem_types(), task_data=task_data, environment_types=environment_types, environments=environments, - problemdata=json.dumps(task_data.get('problems', {})), + problemdata=problemdata, contains_is_html=self.contains_is_html(task_data), current_filetype=current_filetype, available_filetypes=available_filetypes, diff --git a/inginious/frontend/static/js/studio.js b/inginious/frontend/static/js/studio.js index c2c7acc80..033d0f51e 100644 --- a/inginious/frontend/static/js/studio.js +++ b/inginious/frontend/static/js/studio.js @@ -22,9 +22,8 @@ function refresh_codemirror() * Load the studio, creating blocks for existing subproblems */ function studio_load(data) -{ - jQuery.each(data, function(pid, problem) - { +{ + data.forEach(([pid, problem]) => { var template = "#subproblem_" + problem["type"]; studio_create_from_template(template, pid); studio_init_template(pid, problem); @@ -334,7 +333,7 @@ function studio_create_new_subproblem() var new_subproblem_type = $('#new_subproblem_type').val(); if(!new_subproblem_pid.match(/^[a-zA-Z0-9_\-]+$/)) { - alert('Problem id should only contain alphanumeric characters (in addition to "_" and "-").'); + alert('Invalid problem id. It should only contain alphanumeric characters (in addition to "_" and "-") and shouldn\'t be empty.'); return; } diff --git a/inginious/frontend/templates/taskset_admin/task_edit.html b/inginious/frontend/templates/taskset_admin/task_edit.html index b556971b5..4fa7a83e6 100644 --- a/inginious/frontend/templates/taskset_admin/task_edit.html +++ b/inginious/frontend/templates/taskset_admin/task_edit.html @@ -140,8 +140,7 @@

{% endblock %}