mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EDU-943 Check is not available if not authorized
This commit is contained in:
+1
-6
@@ -29,7 +29,6 @@ import com.jetbrains.edu.learning.courseFormat.tasks.Task;
|
||||
import com.jetbrains.edu.learning.courseFormat.tasks.TheoryTask;
|
||||
import com.jetbrains.edu.learning.editor.StudyEditor;
|
||||
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import icons.EducationalCoreIcons;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -175,11 +174,7 @@ public class StudyCheckAction extends StudyActionWithShortcut {
|
||||
}
|
||||
|
||||
private StudyCheckResult checkOnRemote() {
|
||||
final StepicUser user = StudySettings.getInstance().getUser();
|
||||
if (user == null) {
|
||||
return new StudyCheckResult(StudyStatus.Unchecked, "Failed to launch checking: you're not authorized");
|
||||
}
|
||||
return myChecker.checkOnRemote(user);
|
||||
return myChecker.checkOnRemote(StudySettings.getInstance().getUser());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -7,6 +7,7 @@ import com.jetbrains.edu.learning.courseFormat.StudyStatus;
|
||||
import com.jetbrains.edu.learning.courseFormat.tasks.Task;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class StudyTaskChecker<T extends Task> {
|
||||
@NotNull protected final T myTask;
|
||||
@@ -31,7 +32,7 @@ public class StudyTaskChecker<T extends Task> {
|
||||
return new StudyCheckResult(StudyStatus.Unchecked, "Check for " + myTask.getTaskType() + " task isn't available");
|
||||
}
|
||||
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
return new StudyCheckResult(StudyStatus.Unchecked, "Remote check for " + myTask.getTaskType() + " task isn't available");
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -16,6 +16,7 @@ import com.jetbrains.edu.learning.courseFormat.tasks.PyCharmTask;
|
||||
import com.jetbrains.edu.learning.courseFormat.tasks.TaskWithSubtasks;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -39,7 +40,7 @@ public class TaskWithSubtasksChecker extends StudyTaskChecker<TaskWithSubtasks>
|
||||
}
|
||||
|
||||
@Override
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
if (myPyCharmTaskChecker != null) {
|
||||
return myPyCharmTaskChecker.checkOnRemote(user);
|
||||
}
|
||||
|
||||
+7
-1
@@ -4,13 +4,16 @@ import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.jetbrains.edu.learning.StudyUtils;
|
||||
import com.jetbrains.edu.learning.actions.StudyCheckAction;
|
||||
import com.jetbrains.edu.learning.checker.StudyCheckResult;
|
||||
import com.jetbrains.edu.learning.checker.StudyTaskChecker;
|
||||
import com.jetbrains.edu.learning.courseFormat.StudyStatus;
|
||||
import com.jetbrains.edu.learning.editor.StudyChoiceVariantsPanel;
|
||||
import com.jetbrains.edu.learning.stepic.EduAdaptiveStepicConnector;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import com.jetbrains.edu.learning.ui.StudyToolWindow;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -61,7 +64,10 @@ public class ChoiceTask extends Task {
|
||||
public StudyTaskChecker getChecker(@NotNull Project project) {
|
||||
return new StudyTaskChecker<ChoiceTask>(this, project) {
|
||||
@Override
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
if (user == null) {
|
||||
return new StudyCheckResult(StudyStatus.Unchecked, StudyCheckAction.FAILED_CHECK_LAUNCH);
|
||||
}
|
||||
return EduAdaptiveStepicConnector.checkChoiceTask(myProject, myTask, user);
|
||||
}
|
||||
|
||||
|
||||
+7
-1
@@ -1,12 +1,15 @@
|
||||
package com.jetbrains.edu.learning.courseFormat.tasks;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.jetbrains.edu.learning.actions.StudyCheckAction;
|
||||
import com.jetbrains.edu.learning.checker.StudyCheckResult;
|
||||
import com.jetbrains.edu.learning.checker.StudyCheckUtils;
|
||||
import com.jetbrains.edu.learning.checker.StudyTaskChecker;
|
||||
import com.jetbrains.edu.learning.courseFormat.StudyStatus;
|
||||
import com.jetbrains.edu.learning.stepic.EduAdaptiveStepicConnector;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class CodeTask extends Task {
|
||||
@SuppressWarnings("unused") //used for deserialization
|
||||
@@ -31,7 +34,10 @@ public class CodeTask extends Task {
|
||||
}
|
||||
|
||||
@Override
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
if (user == null) {
|
||||
return new StudyCheckResult(StudyStatus.Unchecked, StudyCheckAction.FAILED_CHECK_LAUNCH);
|
||||
}
|
||||
return EduAdaptiveStepicConnector.checkCodeTask(myProject, myTask, user);
|
||||
}
|
||||
};
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import com.jetbrains.edu.learning.checker.StudyTaskChecker;
|
||||
import com.jetbrains.edu.learning.courseFormat.StudyStatus;
|
||||
import com.jetbrains.edu.learning.stepic.StepicUser;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class TheoryTask extends Task {
|
||||
@SuppressWarnings("unused") //used for deserialization
|
||||
@@ -33,7 +34,7 @@ public class TheoryTask extends Task {
|
||||
}
|
||||
|
||||
@Override
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
return check();
|
||||
}
|
||||
};
|
||||
|
||||
+2
-2
@@ -111,11 +111,11 @@ public class PyStudyTaskChecker extends StudyTaskChecker<PyCharmTask> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public StudyCheckResult checkOnRemote(@NotNull StepicUser user) {
|
||||
public StudyCheckResult checkOnRemote(@Nullable StepicUser user) {
|
||||
StudyCheckResult result = check();
|
||||
final Course course = StudyTaskManager.getInstance(myProject).getCourse();
|
||||
StudyStatus status = result.getStatus();
|
||||
if (course != null && EduNames.STUDY.equals(course.getCourseMode()) && status != StudyStatus.Unchecked) {
|
||||
if (user != null && course != null && EduNames.STUDY.equals(course.getCourseMode()) && status != StudyStatus.Unchecked) {
|
||||
EduStepicConnector.postSolution(myTask, status == StudyStatus.Solved, myProject);
|
||||
}
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user