2984 PO 11) Can only change publication metadata if no students have been submitted for examination
This commit is contained in:
parent
239c648549
commit
c2c7551c39
view/src
main/java/se/su/dsv/scipro/grading
test/java/se/su/dsv/scipro/grading
@ -7,7 +7,7 @@
|
||||
|
||||
<wicket:container wicket:id="components"/>
|
||||
|
||||
<button class="btn btn-success btn-sm scrollSneak" type="submit">
|
||||
<button class="btn btn-success btn-sm scrollSneak" type="submit" wicket:id="save">
|
||||
Save
|
||||
</button>
|
||||
</form>
|
||||
|
@ -1,6 +1,7 @@
|
||||
package se.su.dsv.scipro.grading;
|
||||
|
||||
import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.TextArea;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
@ -8,6 +9,8 @@ import org.apache.wicket.markup.html.panel.GenericPanel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LambdaModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import se.su.dsv.scipro.finalthesis.FinalThesis;
|
||||
import se.su.dsv.scipro.finalthesis.FinalThesisService;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -15,6 +18,8 @@ import javax.inject.Inject;
|
||||
public class PublicationMetadataPanel extends GenericPanel<Project> {
|
||||
@Inject
|
||||
PublicationMetadataService publicationMetadataService;
|
||||
@Inject
|
||||
private FinalThesisService finalThesisService;
|
||||
|
||||
public PublicationMetadataPanel(String id, IModel<Project> projectModel) {
|
||||
super(id, projectModel);
|
||||
@ -32,6 +37,20 @@ public class PublicationMetadataPanel extends GenericPanel<Project> {
|
||||
|
||||
add(new FencedFeedbackPanel("feedback", this));
|
||||
add(new PublicationMetadataFormComponentPanel("components", metadataModel));
|
||||
|
||||
add(new WebMarkupContainer("save") {
|
||||
@Override
|
||||
protected void onConfigure() {
|
||||
super.onConfigure();
|
||||
setVisible(isEnabledInHierarchy());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onConfigure() {
|
||||
super.onConfigure();
|
||||
setEnabled(finalThesisService.canReject(PublicationMetadataPanel.this.getModelObject()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,5 +1,6 @@
|
||||
package se.su.dsv.scipro.grading;
|
||||
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.util.tester.FormTester;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@ -9,6 +10,7 @@ import se.su.dsv.scipro.project.Project;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class PublicationMetadataPanelTest extends SciProTest {
|
||||
private Project project;
|
||||
@ -17,6 +19,7 @@ class PublicationMetadataPanelTest extends SciProTest {
|
||||
void setUp() {
|
||||
project = new Project();
|
||||
project.setId(2397842L);
|
||||
when(finalThesisService.canReject(project)).thenReturn(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user