diff --git a/view/src/main/java/se/su/dsv/scipro/finalthesis/FinalThesisPanel$RevisionPanel.html b/view/src/main/java/se/su/dsv/scipro/finalthesis/FinalThesisPanel$RevisionPanel.html index 4794a766db..e3af36075e 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalthesis/FinalThesisPanel$RevisionPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/finalthesis/FinalThesisPanel$RevisionPanel.html @@ -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> diff --git a/view/src/main/java/se/su/dsv/scipro/project/pages/ProjectDetailsPage.java b/view/src/main/java/se/su/dsv/scipro/project/pages/ProjectDetailsPage.java index 5f9aa03211..4f3674ed8b 100755 --- a/view/src/main/java/se/su/dsv/scipro/project/pages/ProjectDetailsPage.java +++ b/view/src/main/java/se/su/dsv/scipro/project/pages/ProjectDetailsPage.java @@ -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())); } }