Some bugfixes for editing the properties of a collected volume and an

article in a collected volume.
pull/1/head
Jens Pelzetter 2022-08-06 14:35:29 +02:00
parent 3f4da7553c
commit ba43a81c54
7 changed files with 84 additions and 28 deletions

View File

@ -71,7 +71,7 @@ public class ArticleInCollectedVolumePropertiesStep
@Inject
private Models models;
@Inject
private ArticleInCollectedVolumePropertiesStepModel propertiesStepModel;
@ -110,8 +110,11 @@ public class ArticleInCollectedVolumePropertiesStep
propertiesStepModel.setChapter(getPublication().getChapter());
propertiesStepModel.setCollectedVolumeTitle(
globalizationHelper.getValueFromLocalizedString(
getPublication().getTitle())
Optional
.ofNullable(getPublication().getCollectedVolume())
.map(CollectedVolume::getTitle)
.map(globalizationHelper::getValueFromLocalizedString)
.orElse(null)
);
propertiesStepModel.setEndPage(getPublication().getEndPage());

View File

@ -8,21 +8,25 @@ import java.util.Comparator;
*/
public class ArticleInCollectedVolumeRow
implements Comparable<ArticleInCollectedVolumeRow> {
private String articleUuid;
private String title;
private String chapter;
private Integer startPage;
private Integer endPage;
public String getArticleUuid() {
return articleUuid;
}
public void setArticleUuid(final String articleUuid) {
this.articleUuid = articleUuid;
}
public String getTitle() {
return title;
}
@ -39,11 +43,29 @@ public class ArticleInCollectedVolumeRow
this.chapter = chapter;
}
public Integer getStartPage() {
return startPage;
}
public void setStartPage(final Integer startPage) {
this.startPage = startPage;
}
public Integer getEndPage() {
return endPage;
}
public void setEndPage(final Integer endPage) {
this.endPage = endPage;
}
@Override
public int compareTo(final ArticleInCollectedVolumeRow other) {
return Comparator
.nullsFirst(
Comparator.comparing(ArticleInCollectedVolumeRow::getChapter)
.thenComparing(ArticleInCollectedVolumeRow::getStartPage)
.thenComparing(ArticleInCollectedVolumeRow::getEndPage)
)
.compare(this, other);
}

View File

@ -518,6 +518,8 @@ public class CollectedVolumePropertiesStep
)
);
row.setChapter(article.getChapter());
row.setStartPage(article.getStartPage());
row.setEndPage(article.getEndPage());
return row;
}

View File

@ -21,6 +21,7 @@
inputId="start-page"
label="#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.startpage.label']}"
name="startPage"
value="#{SciCmsArticleInCollectedVolumePropertiesStepModel.startPage}"
/>
<bootstrap:formGroupNumber
@ -28,6 +29,7 @@
inputId="end-page"
label="#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.endpage.label']}"
name="endPage"
value="#{SciCmsArticleInCollectedVolumePropertiesStepModel.endPage}"
/>
<bootstrap:formGroupText
@ -35,10 +37,32 @@
inputId="chapter"
label="#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.chapter.label']}"
name="chapter"
value="#{SciCmsArticleInCollectedVolumePropertiesStepModel.chapter}"
/>
</ui:define>
<ui:define name="publicationBasicPropertiesDl">
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.startpage.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.startPage}</dd>
</div>
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.endpage.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.endPage}</dd>
</div>
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.chapter.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.chapter}</dd>
</div>
</ui:define>
<ui:define name="publicationProperties">
<h3 class="mt-5">#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.collectedvolume']}</h3>
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
<div class="mb-2">
<div class="text-right">
@ -58,10 +82,10 @@
publicationType="#{SciCmsArticleInCollectedVolumePropertiesStepModel.collectedVolumeType}"
/>
</c:if>
<c:choose>
<c:when test="#{SciCmsArticleInCollectedVolumePropertiesStepModel.collectedVolumeTitle == null}">
<p>#{'articleincollectedvolume.basicproperties.collectedvolume.none'}</p>
<p>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.collectedvolume.none']}</p>
</c:when>
<c:otherwise>
<p>
@ -83,20 +107,8 @@
</ui:define>
<ui:define name="publicationBasicPropertiesDl">
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.startpage.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.startPage}</dd>
</div>
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.endpage.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.endPage}</dd>
</div>
<div>
<dt>#{SciPublicationsUiMessageBundle['articleincollectedvolume.basicproperties.chapter.label']}</dt>
<dd>#{SciCmsArticleInCollectedVolumePropertiesStepModel.chapter}</dd>
</div>
<ui:define name="publicationScripts">
<script src="#{request.contextPath}/assets/@scipublications/publication-picker.js" />
</ui:define>
</ui:composition>

View File

@ -16,6 +16,8 @@
<ui:define name="publicationWithPublisherProperties">
<h3 class="mt-5">#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.header']}</h3>
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
<div class="text-right">
<scicms:publicationPickerButton
@ -44,7 +46,9 @@
<tr>
<th>#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.title']}</th>
<th>#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.chapter']}</th>
<th colspan="2">
<th>#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.start_page']}</th>
<th>#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.end_page']}</th>
<th colspan="1">
#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.actions']}
</th>
</tr>
@ -55,17 +59,20 @@
<tr>
<td>#{article.title}</td>
<td>#{article.chapter}</td>
<td>
<td>#{article.startPage}</td>
<td>#{article.endPage}</td>
<!-- <td>
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
<a class="btn btn-secondary"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@articleincollectedvolume-basicproperties">
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{article.articleUuid}/@articleincollectedvolume-basicproperties">
<bootstrap:svgIcon icon="pen" />
<span class="sr-only">
#{SciPublicationsUiMessageBundle['collectedvolume.basicproperties.articles.actions.edit']}
</span>
</a>
</c:if>
</td>
</td>-->
<td>
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
<libreccm:deleteDialog

View File

@ -462,3 +462,8 @@ articleincollectedvolume.basicproperties.collectedvolume.remove.confirm=Confirm
articleincollectedvolume.basicproperties.collectedvolume.remove.title=Remove collected volume from article
articleincollectedvolume.basicproperties.collectedvolume.remove.message=Are you sure to remove the collected volume {1} from the the article {0}?
articleincollectedvolume.extendedproperties.header=Edit extended properties of article in collected volume {0}
collectedvolume.basicproperties.articles.actions.remove.cancel=Cancel
collectedvolume.basicproperties.articles.start_page=First page
collectedvolume.basicproperties.articles.end_page=Last Page
collectedvolume.basicproperties.articles.header=Articles
articleincollectedvolume.basicproperties.collectedvolume.none=This article is not assigned to a collected volume.

View File

@ -462,3 +462,8 @@ articleincollectedvolume.basicproperties.collectedvolume.remove.confirm=Entferne
articleincollectedvolume.basicproperties.collectedvolume.remove.title=Sammelband vom Artikel entfernen
articleincollectedvolume.basicproperties.collectedvolume.remove.message=Sind Sie sicher, dass Sie den Sammelband {1} vom Artikel {0} entfernen wollen?
articleincollectedvolume.extendedproperties.header=Erweitere Eigenschaften des Sammelbandartikels {0} bearbeiten
collectedvolume.basicproperties.articles.actions.remove.cancel=Abbrechen
collectedvolume.basicproperties.articles.start_page=Erste Seite
collectedvolume.basicproperties.articles.end_page=Letzte Seite
collectedvolume.basicproperties.articles.header=Artikel
articleincollectedvolume.basicproperties.collectedvolume.none=Dieser Artikel wurde noch keinem Sammelband zugewiesen.