Bugfixes for editing the extended properties of a publication.

pull/1/head
Jens Pelzetter 2022-07-12 20:27:44 +02:00
parent 4344e3406b
commit 10789bc7a5
8 changed files with 34 additions and 26 deletions

View File

@ -320,7 +320,7 @@ public class PublicationManager {
public void addSeries(
final Series series,
final Publication publication,
final String volumeInSeries
final String volumeOfSeries
) {
Objects.requireNonNull(series);
Objects.requireNonNull(publication);
@ -342,11 +342,13 @@ public class PublicationManager {
}
final VolumeInSeries volume = new VolumeInSeries();
volume.setUuid(UUID.randomUUID().toString());
volume.setPublication(publication);
volume.setSeries(series);
volume.setVolumeOfSeries(volumeInSeries);
volume.setVolumeOfSeries(volumeOfSeries);
publication.addSeries(volume);
series.addVolume(volume);
entityManager.persist(volume);
seriesRepository.save(series);
publicationRepository.save(publication);
}

View File

@ -33,6 +33,7 @@ import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.mvc.Models;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletRequest;
import javax.transaction.Transactional;
import javax.ws.rs.FormParam;
@ -58,6 +59,9 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
@Inject
private DocumentUi documentUi;
@Inject
private EntityManager entityManager;
@Inject
private GlobalizationHelper globalizationHelper;
@ -163,6 +167,10 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
propertiesStepModel.setLanguages(
Arrays
.stream(Locale.getAvailableLocales())
.filter(
locale -> locale.getCountry() == null
|| locale.getCountry().isEmpty()
)
.sorted(
Comparator
.comparing(this::toLocalizedDisplayName)
@ -185,6 +193,7 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
// )
)
);
propertiesStepModel.setEditStepUrlFragment(getEditStepUrlFragment());
propertiesStepModel.setBaseUrl(baseUrl.getBaseUrl(request));
@ -357,8 +366,8 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
final String documentPath,
@PathParam("volumeInSeriesUuid")
final String volumeInSeriesUuid,
@FormParam("volumeInSeries")
final String volumeInSeriesValue
@FormParam("volumeOfSeries")
final String volumeOfSeries
) {
try {
init();
@ -390,7 +399,8 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
}
final VolumeInSeries volumeInSeries = volumeInSeriesResult.get();
volumeInSeries.setVolumeOfSeries(volumeInSeriesValue);
volumeInSeries.setVolumeOfSeries(volumeOfSeries);
entityManager.merge(volumeInSeries);
publicationRepo.save(getPublication());

View File

@ -64,7 +64,7 @@ public abstract class AbstractPublicationWithPublisherExtendedPropertiesStep<T e
publication.getNumberOfVolumes()
);
propertiesStepModel.setVolume(publication.getVolume());
propertiesStepModel.setEditionValues(
publication
.getEdition()

View File

@ -194,19 +194,19 @@ public class MonographExtendedPropertiesStep extends AbstractPublicationWithPubl
final String documentPath,
@PathParam("volumeInSeriesUuid")
final String volumeInSeriesUuid,
@FormParam("volumeInSeries")
final String volumeInSeriesValue
@FormParam("volumeOfSeries")
final String volumeOfSeries
) {
return super.editVolumeInSeries(
sectionIdentifier,
documentPath,
volumeInSeriesUuid,
volumeInSeriesValue
volumeOfSeries
);
}
@POST
@Path("/series/{seriesUuid}/remove")
@Path("/series/{volumeInSeriesUuid}/remove")
@AuthorizationRequired
@Transactional(Transactional.TxType.REQUIRED)
@Override

View File

@ -65,15 +65,8 @@
label="#{SciPublicationsUiMessageBundle['extendedproperties.languageofpublication.label']}"
name="languageOfPublication"
options="#{SciCmsPublicationExtendedPropertiesStepModel.languages}"
selectedOptions="#{List.of(SciCmsPublicationExtendedPropertiesStepModel.languageOfPublicationSelectedOptions)}"
selectedOptions="#{SciCmsPublicationExtendedPropertiesStepModel.languageOfPublicationSelectedOptions}"
/>
<pre>
<c:forEach items="#{SciCmsPublicationExtendedPropertiesStepModel.languageOfPublicationSelectedOptions}"
var="lang">
#{lang},
</c:forEach>
</pre>
<ui:insert name="publicationExtendedPropertiesFormElements" />
</div>
@ -104,7 +97,7 @@
#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.no']}
</c:otherwise>
</c:choose>
</dd>
</div>
<div>
@ -120,7 +113,7 @@
</dl>
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
<h3>#{SciPublicationsUiMessageBundle['extendedproeprties.volumeinseries.header']}</h3>
<h3>#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.header']}</h3>
<div class="mb-2">
<div class="text-right">
<librecms:assetPickerButton
@ -141,9 +134,9 @@
>
<bootstrap:formGroupText
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
inputId="volume-in-series"
inputId="volume-of-series"
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
name="volumeInSeries"
name="volumeOfSeries"
/>
</librecms:assetPicker>
</c:if>
@ -202,7 +195,7 @@
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
inputId="#{volume.volumeInSeriesUuid}-volumeinseries"
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
name="volumeInSeries"
name="volumeOfSeries"
value="#{volume.volumeInSeries}"
/>
</div>
@ -223,7 +216,7 @@
</td>
<td>
<libreccm:deleteDialog
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/#{volume.volumeInSeriesUuid}/remove"
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/series/#{volume.volumeInSeriesUuid}/remove"
buttonText="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.label']}"
cancelLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.cancel']}"
confirmLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.confirm']}"

View File

@ -65,7 +65,7 @@
/>
<bootstrap:formGroupNumber
help="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofvolumes.help']}"
help="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.help']}"
inputId="number-of-volumes"
label="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.label']}"
name="numberOfVolumes"
@ -87,9 +87,10 @@
<libreccm:localizedStringEditor
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@add"
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@edit"
editorId="edition-editor"
hasUnusedLocales="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.unusedEditionLocales.isEmpty()}"
hasUnusedLocales="#{!SciCmsPublicationWithPublisherExtendedPropertiesStep.unusedEditionLocales.isEmpty()}"
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@remove"
title="#{SciPublicationsUiMessageBundle['extendedproperties.edition.editdialog.title']}"

View File

@ -420,3 +420,4 @@ extendedproperties.edition.editdialog.title=Edition
monograph.extendedproperties.header=Extended properties of monograph {0}
extendedproperties.peerreviewed.yes=Yes
extendedproperties.peerreviewed.no=No
extendedproperties.volumeinseries.volumeinseries.label=Volume

View File

@ -420,3 +420,4 @@ extendedproperties.edition.editdialog.title=Ausgabe
monograph.extendedproperties.header=Erweiterte Eigenschaften der Monographie {0}
extendedproperties.peerreviewed.yes=Ja
extendedproperties.peerreviewed.no=Nein
extendedproperties.volumeinseries.volumeinseries.label=Band