Bugfixes for editing extended properties
parent
7a887eeb36
commit
4344e3406b
|
|
@ -23,9 +23,12 @@ import org.scientificcms.publications.contenttypes.PublicationItem;
|
||||||
import org.scientificcms.publications.ui.SciPublicationsUiMessageBundle;
|
import org.scientificcms.publications.ui.SciPublicationsUiMessageBundle;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.TreeMap;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
@ -156,17 +159,30 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
.ofNullable(publication.getYearFirstPublished())
|
.ofNullable(publication.getYearFirstPublished())
|
||||||
.orElse(null)
|
.orElse(null)
|
||||||
);
|
);
|
||||||
|
|
||||||
propertiesStepModel.setLanguages(
|
propertiesStepModel.setLanguages(
|
||||||
Arrays
|
Arrays
|
||||||
.stream(Locale.getAvailableLocales())
|
.stream(Locale.getAvailableLocales())
|
||||||
.sorted()
|
.sorted(
|
||||||
|
Comparator
|
||||||
|
.comparing(this::toLocalizedDisplayName)
|
||||||
|
.thenComparing(Locale::toString)
|
||||||
|
)
|
||||||
.collect(
|
.collect(
|
||||||
Collectors.toMap(
|
LinkedHashMap::new,
|
||||||
Locale::toString,
|
(map, locale) -> map.put(
|
||||||
locale -> locale.getDisplayName(
|
locale.toString(),
|
||||||
|
locale.getDisplayName(
|
||||||
globalizationHelper.getNegotiatedLocale()
|
globalizationHelper.getNegotiatedLocale()
|
||||||
)
|
)
|
||||||
)
|
),
|
||||||
|
LinkedHashMap::putAll
|
||||||
|
// Collectors.toMap(
|
||||||
|
// Locale::toString,
|
||||||
|
// locale -> locale.getDisplayName(
|
||||||
|
// globalizationHelper.getNegotiatedLocale()
|
||||||
|
// )
|
||||||
|
// )
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
propertiesStepModel.setEditStepUrlFragment(getEditStepUrlFragment());
|
propertiesStepModel.setEditStepUrlFragment(getEditStepUrlFragment());
|
||||||
|
|
@ -251,7 +267,7 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
publication.setPeerReviewed(peerReviewed);
|
publication.setPeerReviewed(peerReviewed);
|
||||||
|
|
||||||
if (yearFirstPublished != null) {
|
if (yearFirstPublished != null) {
|
||||||
publication.setYearOfPublication(yearFirstPublished);
|
publication.setYearFirstPublished(yearFirstPublished);
|
||||||
}
|
}
|
||||||
|
|
||||||
publicationRepo.save(publication);
|
publicationRepo.save(publication);
|
||||||
|
|
@ -480,4 +496,8 @@ public abstract class AbstractPublicationExtendedPropertiesStep<T extends Public
|
||||||
return showStep(sectionIdentifier, documentPath);
|
return showStep(sectionIdentifier, documentPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String toLocalizedDisplayName(final Locale locale) {
|
||||||
|
return locale.getDisplayName(globalizationHelper.getNegotiatedLocale());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@ import org.scientificcms.publications.assets.SeriesAsset;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.SortedMap;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
@ -33,7 +33,7 @@ public class PublicationExtendedPropertiesStepModel {
|
||||||
|
|
||||||
private List<VolumeInSeriesRow> volumeInSeries;
|
private List<VolumeInSeriesRow> volumeInSeries;
|
||||||
|
|
||||||
private Map<String, String> languages;
|
private LinkedHashMap<String, String> languages;
|
||||||
|
|
||||||
public String getBaseUrl() {
|
public String getBaseUrl() {
|
||||||
return baseUrl;
|
return baseUrl;
|
||||||
|
|
@ -62,6 +62,10 @@ public class PublicationExtendedPropertiesStepModel {
|
||||||
public String getLanguageOfPublication() {
|
public String getLanguageOfPublication() {
|
||||||
return languageOfPublication;
|
return languageOfPublication;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getLanguageOfPublicationSelectedOptions() {
|
||||||
|
return List.of(languageOfPublication);
|
||||||
|
}
|
||||||
|
|
||||||
public void setLanguageOfPublication(final String languageOfPublication) {
|
public void setLanguageOfPublication(final String languageOfPublication) {
|
||||||
this.languageOfPublication = languageOfPublication;
|
this.languageOfPublication = languageOfPublication;
|
||||||
|
|
@ -75,12 +79,12 @@ public class PublicationExtendedPropertiesStepModel {
|
||||||
this.volumeInSeries = new ArrayList<>(volumeInSeries);
|
this.volumeInSeries = new ArrayList<>(volumeInSeries);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, String> getLanguages() {
|
public LinkedHashMap<String, String> getLanguages() {
|
||||||
return Collections.unmodifiableMap(languages);
|
return new LinkedHashMap<>(languages);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLanguages(final Map<String, String> languages) {
|
public void setLanguages(final LinkedHashMap<String, String> languages) {
|
||||||
this.languages = new HashMap<>(languages);
|
this.languages = new LinkedHashMap<>(languages);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLanguageOfPublicationDisplayName() {
|
public String getLanguageOfPublicationDisplayName() {
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<bootstrap:formCheck
|
<bootstrap:formCheck
|
||||||
|
checked="#{SciCmsPublicationExtendedPropertiesStepModel.peerReviewed}"
|
||||||
inputId="peer-reviewed"
|
inputId="peer-reviewed"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.label']}"
|
||||||
name="peerReviewed"
|
name="peerReviewed"
|
||||||
value="#{SciCmsPublicationExtendedPropertiesStepModel.peerReviewed}"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupNumber
|
<bootstrap:formGroupNumber
|
||||||
|
|
@ -65,8 +65,15 @@
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproperties.languageofpublication.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.languageofpublication.label']}"
|
||||||
name="languageOfPublication"
|
name="languageOfPublication"
|
||||||
options="#{SciCmsPublicationExtendedPropertiesStepModel.languages}"
|
options="#{SciCmsPublicationExtendedPropertiesStepModel.languages}"
|
||||||
selectedOptions="#{List.of(SciCmsPublicationExtendedPropertiesStepModel.languageOfPublication)}"
|
selectedOptions="#{List.of(SciCmsPublicationExtendedPropertiesStepModel.languageOfPublicationSelectedOptions)}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<c:forEach items="#{SciCmsPublicationExtendedPropertiesStepModel.languageOfPublicationSelectedOptions}"
|
||||||
|
var="lang">
|
||||||
|
#{lang},
|
||||||
|
</c:forEach>
|
||||||
|
</pre>
|
||||||
|
|
||||||
<ui:insert name="publicationExtendedPropertiesFormElements" />
|
<ui:insert name="publicationExtendedPropertiesFormElements" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -88,7 +95,17 @@
|
||||||
<dl>
|
<dl>
|
||||||
<div>
|
<div>
|
||||||
<dt>#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.label']}</dt>
|
<dt>#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.label']}</dt>
|
||||||
<dd>#{SciCmsPublicationExtendedPropertiesStepModel.peerReviewed}</dd>
|
<dd>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="#{SciCmsPublicationExtendedPropertiesStepModel.peerReviewed}">
|
||||||
|
#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.yes']}
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
#{SciPublicationsUiMessageBundle['extendedproperties.peerreviewed.no']}
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<dt>#{SciPublicationsUiMessageBundle['extendedproperties.yearfirstpublished.label']}</dt>
|
<dt>#{SciPublicationsUiMessageBundle['extendedproperties.yearfirstpublished.label']}</dt>
|
||||||
|
|
|
||||||
|
|
@ -57,9 +57,9 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupNumber
|
<bootstrap:formGroupNumber
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproeprties.volume.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproperties.volume.help']}"
|
||||||
inputId="volume"
|
inputId="volume"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproeprties.volume.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.volume.label']}"
|
||||||
name="volume"
|
name="volume"
|
||||||
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.volume}"
|
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.volume}"
|
||||||
/>
|
/>
|
||||||
|
|
@ -67,15 +67,15 @@
|
||||||
<bootstrap:formGroupNumber
|
<bootstrap:formGroupNumber
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofvolumes.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofvolumes.help']}"
|
||||||
inputId="number-of-volumes"
|
inputId="number-of-volumes"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofvolumes.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.numberofvolumes.label']}"
|
||||||
name="numberOfVolumes"
|
name="numberOfVolumes"
|
||||||
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.numberOfVolumes}"
|
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.numberOfVolumes}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupNumber
|
<bootstrap:formGroupNumber
|
||||||
help="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofpages.help']}"
|
help="#{SciPublicationsUiMessageBundle['extendedproperties.numberofpages.help']}"
|
||||||
inputId="number-of-pages"
|
inputId="number-of-pages"
|
||||||
label="#{SciPublicationsUiMessageBundle['extendedproeprties.numberofpages.label']}"
|
label="#{SciPublicationsUiMessageBundle['extendedproperties.numberofpages.label']}"
|
||||||
name="numberOfPages"
|
name="numberOfPages"
|
||||||
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.numberOfPages}"
|
value="#{SciCmsPublicationWithPublisherExtendedPropertiesStep.numberOfPages}"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@monograph-extendedproperties" />
|
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@monograph-extendedproperties" />
|
||||||
|
|
||||||
<ui:param name="authoringStepTitle"
|
<ui:param name="authoringStepTitle"
|
||||||
value="#{SciPublicationsUiMessageBundle.getMessage('monograph.extendedproperties.header', [SciCmsPublicationPropertiesStepModel.name])}" />
|
value="#{SciPublicationsUiMessageBundle.getMessage('monograph.extendedproperties.header', [CmsSelectedDocumentModel.itemName])}" />
|
||||||
|
|
||||||
<ui:param name="editStepUrlFragement"
|
<ui:param name="editStepUrlFragement"
|
||||||
value="monograph-extendedproperties" />
|
value="monograph-extendedproperties" />
|
||||||
|
|
|
||||||
|
|
@ -389,7 +389,7 @@ extendedproperties.yearfirstpublished.label=Year first published
|
||||||
extendedproperties.languageofpublication.help=The language of the publication.
|
extendedproperties.languageofpublication.help=The language of the publication.
|
||||||
extendedproperties.languageofpublication.label=Language of the publication
|
extendedproperties.languageofpublication.label=Language of the publication
|
||||||
publication.editstep.extendedproperties.edit.submit=Save
|
publication.editstep.extendedproperties.edit.submit=Save
|
||||||
extendedproeprties.volumeinseries.header=Published as volume in series
|
extendedproperties.volumeinseries.header=Published as volume in series
|
||||||
extendedproperties.volumeinseries.add.label=Add volume
|
extendedproperties.volumeinseries.add.label=Add volume
|
||||||
extendedproperties.volumeinseries.add.dialog.title=Add volume
|
extendedproperties.volumeinseries.add.dialog.title=Add volume
|
||||||
extendedproperties.volumeinseries.volumeinseries.help=The label of the volume as which the publication was published as part of the series.
|
extendedproperties.volumeinseries.volumeinseries.help=The label of the volume as which the publication was published as part of the series.
|
||||||
|
|
@ -413,7 +413,10 @@ extendedproperties.numberofvolumes.label=Number of volumes
|
||||||
extendedproperties.numberofpages.label=Number of pages
|
extendedproperties.numberofpages.label=Number of pages
|
||||||
extendedproperties.isbn10.help=The ISBN-10 of the publication, if available.
|
extendedproperties.isbn10.help=The ISBN-10 of the publication, if available.
|
||||||
extendedproperties.isbn13.help=The ISBN-13 of the publication.
|
extendedproperties.isbn13.help=The ISBN-13 of the publication.
|
||||||
extendedproeprties.volume.help=The volume of the publication if the publication is part of a multi-volume publication.
|
extendedproperties.volume.help=The volume of the publication if the publication is part of a multi-volume publication.
|
||||||
extendedproeprties.numberofvolumes.help=Number of volumes of the publication.
|
extendedproperties.numberofvolumes.help=Number of volumes of the publication.
|
||||||
extendedproeprties.numberofpages.help=Number of pages
|
extendedproperties.numberofpages.help=Number of pages
|
||||||
extendedproperties.edition.editdialog.title=Edition
|
extendedproperties.edition.editdialog.title=Edition
|
||||||
|
monograph.extendedproperties.header=Extended properties of monograph {0}
|
||||||
|
extendedproperties.peerreviewed.yes=Yes
|
||||||
|
extendedproperties.peerreviewed.no=No
|
||||||
|
|
|
||||||
|
|
@ -389,7 +389,7 @@ extendedproperties.yearfirstpublished.label=Ersterscheinungsjahr
|
||||||
extendedproperties.languageofpublication.help=Die Sprache der Publikation.
|
extendedproperties.languageofpublication.help=Die Sprache der Publikation.
|
||||||
extendedproperties.languageofpublication.label=Sprache der Publikation
|
extendedproperties.languageofpublication.label=Sprache der Publikation
|
||||||
publication.editstep.extendedproperties.edit.submit=Speichern
|
publication.editstep.extendedproperties.edit.submit=Speichern
|
||||||
extendedproeprties.volumeinseries.header=Erschienen als Band der Reihe
|
extendedproperties.volumeinseries.header=Erschienen als Band der Reihe
|
||||||
extendedproperties.volumeinseries.add.label=Band hinzuf\u00fcgen
|
extendedproperties.volumeinseries.add.label=Band hinzuf\u00fcgen
|
||||||
extendedproperties.volumeinseries.add.dialog.title=Band hinzuf\u00fcgen
|
extendedproperties.volumeinseries.add.dialog.title=Band hinzuf\u00fcgen
|
||||||
extendedproperties.volumeinseries.volumeinseries.help=Die Bezeichnung des Bandes in dem die Publikation als Teil der Serie ver\u00f6ffentlicht wurde.
|
extendedproperties.volumeinseries.volumeinseries.help=Die Bezeichnung des Bandes in dem die Publikation als Teil der Serie ver\u00f6ffentlicht wurde.
|
||||||
|
|
@ -413,7 +413,10 @@ extendedproperties.numberofvolumes.label=Anzahl der B\u00e4nde
|
||||||
extendedproperties.numberofpages.label=Anzahl der Seiten
|
extendedproperties.numberofpages.label=Anzahl der Seiten
|
||||||
extendedproperties.isbn10.help=Die ISBN-10 der Publikation.
|
extendedproperties.isbn10.help=Die ISBN-10 der Publikation.
|
||||||
extendedproperties.isbn13.help=Die ISBN-13 der Publikation.
|
extendedproperties.isbn13.help=Die ISBN-13 der Publikation.
|
||||||
extendedproeprties.volume.help=Der Band der Publikation, falls die Publikation Teil eines mehrb\u00e4ndiges Werkes ist.
|
extendedproperties.volume.help=Der Band der Publikation, falls die Publikation Teil eines mehrb\u00e4ndiges Werkes ist.
|
||||||
extendedproeprties.numberofvolumes.help=Anzahl der B\u00e4nde des Werkes.
|
extendedproperties.numberofvolumes.help=Anzahl der B\u00e4nde des Werkes.
|
||||||
extendedproeprties.numberofpages.help=Anzahl der Seiten
|
extendedproperties.numberofpages.help=Anzahl der Seiten
|
||||||
extendedproperties.edition.editdialog.title=Ausgabe
|
extendedproperties.edition.editdialog.title=Ausgabe
|
||||||
|
monograph.extendedproperties.header=Erweiterte Eigenschaften der Monographie {0}
|
||||||
|
extendedproperties.peerreviewed.yes=Ja
|
||||||
|
extendedproperties.peerreviewed.no=Nein
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue