3359 Bristande info under Final thesis and reflection

This commit is contained in:
Wayne Westmoreland 2024-04-16 21:31:12 +02:00
parent f1187390ff
commit fb39fa9c64
2 changed files with 19 additions and 9 deletions
view/src/main/java/se/su/dsv/scipro

@ -5,7 +5,7 @@
<strong>Status:</strong> <span class="text-danger">REVISION NEEDED</span>
<div class="help-box">
<span wicket:id="rejectedDateLabel"></span><br>
Your supervisor have decided that you need to revise your final thesis and then upload it again.<br>
Your supervisor has decided that you need to revise your final thesis and then upload it again.<br>
<a href="#" wicket:id="forumLink">Go to the forum to view the reason behind this decision</a>.
</div>
</wicket:panel>

@ -11,7 +11,9 @@ import se.su.dsv.scipro.activityplan.UpcomingActivitiesPanel;
import se.su.dsv.scipro.checklists.ChecklistOverviewPanel;
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightAuthorMyProjects;
import se.su.dsv.scipro.finalseminar.OverviewSeminarPanel;
import se.su.dsv.scipro.finalthesis.FinalThesis;
import se.su.dsv.scipro.finalthesis.FinalThesisPanel;
import se.su.dsv.scipro.finalthesis.FinalThesisService;
import se.su.dsv.scipro.group.AuthorGroupPage;
import se.su.dsv.scipro.group.GroupsOverviewPanel;
import se.su.dsv.scipro.latestevents.LatestEventsPanel;
@ -42,12 +44,23 @@ public class ProjectDetailsPage extends AbstractProjectDetailsPage implements Me
public static final String EXTERNAL_RESOURCES = "externalResources";
public static final String EXTERNAL_LINK = "externalLink";
private final boolean shouldFillOutSurvey;
@Inject
private SurveyService surveyService;
@Inject
private FinalThesisService finalThesisService;
public ProjectDetailsPage(PageParameters pp) {
super(pp);
FinalThesis finalThesis = finalThesisService.findByProject(getActiveProject());
boolean finalThesisIsRejected = (finalThesis != null && finalThesis.isRejected());
shouldFillOutSurvey = surveyService.shouldFillOutSurvey(getActiveProject(), SciProSession.get().getUser())
&& !finalThesisIsRejected;
add(new ExternalResourcesPanel(EXTERNAL_RESOURCES, LambdaModel.of(projectModel, se.su.dsv.scipro.project.Project::getProjectType, se.su.dsv.scipro.project.Project::setProjectType)));
add(new ExternalLinkPanel(EXTERNAL_LINK, projectModel));
@ -90,7 +103,6 @@ public class ProjectDetailsPage extends AbstractProjectDetailsPage implements Me
@Override
protected void onConfigure() {
super.onConfigure();
final boolean shouldFillOutSurvey = surveyService.shouldFillOutSurvey(getActiveProject(), SciProSession.get().getUser());
setVisibilityAllowed(shouldFillOutSurvey);
}
});
@ -103,13 +115,11 @@ public class ProjectDetailsPage extends AbstractProjectDetailsPage implements Me
@Override
protected void onConfigure() {
super.onConfigure();
if (surveyService.shouldFillOutSurvey(getActiveProject(), SciProSession.get().getUser())) {
if (getSession().getMetaData(ProjectFinalSurveyPage.SURVEY_VISITED) == null) {
getFeedbackMessages().forEach(getSession().getFeedbackMessages()::add);
throw new RestartResponseException(
ProjectFinalSurveyPage.class,
ProjectFinalSurveyPage.getPageParameters(getActiveProject()));
}
if (shouldFillOutSurvey && getSession().getMetaData(ProjectFinalSurveyPage.SURVEY_VISITED) == null) {
getFeedbackMessages().forEach(getSession().getFeedbackMessages()::add);
throw new RestartResponseException(
ProjectFinalSurveyPage.class,
ProjectFinalSurveyPage.getPageParameters(getActiveProject()));
}
}