public boolean myShouldUseJavaFx = StudyUtils.hasJavaFx();
private StudyToolWindow.StudyToolWindowMode myToolWindowMode = StudyToolWindow.StudyToolWindowMode.TEXT;
private boolean myTurnEditingMode = false;
+ private boolean myEnableTestingFromSamples = true;
@Transient private final Project myProject;
public void setUser(@NotNull final StepicUser user) {
myUser = user;
}
+
+ public boolean isEnableTestingFromSamples() {
+ return myEnableTestingFromSamples;
+ }
+
+ public void setEnableTestingFromSamples(boolean enableTestingFromSamples) {
+ myEnableTestingFromSamples = enableTestingFromSamples;
+ }
}
private void checkForAdaptiveCourse(ProgressIndicator indicator) {
final StudyTestsOutputParser.TestsOutput testOutput = getTestOutput(indicator);
if (testOutput != null) {
- if (testOutput.isSuccess()) {
+ // As tests in adaptive courses are created from
+ // samples and stored in task, to disable it we should ignore local testing results
+ if (StudyTaskManager.getInstance(myProject).isEnableTestingFromSamples() && !testOutput.isSuccess()) {
+ onTaskFailed(testOutput.getMessage());
+ }
+ else {
final Pair<Boolean, String> pair = EduAdaptiveStepicConnector.checkTask(myProject, myTask);
if (pair != null && !(!pair.getFirst() && pair.getSecond().isEmpty())) {
if (pair.getFirst()) {
myProject));
}
}
- else {
- onTaskFailed(testOutput.getMessage());
- }
}
}
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.jetbrains.edu.learning.stepic.StepicStudyOptions">
- <grid id="27dc6" binding="myPane" layout-manager="GridLayoutManager" row-count="2" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
+ <grid id="27dc6" binding="myPane" layout-manager="GridLayoutManager" row-count="3" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
- <xy x="20" y="20" width="646" height="400"/>
+ <xy x="20" y="20" width="706" height="400"/>
</constraints>
<properties/>
<clientProperties>
<children>
<vspacer id="6ace">
<constraints>
- <grid row="1" column="0" row-span="1" col-span="2" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
+ <grid row="2" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
</vspacer>
<grid id="e4354" layout-manager="GridLayoutManager" row-count="2" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
- <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="7" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+ <grid row="0" column="0" row-span="1" col-span="2" vsize-policy="3" hsize-policy="7" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
</component>
</children>
</grid>
+ <grid id="a8a02" layout-manager="GridLayoutManager" row-count="1" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
+ <margin top="3" left="0" bottom="0" right="0"/>
+ <constraints>
+ <grid row="1" column="0" row-span="1" col-span="2" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+ </constraints>
+ <properties/>
+ <border type="none"/>
+ <children>
+ <component id="78d63" class="com.intellij.ui.components.JBLabel">
+ <constraints>
+ <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
+ </constraints>
+ <properties>
+ <text value="Testing from samples in adaptive courses"/>
+ </properties>
+ </component>
+ <component id="4b6cb" class="com.intellij.ui.components.JBCheckBox" binding="myEnableTestingFromSamples">
+ <constraints>
+ <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="0" use-parent-layout="false"/>
+ </constraints>
+ <properties>
+ <selected value="true"/>
+ </properties>
+ </component>
+ <hspacer id="976b3">
+ <constraints>
+ <grid row="0" column="2" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
+ </constraints>
+ </hspacer>
+ </children>
+ </grid>
</children>
</grid>
</form>
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.DocumentAdapter;
+import com.intellij.ui.components.JBCheckBox;
import com.jetbrains.edu.learning.StudyTaskManager;
import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.settings.StudyOptionsProvider;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
private JTextField myLoginTextField;
private JPasswordField myPasswordField;
private JPanel myPane;
+ private JBCheckBox myEnableTestingFromSamples;
private boolean myCredentialsModified;
public void focusLost(FocusEvent e) {
}
});
+
+ myEnableTestingFromSamples.addChangeListener(new ChangeListener() {
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ myCredentialsModified = true;
+ }
+ });
reset();
}
public void reset() {
Project project = StudyUtils.getStudyProject();
if (project != null) {
- final StepicUser user = StudyTaskManager.getInstance(project).getUser();
+ StudyTaskManager taskManager = StudyTaskManager.getInstance(project);
+ final StepicUser user = taskManager.getUser();
if (user != null) {
setLogin(user.getEmail());
setPassword(DEFAULT_PASSWORD_TEXT);
}
+ myEnableTestingFromSamples.setSelected(taskManager.isEnableTestingFromSamples());
resetCredentialsModification();
}
else {
if (myCredentialsModified) {
final Project project = StudyUtils.getStudyProject();
if (project != null) {
- final StepicUser user = StudyTaskManager.getInstance(project).getUser();
+ StudyTaskManager taskManager = StudyTaskManager.getInstance(project);
+ taskManager.setEnableTestingFromSamples(myEnableTestingFromSamples.isSelected());
+ final StepicUser user = taskManager.getUser();
user.setEmail(getLogin());
user.setPassword(getPassword());
if (!StringUtil.isEmptyOrSpaces(getLogin()) && !StringUtil.isEmptyOrSpaces(getPassword())) {