diff --git a/inginious/frontend/webapp/pages/course_admin/task_list.py b/inginious/frontend/webapp/pages/course_admin/task_list.py index 288c1134..bf583d25 100644 --- a/inginious/frontend/webapp/pages/course_admin/task_list.py +++ b/inginious/frontend/webapp/pages/course_admin/task_list.py @@ -6,6 +6,7 @@ from collections import OrderedDict import web +import yaml from inginious.frontend.webapp.pages.course_admin.utils import make_csv, INGIniousAdminPage @@ -23,6 +24,13 @@ def POST_AUTH(self, courseid): # pylint: disable=arguments-differ course, _ = self.get_course_and_check_rights(courseid) data = web.input(task=[]) + if "new_task_id" in data: + # Create new task + default_task_data = yaml.safe_load(open("task.yaml", "r")) + default_task_data["name"] = data["new_task_id"] + self.task_factory.update_task_descriptor_content(courseid, data["new_task_id"], default_task_data, "yaml") + + if "task" in data: # Change tasks order for index, taskid in enumerate(data["task"]): diff --git a/inginious/frontend/webapp/templates/course_admin/task_list.html b/inginious/frontend/webapp/templates/course_admin/task_list.html index 9cdbb402..df42429a 100644 --- a/inginious/frontend/webapp/templates/course_admin/task_list.html +++ b/inginious/frontend/webapp/templates/course_admin/task_list.html @@ -78,9 +78,12 @@

Tasks
-
-
- +
+
+
+
+
+
$if len(errors) != 0: @@ -117,4 +120,4 @@

Errors while loading tasks

} $$('.sorted_table').sortable($$(this).hasClass("active") ? "enable" : "disable"); }); - \ No newline at end of file + diff --git a/task.yaml b/task.yaml new file mode 100644 index 00000000..541b16bc --- /dev/null +++ b/task.yaml @@ -0,0 +1,24 @@ +accessible: true +author: '' +context: '' +environment: mcq +evaluate: best +groups: false +limits: + output: '2' + memory: '100' + time: '30' +name: default +network_grading: false +problems: + default-task: + name: '' + type: code-multiple-languages + languages: + cpp11: true + header: '' +stored_submissions: 0 +submission_limit: + amount: -1 + period: -1 +weight: 1.0