Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Wayne Westmoreland 2024-03-06 16:40:04 +01:00
commit 3246a68b55
3 changed files with 23 additions and 1 deletions

@ -12,6 +12,13 @@
<dt>Supervisor</dt>
<dd wicket:id="supervisor"></dd>
<dt>Authors</dt>
<dd>
<div wicket:id="authors">
<wicket:container wicket:id="author"/>
</div>
</dd>
<dt>Research area</dt>
<dd wicket:id="research_area"></dd>

@ -98,6 +98,12 @@ public class AdminAssignReviewerPage extends AbstractAdminProjectPage {
setVisible(getDefaultModelObject() != null);
}
});
add(new ListView<>("authors", projectModel.map(Project::getProjectParticipants).map(ArrayList::new)) {
@Override
protected void populateItem(ListItem<User> item) {
item.add(new UserLinkPanel("author", item.getModel()));
}
});
}
}

@ -11,6 +11,7 @@ import org.apache.wicket.model.LoadableDetachableModel;
import se.su.dsv.scipro.system.Language;
import javax.inject.Inject;
import java.util.List;
public class PublicationMetadataFormComponentPanel extends GenericPanel<PublicationMetadata> {
@Inject
@ -27,14 +28,22 @@ public class PublicationMetadataFormComponentPanel extends GenericPanel<Publicat
TextField<String> keywordsSwedish = new TextField<>("keywords_sv", LambdaModel.of(metadataModel, PublicationMetadata::getKeywordsSwedish, PublicationMetadata::setKeywordsSwedish));
keywordsSwedish.setVisible(inSwedish());
add(keywordsSwedish);
IModel<List<NationalSubjectCategory>> availableCategories = LoadableDetachableModel.of(nationalSubjectCategoryService::listCategories);
DropDownChoice<NationalSubjectCategory> nationalSubjectCategoryChoice = new DropDownChoice<>(
"national_subject_category",
LambdaModel.of(
metadataModel,
PublicationMetadata::getNationalSubjectCategory,
PublicationMetadata::setNationalSubjectCategory),
LoadableDetachableModel.of(nationalSubjectCategoryService::listCategories),
availableCategories,
new LambdaChoiceRenderer<>(NationalSubjectCategory::getEnglishName, NationalSubjectCategory::getId));
if (metadataModel.getObject().getNationalSubjectCategory() == null) {
availableCategories.getObject()
.stream()
.filter(NationalSubjectCategory::isPreselected)
.findAny()
.ifPresent(nationalSubjectCategoryChoice::setDefaultModelObject);
}
nationalSubjectCategoryChoice.setNullValid(true);
add(nationalSubjectCategoryChoice);
}