From f7206f619fe30f12c1403a943c901f336261fd66 Mon Sep 17 00:00:00 2001 From: Nico Athanassiadis <nico@dsv.su.se> Date: Wed, 20 Nov 2024 11:07:07 +0100 Subject: [PATCH] Fix for project title commit 90604b8ef1f82343e913319c54802dbd09278027 The project title was added to the wrong panel which caused side effect of showing a title when creating a new template. Moved the previous code it is only shown when editing a template. Also changed it to read the title from the database using the LoadableDetachableModel pattern. Now the project title should only be shown when editing an existing template. --- .../admin/pages/grading/AdminGradingTemplateEditPage.html | 5 +++++ .../admin/pages/grading/AdminGradingTemplateEditPage.java | 6 ++++++ .../pages/grading/EditingGradingTemplateComponentPanel.html | 6 ------ .../pages/grading/EditingGradingTemplateComponentPanel.java | 1 - .../EditingGradingTemplateComponentPanel.utf8.properties | 1 - .../admin/pages/grading/wicket-package.utf8.properties | 1 + 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.html b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.html index 626408b739..cd7a505d25 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.html +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.html @@ -3,6 +3,11 @@ <body> <wicket:extend> <div wicket:id="feedback"></div> + <div class="mb-3 lead"> + <wicket:message key="project_type_name_editing"> + <span wicket:id="project_type_name"></span> + </wicket:message> + </div> <form wicket:id="form"> <div wicket:id="editing" class="mb-3"></div> <div class="position-sticky bottom-0 bg-white p-3 border line-length-limit hstack"> diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.java index c255d1be51..d2ad546e0f 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/AdminGradingTemplateEditPage.java @@ -4,8 +4,11 @@ import jakarta.inject.Inject; import org.apache.wicket.RestartResponseException; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.panel.FeedbackPanel; +import org.apache.wicket.model.IModel; +import org.apache.wicket.model.LoadableDetachableModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import se.su.dsv.scipro.admin.pages.AbstractAdminProjectPage; import se.su.dsv.scipro.grading.GradingReportTemplateService; @@ -16,6 +19,7 @@ import se.su.dsv.scipro.report.GradingReportTemplate; import se.su.dsv.scipro.report.NoSuchTemplateException; import se.su.dsv.scipro.report.TemplateLockedException; import se.su.dsv.scipro.report.ValidDateMustBeInTheFutureException; +import se.su.dsv.scipro.system.ProjectType; import java.util.ArrayList; import java.util.List; @@ -41,6 +45,8 @@ public class AdminGradingTemplateEditPage extends AbstractAdminProjectPage imple editingGradingTemplate = new EditingGradingTemplate(template); add(new FeedbackPanel("feedback")); + IModel<GradingReportTemplate> model = LoadableDetachableModel.of(() -> gradingReportTemplateService.getTemplate(id)); + add(new Label("project_type_name", model.map(GradingReportTemplate::getProjectType).map(ProjectType::getName))); Form<EditingGradingTemplate> form = new Form<>("form") { @Override diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html index f4ea4e67dc..80952a8f02 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html @@ -9,12 +9,6 @@ </head> <body> <wicket:panel> - <div class="mb-3 lead"> - <wicket:message key="project_type_name_editing"> - <span wicket:id="project_type_name"></span> - </wicket:message> - </div> - <div class="mb-3 line-length-limit"> <label class="form-label" wicket:for="valid_from"> Valid from diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java index dfe427faf7..6a59cfa2f5 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java @@ -33,7 +33,6 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe setOutputMarkupId(true); - add(new Label("project_type_name", editingGradingTemplateModel.map(EditingGradingTemplate::getProjectType))); TextField<LocalDate> validFromField = new RequiredTextField<>("valid_from", LambdaModel.of(editingGradingTemplateModel, EditingGradingTemplate::getValidFrom, diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties index db27aba41e..6315499c53 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties @@ -11,4 +11,3 @@ Type.INDIVIDUAL=Individually for each author minimum.Required=You must set the minimum number of points for each grade grade.Required=You must set the letter for each grade flag.nullValid=None -project_type_name_editing=You are editing a ${project_type_name} grading template. diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/wicket-package.utf8.properties b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/wicket-package.utf8.properties index 25726d2d64..defb43b968 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/wicket-package.utf8.properties +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/wicket-package.utf8.properties @@ -4,3 +4,4 @@ another_template_exists_for_the_given_date_date=There is already another ${proje template_is_locked=You can not edit templates that have become current. The template you are trying to edit became current at ${validFrom}. template_created=New template for ${name} created. unsaved_changes=The grading template has been changed, unsaved changes will be lost if you do not save. +project_type_name_editing=You are editing a ${project_type_name} grading template.