diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/contenttypes/GreyLiteratureExtendedPropertiesStep.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/contenttypes/GreyLiteratureExtendedPropertiesStep.java new file mode 100644 index 0000000..d8886f9 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/contenttypes/GreyLiteratureExtendedPropertiesStep.java @@ -0,0 +1,161 @@ +package org.scientificcms.publications.ui.contenttypes; + +import org.libreccm.security.AuthorizationRequired; +import org.librecms.ui.contentsections.documents.MvcAuthoringStepDef; +import org.librecms.ui.contentsections.documents.MvcAuthoringSteps; +import org.scientificcms.publications.GreyLiterature; +import org.scientificcms.publications.contenttypes.GreyLiteratureItem; +import org.scientificcms.publications.ui.SciPublicationsUiConstants; + +import javax.enterprise.context.RequestScoped; +import javax.mvc.Controller; +import javax.transaction.Transactional; +import javax.ws.rs.FormParam; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@Path(MvcAuthoringSteps.PATH_PREFIX + "greyliterature-extendedproeprties") +@Controller +@MvcAuthoringStepDef( + bundle = SciPublicationsUiConstants.BUNDLE, + descriptionKey = "authoringsteps.extendedproperties.description", + labelKey = "authoringsteps.extendedproperties.label", + supportedDocumentType = GreyLiteratureItem.class +) +public class GreyLiteratureExtendedPropertiesStep + extends AbstractPublicationExtendedPropertiesStep { + + @Override + public Class getStepClass() { + return GreyLiteratureExtendedPropertiesStep.class; + } + + @Override + public Class getPublicationClass() { + return GreyLiterature.class; + } + + @Override + public String getEditStepUrlFragment() { + return "grepyliterature-extendedproperties"; + } + + @Override + protected String getStepTemplatePath() { + return "org/scientificcms/contenttypes/ui/greyliterature/edit-extended-properties.xhtml"; + } + + @GET + @Path("/") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String showStep( + @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME) + final String documentPath + ) { + return super.showStep(sectionIdentifier, documentPath); + } + + @POST + @Path("/properties") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String updateProperties( + @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME) + final String documentPath, + @FormParam("languageOfPublication") + final String languageOfPublicationParam, + @FormParam("peerReviewed") + final String peerReviewedParam, + @FormParam("yearFirstPublished") + final String yearFirstPublishedParam + ) { + return super.updateProperties( + sectionIdentifier, + documentPath, + languageOfPublicationParam, + peerReviewedParam, + yearFirstPublishedParam + ); + } + + @POST + @Path("/series") + @AuthorizationRequired + @Transactional + @Override + public String addSeries( + @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME) + final String documentPath, + @FormParam("seriesIdentifier") + final String seriesIdentifier, + @FormParam("volumeOfSeries") + final String volumeOfSeries + ) { + return super.addSeries( + sectionIdentifier, + documentPath, + seriesIdentifier, + volumeOfSeries + ); + } + + @POST + @Path("/series/{volumeInSeriesUuid}") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String editVolumeInSeries( + @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME) + final String documentPath, + @PathParam("volumeInSeriesUuid") + final String volumeInSeriesUuid, + @FormParam("volumeOfSeries") + final String volumeOfSeries + ) { + return super.editVolumeInSeries( + sectionIdentifier, + documentPath, + volumeInSeriesUuid, + volumeOfSeries + ); + } + + @POST + @Path("/series/{volumeInSeriesUuid}/remove") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String removeVolumeInSeries( + @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME) + final String documentPath, + @PathParam("volumeInSeriesUuid") + final String volumeInSeriesUuid + ) { + return super.removeVolumeInSeries( + sectionIdentifier, + documentPath, + volumeInSeriesUuid + ); + } + +} diff --git a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-extended-properties.xhtml b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-extended-properties.xhtml index d3e0447..637d6f5 100644 --- a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-extended-properties.xhtml +++ b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-extended-properties.xhtml @@ -8,13 +8,13 @@ + value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@greyliterature-extendedproperties" /> + value="#{SciPublicationsUiMessageBundle.getMessage('greyliterature.extendedproperties.header', [CmsSelectedDocumentModel.itemName])}" /> + value="greyliterature-extendedproperties" /> diff --git a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-greyliterature.xhtml b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-greyliterature.xhtml new file mode 100644 index 0000000..97fbe23 --- /dev/null +++ b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/contenttypes/ui/greyliterature/edit-greyliterature.xhtml @@ -0,0 +1,54 @@ +]> + + + + + + + + + + + + + + + + + +
+
#{SciPublicationsUiMessageBundle['greyliterature.basicproperties.startpage.label']}
+
#{SciCmsGreyLiteraturePropertiesStepModel.startPage}
+
+
+
#{SciPublicationsUiMessageBundle['greyliterature.basicproperties.endpage.label']}
+
#{SciCmsGreyLiteraturePropertiesStepModel.endPage}
+
+
+ + + + +
+ + diff --git a/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle.properties b/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle.properties index 66a1dc8..4781985 100644 --- a/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle.properties +++ b/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle.properties @@ -593,3 +593,8 @@ expertise.extendedproperties.header=Extended properties of Expertise {0} greyliteratureitem.createstep.description=Creates a new grey literature publication item. greyliterature.createform.title=Create a new grey literature item greyliterature.createform.submit=Create grey literature publication +greyliterature.basicproperties.header=Edit basic properties of grey literature publication {0} +greyliterature.basicproperties.startpage.help=The first page of the publication, if the publication is part of another publication. +greyliterature.basicproperties.startpage.label=First page +greyliterature.basicproperties.endpage.help=The last page of the publication, if the publication is part of another publication. +greyliterature.basicproperties.endpage.label=Last page diff --git a/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle_de.properties b/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle_de.properties index 5caa34d..d54683d 100644 --- a/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle_de.properties +++ b/sci-publications/src/main/resources/org/scientificcms/publications/ui/SciPublicationsBundle_de.properties @@ -593,3 +593,8 @@ expertise.extendedproperties.header=Erweiterte Eigenschaften des Gutachtens {0} greyliteratureitem.createstep.description=Erstellt eine neue "Graue Literatur"-Publikation greyliterature.createform.title=Neue "Graue Literatur"-Publikation anlegen greyliterature.createform.submit="Graue Literatur"-Publikation anlegen +greyliterature.basicproperties.header=Basiseigenschaften der "Graue Literatur"-Publikation {0} bearbeiten +greyliterature.basicproperties.startpage.help=Die erste Seite der Publikation, sofern die Publikation Teil einer anderen Publikation ist. +greyliterature.basicproperties.startpage.label=Erste Seite +greyliterature.basicproperties.endpage.help=Die letzte Seite der Publikation, sofern die Publikation Teil einer anderen Publikation ist. +greyliterature.basicproperties.endpage.label=Letzte Seite