diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCNewSubtaskAction.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCNewSubtaskAction.java index d3ed83425965..4e224d258f5e 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCNewSubtaskAction.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCNewSubtaskAction.java @@ -54,11 +54,11 @@ public class CCNewSubtaskAction extends DumbAwareAction { if (taskFile == null) { return; } - VirtualFile taskDir = StudyUtils.getTaskDir(virtualFile); + Task task = taskFile.getTask(); + VirtualFile taskDir = task.getTaskDir(project); if (taskDir == null) { return; } - Task task = taskFile.getTask(); createTestsForNewSubtask(project, task); int num = task.getSubtaskNum(); createTaskDescriptionFile(project, taskDir, num); diff --git a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java index aaa72fe823be..d16950df17ae 100644 --- a/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java +++ b/python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/Task.java @@ -144,7 +144,12 @@ public class Task implements StudyItem { if (courseDir != null) { VirtualFile lessonDir = courseDir.findChild(lessonDirName); if (lessonDir != null) { - return lessonDir.findChild(taskDirName); + VirtualFile taskDir = lessonDir.findChild(taskDirName); + if (taskDir == null) { + return null; + } + VirtualFile srcDir = taskDir.findChild(EduNames.SRC); + return srcDir != null ? srcDir : taskDir; } } return null;