Bugfixes for authoring steps for article in journal
parent
c172101781
commit
5f34d60d31
|
|
@ -3,6 +3,7 @@ package org.scientificcms.publications.ui.contenttypes;
|
||||||
import org.libreccm.api.Identifier;
|
import org.libreccm.api.Identifier;
|
||||||
import org.libreccm.api.IdentifierParser;
|
import org.libreccm.api.IdentifierParser;
|
||||||
import org.libreccm.security.AuthorizationRequired;
|
import org.libreccm.security.AuthorizationRequired;
|
||||||
|
import org.librecms.contentsection.AssetRepository;
|
||||||
import org.librecms.ui.contentsections.ContentSectionNotFoundException;
|
import org.librecms.ui.contentsections.ContentSectionNotFoundException;
|
||||||
import org.librecms.ui.contentsections.ItemPermissionChecker;
|
import org.librecms.ui.contentsections.ItemPermissionChecker;
|
||||||
import org.librecms.ui.contentsections.documents.DocumentNotFoundException;
|
import org.librecms.ui.contentsections.documents.DocumentNotFoundException;
|
||||||
|
|
@ -13,6 +14,7 @@ import org.scientificcms.publications.ArticleInJournal;
|
||||||
import org.scientificcms.publications.ArticleInJournalManager;
|
import org.scientificcms.publications.ArticleInJournalManager;
|
||||||
import org.scientificcms.publications.Journal;
|
import org.scientificcms.publications.Journal;
|
||||||
import org.scientificcms.publications.JournalRepository;
|
import org.scientificcms.publications.JournalRepository;
|
||||||
|
import org.scientificcms.publications.assets.JournalAsset;
|
||||||
import org.scientificcms.publications.contenttypes.ArticleInJournalItem;
|
import org.scientificcms.publications.contenttypes.ArticleInJournalItem;
|
||||||
import org.scientificcms.publications.ui.SciPublicationsUiConstants;
|
import org.scientificcms.publications.ui.SciPublicationsUiConstants;
|
||||||
import org.scientificcms.publications.ui.SciPublicationsUiMessageBundle;
|
import org.scientificcms.publications.ui.SciPublicationsUiMessageBundle;
|
||||||
|
|
@ -54,11 +56,14 @@ public class ArticleInJournalPropertiesStep
|
||||||
extends AbstractPublicationPropertiesStep<ArticleInJournalItem, ArticleInJournal> {
|
extends AbstractPublicationPropertiesStep<ArticleInJournalItem, ArticleInJournal> {
|
||||||
|
|
||||||
public static final String EDIT_STEP_URL_FRAGMENT
|
public static final String EDIT_STEP_URL_FRAGMENT
|
||||||
= "articleinjournal-basicproperties";
|
= "articleinjournal-basicproperties";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ArticleInJournalManager articleManager;
|
private ArticleInJournalManager articleManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private AssetRepository assetRepo;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private DocumentUi documentUi;
|
private DocumentUi documentUi;
|
||||||
|
|
||||||
|
|
@ -68,9 +73,6 @@ public class ArticleInJournalPropertiesStep
|
||||||
@Inject
|
@Inject
|
||||||
private ItemPermissionChecker itemPermissionChecker;
|
private ItemPermissionChecker itemPermissionChecker;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private JournalRepository journalRepository;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Models models;
|
private Models models;
|
||||||
|
|
||||||
|
|
@ -359,18 +361,20 @@ public class ArticleInJournalPropertiesStep
|
||||||
final Identifier identifier = identifierParser.parseIdentifier(
|
final Identifier identifier = identifierParser.parseIdentifier(
|
||||||
journalIdentifer
|
journalIdentifer
|
||||||
);
|
);
|
||||||
final Optional<Journal> journalResult;
|
final Optional<JournalAsset> journalResult;
|
||||||
switch (identifier.getType()) {
|
switch (identifier.getType()) {
|
||||||
case ID:
|
case ID:
|
||||||
journalResult = journalRepository.findById(
|
journalResult = assetRepo.findById(
|
||||||
Long.parseLong(
|
Long.parseLong(
|
||||||
identifier.getIdentifier()
|
identifier.getIdentifier()
|
||||||
)
|
),
|
||||||
|
JournalAsset.class
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case UUID:
|
case UUID:
|
||||||
journalResult = journalRepository.findByUuid(
|
journalResult = assetRepo.findByUuidAndType(
|
||||||
identifier.getIdentifier()
|
identifier.getIdentifier(),
|
||||||
|
JournalAsset.class
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -386,7 +390,7 @@ public class ArticleInJournalPropertiesStep
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final Journal journal = journalResult.get();
|
final Journal journal = journalResult.get().getJournal();
|
||||||
articleManager.setJournal(getPublication(), journal);
|
articleManager.setJournal(getPublication(), journal);
|
||||||
|
|
||||||
return buildRedirectPathForStep();
|
return buildRedirectPathForStep();
|
||||||
|
|
@ -400,7 +404,7 @@ public class ArticleInJournalPropertiesStep
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/journal/remove")
|
@Path("/journal/@remove")
|
||||||
@AuthorizationRequired
|
@AuthorizationRequired
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
public String removeCollectedVolume(
|
public String removeCollectedVolume(
|
||||||
|
|
@ -487,6 +491,8 @@ public class ArticleInJournalPropertiesStep
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPublication().setPublicationDate(publicationDate);
|
||||||
|
|
||||||
if (startPageParam.matches("\\d*")) {
|
if (startPageParam.matches("\\d*")) {
|
||||||
getPublication().setStartPage(Integer.parseInt(startPageParam));
|
getPublication().setStartPage(Integer.parseInt(startPageParam));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<ui:param name="authoringStepTitle"
|
<ui:param name="authoringStepTitle"
|
||||||
value="#{SciPublicationsUiMessageBundle.getMessage('articleinjournal.basicproperties.header', [SciCmsPublicationPropertiesStepModel.name])}" />
|
value="#{SciPublicationsUiMessageBundle.getMessage('articleinjournal.basicproperties.header', [SciCmsPublicationPropertiesStepModel.name])}" />
|
||||||
|
|
||||||
<ui:define name="publicatonMessages">
|
<ui:define name="publicationMessages">
|
||||||
<c:if test="#{journalNotFound != null}">
|
<c:if test="#{journalNotFound != null}">
|
||||||
<div class="alert alert-warning" role="alert">
|
<div class="alert alert-warning" role="alert">
|
||||||
#{SciPublicationsUiMessageBundle.getMessage('articleinjournal.basicproperties.errors.journal_not_found', [journalNotFound])}
|
#{SciPublicationsUiMessageBundle.getMessage('articleinjournal.basicproperties.errors.journal_not_found', [journalNotFound])}
|
||||||
|
|
@ -133,19 +133,18 @@
|
||||||
#{SciCmsArticleInJournalPropertiesStepModel.journalTitle}
|
#{SciCmsArticleInJournalPropertiesStepModel.journalTitle}
|
||||||
</p>
|
</p>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
<c:if test="#{CmsSelectedDocumentModel.canEdit and SciCmsArticleInJournalPropertiesStepModel.journalTitle == null}">
|
|
||||||
<libreccm:deleteDialog
|
|
||||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@articleinjournal-basicproperties/journal/@remove"
|
|
||||||
buttonText="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.label']}"
|
|
||||||
cancelLabel="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.cancel']}"
|
|
||||||
confirmLabel="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.confirm']}"
|
|
||||||
dialogId="journal-remove"
|
|
||||||
dialogTitle="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.title']}"
|
|
||||||
message="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.message']}"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</c:if>
|
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
<c:if test="#{CmsSelectedDocumentModel.canEdit and SciCmsArticleInJournalPropertiesStepModel.journalTitle != null}">
|
||||||
|
<libreccm:deleteDialog
|
||||||
|
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@articleinjournal-basicproperties/journal/@remove"
|
||||||
|
buttonText="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.label']}"
|
||||||
|
cancelLabel="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.cancel']}"
|
||||||
|
confirmLabel="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.confirm']}"
|
||||||
|
dialogId="journal-remove"
|
||||||
|
dialogTitle="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.title']}"
|
||||||
|
message="#{SciPublicationsUiMessageBundle['articleinjournal.edit.journal.remove.message']}"
|
||||||
|
/>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
</ui:define>
|
</ui:define>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue