3278 Handle non-numbers as query parameters
This commit is contained in:
parent
2ceb040c38
commit
9f89fe0480
view/src
main/java/se/su/dsv/scipro/match
test/java/se/su/dsv/scipro/match
@ -4,6 +4,7 @@ import org.apache.wicket.RestartResponseException;
|
||||
import org.apache.wicket.markup.html.panel.FeedbackPanel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.request.mapper.parameter.PageParameters;
|
||||
import org.apache.wicket.util.string.StringValueConversionException;
|
||||
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightProjectIdeas;
|
||||
import se.su.dsv.scipro.data.DetachableServiceModel;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
@ -24,11 +25,13 @@ public class ProjectNewAllSupervisorIdeasPage extends AbstractIdeaProjectPage im
|
||||
super(pp);
|
||||
addFeedback();
|
||||
|
||||
if (pp.get(PageParameterKeys.MAP.get(ApplicationPeriod.class)).isNull()) {
|
||||
long applicationPeriodId;
|
||||
try {
|
||||
applicationPeriodId = pp.get(PageParameterKeys.MAP.get(ApplicationPeriod.class)).toLong();
|
||||
} catch (StringValueConversionException ignored) {
|
||||
throw new RestartResponseException(ProjectIdeaStartPage.class);
|
||||
}
|
||||
|
||||
final IModel<ApplicationPeriod> applicationPeriod = new DetachableServiceModel<>(applicationPeriodService, pp.get(PageParameterKeys.MAP.get(ApplicationPeriod.class)).toLong());
|
||||
final IModel<ApplicationPeriod> applicationPeriod = new DetachableServiceModel<>(applicationPeriodService, applicationPeriodId);
|
||||
final List<StudentPeriod> availablePeriods = applicationPeriodService.getCurrentStudentPeriods(SciProSession.get().getUser());
|
||||
final boolean isPeriodAvailableForSelection = availablePeriods.stream()
|
||||
.filter(StudentPeriod::allowedToSelectIdeas)
|
||||
|
@ -32,6 +32,15 @@ public class ProjectNewAllSupervisorIdeasPageTest extends PageTest {
|
||||
tester.assertRenderedPage(ProjectIdeaStartPage.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void go_to_start_page_with_non_number_parameter() {
|
||||
PageParameters pageParameters = new PageParameters();
|
||||
pageParameters.set(PageParameterKeys.MAP.get(ApplicationPeriod.class), "a");
|
||||
tester.startPage(getPage(), pageParameters);
|
||||
|
||||
tester.assertRenderedPage(ProjectIdeaStartPage.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<? extends Page> getPage() {
|
||||
return ProjectNewAllSupervisorIdeasPage.class;
|
||||
|
Loading…
x
Reference in New Issue
Block a user