Bugfixes for editing the extended properties of a publication.
parent
4344e3406b
commit
10789bc7a5
|
|
@ -320,7 +320,7 @@ public class PublicationManager {
|
||||||
public void addSeries(
|
public void addSeries(
|
||||||
final Series series,
|
final Series series,
|
||||||
final Publication publication,
|
final Publication publication,
|
||||||
final String volumeInSeries
|
final String volumeOfSeries
|
||||||
) {
|
) {
|
||||||
Objects.requireNonNull(series);
|
Objects.requireNonNull(series);
|
||||||
Objects.requireNonNull(publication);
|
Objects.requireNonNull(publication);
|
||||||
|
|
@ -342,11 +342,13 @@ public class PublicationManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
final VolumeInSeries volume = new VolumeInSeries();
|
final VolumeInSeries volume = new VolumeInSeries();
|
||||||
|
volume.setUuid(UUID.randomUUID().toString());
|
||||||
volume.setPublication(publication);
|
volume.setPublication(publication);
|
||||||
volume.setSeries(series);
|
volume.setSeries(series);
|
||||||
volume.setVolumeOfSeries(volumeInSeries);
|
volume.setVolumeOfSeries(volumeOfSeries);
|
||||||
publication.addSeries(volume);
|
publication.addSeries(volume);
|
||||||
series.addVolume(volume);
|
series.addVolume(volume);
|
||||||
|
entityManager.persist(volume);
|
||||||
seriesRepository.save(series);
|
seriesRepository.save(series);
|
||||||
publicationRepository.save(publication);
|
publicationRepository.save(publication);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.mvc.Models;
|
import javax.mvc.Models;
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
import javax.ws.rs.FormParam;
|
import javax.ws.rs.FormParam;
|
||||||
|
|
@ -58,6 +59,9 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
@Inject
|
@Inject
|
||||||
private DocumentUi documentUi;
|
private DocumentUi documentUi;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private GlobalizationHelper globalizationHelper;
|
private GlobalizationHelper globalizationHelper;
|
||||||
|
|
||||||
|
|
@ -163,6 +167,10 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
propertiesStepModel.setLanguages(
|
propertiesStepModel.setLanguages(
|
||||||
Arrays
|
Arrays
|
||||||
.stream(Locale.getAvailableLocales())
|
.stream(Locale.getAvailableLocales())
|
||||||
|
.filter(
|
||||||
|
locale -> locale.getCountry() == null
|
||||||
|
|| locale.getCountry().isEmpty()
|
||||||
|
)
|
||||||
.sorted(
|
.sorted(
|
||||||
Comparator
|
Comparator
|
||||||
.comparing(this::toLocalizedDisplayName)
|
.comparing(this::toLocalizedDisplayName)
|
||||||
|
|
@ -185,6 +193,7 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
// )
|
// )
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
propertiesStepModel.setEditStepUrlFragment(getEditStepUrlFragment());
|
propertiesStepModel.setEditStepUrlFragment(getEditStepUrlFragment());
|
||||||
|
|
||||||
propertiesStepModel.setBaseUrl(baseUrl.getBaseUrl(request));
|
propertiesStepModel.setBaseUrl(baseUrl.getBaseUrl(request));
|
||||||
|
|
@ -357,8 +366,8 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
final String documentPath,
|
final String documentPath,
|
||||||
@PathParam("volumeInSeriesUuid")
|
@PathParam("volumeInSeriesUuid")
|
||||||
final String volumeInSeriesUuid,
|
final String volumeInSeriesUuid,
|
||||||
@FormParam("volumeInSeries")
|
@FormParam("volumeOfSeries")
|
||||||
final String volumeInSeriesValue
|
final String volumeOfSeries
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
init();
|
init();
|
||||||
|
|
@ -390,7 +399,8 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
}
|
}
|
||||||
|
|
||||||
final VolumeInSeries volumeInSeries = volumeInSeriesResult.get();
|
final VolumeInSeries volumeInSeries = volumeInSeriesResult.get();
|
||||||
volumeInSeries.setVolumeOfSeries(volumeInSeriesValue);
|
volumeInSeries.setVolumeOfSeries(volumeOfSeries);
|
||||||
|
entityManager.merge(volumeInSeries);
|
||||||
|
|
||||||
publicationRepo.save(getPublication());
|
publicationRepo.save(getPublication());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ public abstract class AbstractPublicationWithPublisherExtendedPropertiesStep<T e
|
||||||
publication.getNumberOfVolumes()
|
publication.getNumberOfVolumes()
|
||||||
);
|
);
|
||||||
propertiesStepModel.setVolume(publication.getVolume());
|
propertiesStepModel.setVolume(publication.getVolume());
|
||||||
|
|
||||||
propertiesStepModel.setEditionValues(
|
propertiesStepModel.setEditionValues(
|
||||||
publication
|
publication
|
||||||
.getEdition()
|
.getEdition()
|
||||||
|
|
|
||||||
|
|
@ -194,19 +194,19 @@ public class MonographExtendedPropertiesStep extends AbstractPublicationWithPubl
|
||||||
final String documentPath,
|
final String documentPath,
|
||||||
@PathParam("volumeInSeriesUuid")
|
@PathParam("volumeInSeriesUuid")
|
||||||
final String volumeInSeriesUuid,
|
final String volumeInSeriesUuid,
|
||||||
@FormParam("volumeInSeries")
|
@FormParam("volumeOfSeries")
|
||||||
final String volumeInSeriesValue
|
final String volumeOfSeries
|
||||||
) {
|
) {
|
||||||
return super.editVolumeInSeries(
|
return super.editVolumeInSeries(
|
||||||
sectionIdentifier,
|
sectionIdentifier,
|
||||||
documentPath,
|
documentPath,
|
||||||
volumeInSeriesUuid,
|
volumeInSeriesUuid,
|
||||||
volumeInSeriesValue
|
volumeOfSeries
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/series/{seriesUuid}/remove")
|
@Path("/series/{volumeInSeriesUuid}/remove")
|
||||||
@AuthorizationRequired
|
@AuthorizationRequired
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -65,15 +65,8 @@
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.languageofpublication.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.languageofpublication.label']}"
|
||||||
name="languageOfPublication"
|
name="languageOfPublication"
|
||||||
options="#{SciCmsPublicationExtendedPropertiesStepModel.languages}"
|
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" />
|
<ui:insert name="publicationExtendedPropertiesFormElements" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -104,7 +97,7 @@
|
||||||
#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.no']}
|
#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.no']}
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -120,7 +113,7 @@
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||||
<h3>#{SciPublicationsUiMessageBundle['extendedproeprties.volumeinseries.header']}</h3>
|
<h3>#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.header']}</h3>
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<librecms:assetPickerButton
|
<librecms:assetPickerButton
|
||||||
|
|
@ -141,9 +134,9 @@
|
||||||
>
|
>
|
||||||
<bootstrap:formGroupText
|
<bootstrap:formGroupText
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
|
||||||
inputId="volume-in-series"
|
inputId="volume-of-series"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
|
||||||
name="volumeInSeries"
|
name="volumeOfSeries"
|
||||||
/>
|
/>
|
||||||
</librecms:assetPicker>
|
</librecms:assetPicker>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
@ -202,7 +195,7 @@
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.help']}"
|
||||||
inputId="#{volume.volumeInSeriesUuid}-volumeinseries"
|
inputId="#{volume.volumeInSeriesUuid}-volumeinseries"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.volumeinseries.label']}"
|
||||||
name="volumeInSeries"
|
name="volumeOfSeries"
|
||||||
value="#{volume.volumeInSeries}"
|
value="#{volume.volumeInSeries}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -223,7 +216,7 @@
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<libreccm:deleteDialog
|
<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']}"
|
buttonText="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.label']}"
|
||||||
cancelLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.cancel']}"
|
cancelLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.cancel']}"
|
||||||
confirmLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.confirm']}"
|
confirmLabel="#{SciPublicationsUiMessageBundle['extendedproperties.volumeinseries.remove.confirm']}"
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupNumber
|
<bootstrap:formGroupNumber
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofvolumes.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.help']}"
|
||||||
inputId="number-of-volumes"
|
inputId="number-of-volumes"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.label']}"
|
||||||
name="numberOfVolumes"
|
name="numberOfVolumes"
|
||||||
|
|
@ -87,9 +87,10 @@
|
||||||
|
|
||||||
<libreccm:localizedStringEditor
|
<libreccm:localizedStringEditor
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@add"
|
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"
|
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@edit"
|
||||||
editorId="edition-editor"
|
editorId="edition-editor"
|
||||||
hasUnusedLocales="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.unusedEditionLocales.isEmpty()}"
|
hasUnusedLocales="#{!SciCmsPublicationWithPublisherExtendedPropertiesStep.unusedEditionLocales.isEmpty()}"
|
||||||
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationExtendedPropertiesStepModel.editStepUrlFragment}/edition/@remove"
|
||||||
title="#{SciPublicationsUiMessageBundle['extendedproperties.edition.editdialog.title']}"
|
title="#{SciPublicationsUiMessageBundle['extendedproperties.edition.editdialog.title']}"
|
||||||
|
|
|
||||||
|
|
@ -420,3 +420,4 @@ extendedproperties.edition.editdialog.title=Edition
|
||||||
monograph.extendedproperties.header=Extended properties of monograph {0}
|
monograph.extendedproperties.header=Extended properties of monograph {0}
|
||||||
extendedproperties.peerreviewed.yes=Yes
|
extendedproperties.peerreviewed.yes=Yes
|
||||||
extendedproperties.peerreviewed.no=No
|
extendedproperties.peerreviewed.no=No
|
||||||
|
extendedproperties.volumeinseries.volumeinseries.label=Volume
|
||||||
|
|
|
||||||
|
|
@ -420,3 +420,4 @@ extendedproperties.edition.editdialog.title=Ausgabe
|
||||||
monograph.extendedproperties.header=Erweiterte Eigenschaften der Monographie {0}
|
monograph.extendedproperties.header=Erweiterte Eigenschaften der Monographie {0}
|
||||||
extendedproperties.peerreviewed.yes=Ja
|
extendedproperties.peerreviewed.yes=Ja
|
||||||
extendedproperties.peerreviewed.no=Nein
|
extendedproperties.peerreviewed.no=Nein
|
||||||
|
extendedproperties.volumeinseries.volumeinseries.label=Band
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue