diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java index 4415a6d..b907dc2 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java @@ -9,8 +9,11 @@ package org.scientificcms.publications.assets; import org.hibernate.envers.Audited; import org.librecms.assets.AssetType; import org.librecms.contentsection.Asset; +import org.librecms.ui.contentsections.assets.MvcAssetEditKit; import org.scientificcms.publications.Journal; import org.scientificcms.publications.SciPublicationsConstants; +import org.scientificcms.publications.ui.assets.JournalAssetCreateStep; +import org.scientificcms.publications.ui.assets.JournalAssetEditStep; import java.util.Objects; @@ -36,6 +39,10 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; descriptionBundle = SciPublicationsConstants.BUNDLE, descriptionKey = "journal.description" ) +@MvcAssetEditKit( + createStep = JournalAssetCreateStep.class, + editStep = JournalAssetEditStep.class +) public class JournalAsset extends Asset { private static final long serialVersionUID = 1L; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java index afe6073..d2213cd 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package org.scientificcms.publications.assets; import org.hibernate.envers.Audited; @@ -11,8 +6,8 @@ import org.librecms.contentsection.Asset; import org.librecms.ui.contentsections.assets.MvcAssetEditKit; import org.scientificcms.publications.Publisher; import org.scientificcms.publications.SciPublicationsConstants; -import org.scientificcms.publications.ui.assets.PublisherCreateStep; -import org.scientificcms.publications.ui.assets.PublisherEditStep; +import org.scientificcms.publications.ui.assets.PublisherAssetCreateStep; +import org.scientificcms.publications.ui.assets.PublisherAssetEditStep; import java.util.Objects; @@ -40,8 +35,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; descriptionKey = "publisher.description" ) @MvcAssetEditKit( - createStep = PublisherCreateStep.class, - editStep = PublisherEditStep.class + createStep = PublisherAssetCreateStep.class, + editStep = PublisherAssetEditStep.class ) public class PublisherAsset extends Asset { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetCreateStep.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetCreateStep.java new file mode 100644 index 0000000..2370eec --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetCreateStep.java @@ -0,0 +1,131 @@ +package org.scientificcms.publications.ui.assets; + +import com.arsdigita.kernel.KernelConfig; + +import org.libreccm.configuration.ConfigurationManager; +import org.libreccm.l10n.GlobalizationHelper; +import org.libreccm.security.AuthorizationRequired; +import org.librecms.ui.contentsections.assets.AbstractMvcAssetCreateStep; +import org.scientificcms.publications.Journal; +import org.scientificcms.publications.JournalRepository; +import org.scientificcms.publications.assets.JournalAsset; +import org.scientificcms.publications.ui.SciPublicationsUiConstants; + +import java.util.Map; +import java.util.Optional; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; +import javax.inject.Named; +import javax.transaction.Transactional; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@Named("SciCmsJournalAssetCreateStep") +public class JournalAssetCreateStep + extends AbstractMvcAssetCreateStep { + + private static final String FORM_PARAMS_JOURNAL_TITLE = "journalTitle"; + + private String journalTitle; + + @Inject + private ConfigurationManager confManager; + + @Inject + private GlobalizationHelper globalizationHelper; + + @Inject + private JournalRepository journalRepo; + + @Override + public String showCreateStep() { + return "org/scientificcms/assets/journal/ui/create-journal.xhtml"; + } + + @Override + public String getLabel() { + return globalizationHelper + .getLocalizedTextsUtil(getBundle()) + .getText("journal.label"); + } + + @Override + public String getDescription() { + return globalizationHelper + .getLocalizedTextsUtil(getBundle()) + .getText("journal.description"); + } + + @Override + public String getBundle() { + return SciPublicationsUiConstants.BUNDLE; + } + + @Override + protected Class getAssetClass() { + return JournalAsset.class; + } + + public String getJournalTitle() { + return journalTitle; + } + + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String createAsset(final Map formParams) { + if (!formParams.containsKey(FORM_PARAMS_JOURNAL_TITLE) + || formParams.get(FORM_PARAMS_JOURNAL_TITLE) == null + || formParams.get(FORM_PARAMS_JOURNAL_TITLE).length == 0) { + addMessage( + "danger", + globalizationHelper + .getLocalizedTextsUtil(getBundle()) + .getText("journal.createstep.journaltitle.error.missing") + ); + return showCreateStep(); + } + + formParams.put("title", formParams.get(FORM_PARAMS_JOURNAL_TITLE)); + + final KernelConfig kernelConfig = confManager + .findConfiguration(KernelConfig.class); + formParams.put( + "locale", + new String[]{kernelConfig.getDefaultLocale().toString()} + ); + + return super.createAsset(formParams); + } + + @Override + @Transactional(Transactional.TxType.REQUIRED) + protected String setAssetProperties( + final JournalAsset journalAsset, + final Map formParams + ) { + journalTitle = Optional + .ofNullable(formParams.get(FORM_PARAMS_JOURNAL_TITLE)) + .filter(value -> value.length > 0) + .map(value -> value[0]) + .orElse(null); + + final Journal journal = new Journal(); + journal.setTitle(journalTitle); + journalRepo.save(journal); + + journalAsset.setJournal(journal); + + return String.format( + "redirect:/%s/assets/%s/%s/@journal-edit", + getContentSectionLabel(), + getFolderPath(), + getName() + ); + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStep.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStep.java new file mode 100644 index 0000000..452beb4 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStep.java @@ -0,0 +1,367 @@ +package org.scientificcms.publications.ui.assets; + +import com.arsdigita.kernel.KernelConfig; + +import org.libreccm.configuration.ConfigurationManager; +import org.libreccm.l10n.GlobalizationHelper; +import org.libreccm.security.AuthorizationRequired; +import org.librecms.contentsection.AssetRepository; +import org.librecms.ui.contentsections.AssetPermissionsChecker; +import org.librecms.ui.contentsections.ContentSectionNotFoundException; +import org.librecms.ui.contentsections.assets.AbstractMvcAssetEditStep; +import org.librecms.ui.contentsections.assets.AssetNotFoundException; +import org.librecms.ui.contentsections.assets.AssetStepsDefaultMessagesBundle; +import org.librecms.ui.contentsections.assets.AssetUi; +import org.librecms.ui.contentsections.assets.MvcAssetEditStep; +import org.librecms.ui.contentsections.assets.MvcAssetEditStepDef; +import org.librecms.ui.contentsections.assets.MvcAssetEditSteps; +import org.librecms.ui.contentsections.documents.CmsEditorLocaleVariantRow; +import org.scientificcms.publications.Journal; +import org.scientificcms.publications.JournalRepository; +import org.scientificcms.publications.assets.JournalAsset; +import org.scientificcms.publications.ui.SciPublicationsUiConstants; + +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.StringTokenizer; +import java.util.stream.Collectors; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; +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(MvcAssetEditSteps.PATH_PREFIX + "journal-edit") +@Controller +@MvcAssetEditStepDef( + bundle = SciPublicationsUiConstants.BUNDLE, + descriptionKey = "joural.editstep.description", + labelKey = "journal.editstep.label", + supportedAssetType = JournalAsset.class +) +public class JournalAssetEditStep extends AbstractMvcAssetEditStep { + + @Inject + private AssetPermissionsChecker assetPermissionsChecker; + + @Inject + private AssetStepsDefaultMessagesBundle messageBundle; + + @Inject + private AssetRepository assetRepo; + + @Inject + private AssetUi assetUi; + + @Inject + private ConfigurationManager confManager; + + @Inject + private GlobalizationHelper globalizationHelper; + + @Inject + private JournalRepository journalRepo; + + @Inject + private JournalAssetEditStepModel editStepModel; + + @Override + public Class getStepClass() { + return JournalAssetEditStep.class; + } + + @Override + @Transactional(Transactional.TxType.REQUIRED) + protected void init() throws ContentSectionNotFoundException, + AssetNotFoundException { + super.init(); + + if (getAsset() instanceof JournalAsset) { + final Journal journal = getJournal(); + editStepModel.setFirstYear(journal.getFirstYear()); + editStepModel.setIssn(journal.getIssn()); + editStepModel.setJournalTitle(journal.getTitle()); + editStepModel.setLastYear(journal.getLastYear()); + + editStepModel.setDescriptionValues( + getJournal() + .getDescription() + .getValues() + .entrySet() + .stream() + .collect( + Collectors.toMap( + entry -> entry.getKey().toString(), + entry -> entry.getValue() + ) + ) + ); + + final Set descriptionLocales = getJournal() + .getDescription() + .getAvailableLocales(); + editStepModel.setUnusedDescriptionLocales( + globalizationHelper + .getAvailableLocales() + .stream() + .filter(locale -> !descriptionLocales.contains(locale)) + .map(Locale::toString) + .collect(Collectors.toList()) + ); + + editStepModel.setVariants( + getJournal() + .getDescription() + .getValues() + .entrySet() + .stream() + .map(this::buildVariantRow) + .collect(Collectors.toList())); + } else { + throw new AssetNotFoundException( + assetUi.showAssetNotFound( + getContentSection(), getAssetPath() + ), + String.format( + "No JournalAsset for path %s found in section %s.", + getAssetPath(), + getContentSection().getLabel() + ) + ); + } + } + + protected JournalAsset getJournalAsset() { + return (JournalAsset) getAsset(); + } + + protected Journal getJournal() { + return getJournalAsset().getJournal(); + } + + @GET + @Path("/") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + @Override + public String showStep( + @PathParam(MvcAssetEditSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAssetEditSteps.ASSET_PATH_PATH_PARAM_NAME) + final String assetPath + ) { + try { + init(); + } catch (ContentSectionNotFoundException ex) { + return ex.showErrorMessage(); + } catch (AssetNotFoundException ex) { + return ex.showErrorMessage(); + } + + if (assetPermissionsChecker.canEditAsset(getAsset())) { + return "org/scientificcms/assets/journal/ui/edit-journal.xhtml"; + } else { + return assetUi.showAccessDenied( + getContentSection(), + getAsset(), + messageBundle.get("asset.edit.denied")); + } + } + + @POST + @Path("/properties") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + public String updateProperties( + @PathParam(MvcAssetEditSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAssetEditSteps.ASSET_PATH_PATH_PARAM_NAME) + final String assetPath, + @FormParam("journalTitle") + final String journalTitle, + @FormParam("firstYear") + final String firstYearParam, + @FormParam("lastYear") + final String lastYearParam, + @FormParam("issn") + final String issn + ) { + try { + init(); + } catch (ContentSectionNotFoundException ex) { + return ex.showErrorMessage(); + } catch (AssetNotFoundException ex) { + return ex.showErrorMessage(); + } + + if (assetPermissionsChecker.canEditAsset(getAsset())) { + final JournalAsset journalAsset = getJournalAsset(); + final Journal journal = getJournal(); + + final KernelConfig kernelConfig = confManager.findConfiguration( + KernelConfig.class + ); + + journalAsset + .getTitle() + .putValue(kernelConfig.getDefaultLocale(), journalTitle); + journal.setTitle(journalTitle); + + if (firstYearParam != null) { + if (firstYearParam.isBlank()) { + journal.setFirstYear(null); + } else { + journal.setFirstYear(Integer.parseInt(firstYearParam)); + } + } + + if (lastYearParam != null) { + if (lastYearParam.isBlank()) { + journal.setLastYear(null); + } else { + journal.setLastYear(Integer.parseInt(lastYearParam)); + } + } + + journal.setIssn(issn); + + assetRepo.save(journalAsset); + journalRepo.save(journal); + + return buildRedirectPathForStep(); + } else { + return assetUi.showAccessDenied( + getContentSection(), + getAsset(), + messageBundle.get("asset.edit.denied")); + } + } + + @POST + @Path("/description/add") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + public String addDescriptionValue( + @PathParam(MvcAssetEditSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAssetEditSteps.ASSET_PATH_PATH_PARAM_NAME) + final String assetPath, + @FormParam("locale") + final String localeParam, + @FormParam("value") + final String value + ) { + try { + init(); + } catch (ContentSectionNotFoundException ex) { + return ex.showErrorMessage(); + } catch (AssetNotFoundException ex) { + return ex.showErrorMessage(); + } + + if (assetPermissionsChecker.canEditAsset(getAsset())) { + final Locale locale = new Locale(localeParam); + getJournal().getDescription().putValue(locale, value); + journalRepo.save(getJournal()); + + return buildRedirectPathForStep(); + }else { + return assetUi.showAccessDenied( + getContentSection(), + getAsset(), + messageBundle.get("asset.edit.denied")); + } + } + + @POST + @Path("/description/edit/{locale}") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + public String editDescriptionValue( + @PathParam(MvcAssetEditSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAssetEditSteps.ASSET_PATH_PATH_PARAM_NAME) + final String assetPath, + @PathParam("locale") final String localeParam, + @FormParam("value") final String value + ) { + try { + init(); + } catch (ContentSectionNotFoundException ex) { + return ex.showErrorMessage(); + } catch (AssetNotFoundException ex) { + return ex.showErrorMessage(); + } + + if (assetPermissionsChecker.canEditAsset(getAsset())) { + final Locale locale = new Locale(localeParam); + getJournal().getDescription().putValue(locale, value); + journalRepo.save(getJournal()); + + return buildRedirectPathForStep(); + }else { + return assetUi.showAccessDenied( + getContentSection(), + getAsset(), + messageBundle.get("asset.edit.denied")); + } + } + + @POST + @Path("/description/remove/{locale}") + @AuthorizationRequired + @Transactional(Transactional.TxType.REQUIRED) + public String removeDescriptionValue( + @PathParam(MvcAssetEditSteps.SECTION_IDENTIFIER_PATH_PARAM) + final String sectionIdentifier, + @PathParam(MvcAssetEditSteps.ASSET_PATH_PATH_PARAM_NAME) + final String assetPath, + @PathParam("locale") final String localeParam + ) { + try { + init(); + } catch (ContentSectionNotFoundException ex) { + return ex.showErrorMessage(); + } catch (AssetNotFoundException ex) { + return ex.showErrorMessage(); + } + + if (assetPermissionsChecker.canEditAsset(getAsset())) { + final Locale locale = new Locale(localeParam); + getJournal().getDescription().removeValue(locale); + journalRepo.save(getJournal()); + + return buildRedirectPathForStep(); + } else { + return assetUi.showAccessDenied( + getContentSection(), + getAsset(), + messageBundle.get("asset.edit.denied")); + } + } + + private CmsEditorLocaleVariantRow buildVariantRow( + final Map.Entry entry + ) { + final CmsEditorLocaleVariantRow variant + = new CmsEditorLocaleVariantRow(); + variant.setLocale(entry.getKey().toString()); + variant.setWordCount( + new StringTokenizer(entry.getValue()).countTokens() + ); + + return variant; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStepModel.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStepModel.java new file mode 100644 index 0000000..54743bf --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/JournalAssetEditStepModel.java @@ -0,0 +1,98 @@ +package org.scientificcms.publications.ui.assets; + +import org.librecms.ui.contentsections.documents.CmsEditorLocaleVariantRow; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Named; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@Named("SciCmsJournalAssetEditStepModel") +public class JournalAssetEditStepModel { + + private String journalTitle; + + private Integer firstYear; + + private Integer lastYear; + + private String issn; + + private Map descriptionValues; + + private List variants; + + private List unusedDescriptionLocales; + + public String getJournalTitle() { + return journalTitle; + } + + public void setJournalTitle(final String journalTitle) { + this.journalTitle = journalTitle; + } + + public Integer getFirstYear() { + return firstYear; + } + + public void setFirstYear(final Integer firstYear) { + this.firstYear = firstYear; + } + + public Integer getLastYear() { + return lastYear; + } + + public void setLastYear(final Integer lastYear) { + this.lastYear = lastYear; + } + + public String getIssn() { + return issn; + } + + public void setIssn(final String issn) { + this.issn = issn; + } + + public Map getDescriptionValues() { + return Collections.unmodifiableMap(descriptionValues); + } + + public void setDescriptionValues( + final Map descriptionValues + ) { + this.descriptionValues = new HashMap<>(descriptionValues); + } + + public List getVariants() { + return Collections.unmodifiableList(variants); + } + + public void setVariants(final List variants) { + this.variants = new ArrayList<>(variants); + } + + public List getUnusedDescriptionLocales() { + return Collections.unmodifiableList(unusedDescriptionLocales); + } + + public void setUnusedDescriptionLocales( + final List unusedDescriptionLocales + ) { + this.unusedDescriptionLocales = new ArrayList<>( + unusedDescriptionLocales + ); + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherCreateStep.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetCreateStep.java similarity index 98% rename from sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherCreateStep.java rename to sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetCreateStep.java index 138e813..9d5a796 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherCreateStep.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetCreateStep.java @@ -42,8 +42,8 @@ import javax.transaction.Transactional; * @author Jens Pelzetter */ @RequestScoped -@Named("SciCmsPublisherCreateStep") -public class PublisherCreateStep +@Named("SciCmsPublisherAssetCreateStep") +public class PublisherAssetCreateStep extends AbstractMvcAssetCreateStep { private static final String FORM_PARAMS_PUBLISHER_NAME = "publisherName"; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStep.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStep.java similarity index 97% rename from sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStep.java rename to sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStep.java index fa06f55..25269c9 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStep.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStep.java @@ -60,7 +60,7 @@ import javax.ws.rs.PathParam; labelKey = "publisher.editstep.label", supportedAssetType = PublisherAsset.class ) -public class PublisherEditStep extends AbstractMvcAssetEditStep { +public class PublisherAssetEditStep extends AbstractMvcAssetEditStep { @Inject private AssetPermissionsChecker assetPermissionsChecker; @@ -81,11 +81,11 @@ public class PublisherEditStep extends AbstractMvcAssetEditStep { private PublisherRepository publisherRepo; @Inject - private PublisherEditStepModel editStepModel; + private PublisherAssetEditStepModel editStepModel; @Override public Class getStepClass() { - return PublisherEditStep.class; + return PublisherAssetEditStep.class; } @Override diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStepModel.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStepModel.java similarity index 88% rename from sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStepModel.java rename to sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStepModel.java index 964c99f..5b2cf68 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherEditStepModel.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/PublisherAssetEditStepModel.java @@ -8,8 +8,8 @@ import javax.inject.Named; * @author Jens Pelzetter */ @RequestScoped -@Named("SciCmsPublisherEditStepModel") -public class PublisherEditStepModel { +@Named("SciCmsPublisherAssetEditStepModel") +public class PublisherAssetEditStepModel { private String publisherName; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/SciPublicationsAssetSteps.java b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/SciPublicationsAssetSteps.java index bb43d23..2250d98 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/SciPublicationsAssetSteps.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ui/assets/SciPublicationsAssetSteps.java @@ -16,7 +16,8 @@ public class SciPublicationsAssetSteps implements MvcAssetEditSteps { @Override public Set> getClasses() { return Set.of( - PublisherEditStep.class + JournalAssetEditStep.class, + PublisherAssetEditStep.class ); } diff --git a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/create-journal.xhtml b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/create-journal.xhtml new file mode 100644 index 0000000..5b7042b --- /dev/null +++ b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/create-journal.xhtml @@ -0,0 +1,55 @@ +]> + + + + +
+

#{SciPublicationsUiMessageBundle['journal.createform.title']}

+ + + + + + +
+ + + + + + #{CmsAssetsStepsDefaultMessagesBundle['createform.cancel']} + + + +
+
+ +
+ diff --git a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/edit-journal.xhtml b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/edit-journal.xhtml new file mode 100644 index 0000000..31eb3f9 --- /dev/null +++ b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/journal/ui/edit-journal.xhtml @@ -0,0 +1,158 @@ +]> + + + + + + + + +

#{SciPublicationsUiMessageBundle['journal.editstep.properties.header']}

+ + +
+ +
+ +
+
+
+
#{SciPublicationsUiMessageBundle['journal.editstep.properties.journaltitle.label']}
+
#{SciCmsJournalAssetEditStepModel.journalTitle}
+
+
+
#{SciPublicationsUiMessageBundle['journal.editstep.properties.firstyear.label']}
+
#{SciCmsJournalAssetEditStepModel.firstYear}
+
+
+
#{SciPublicationsUiMessageBundle['journal.editstep.properties.lastyear.label']}
+
#{SciCmsJournalAssetEditStepModel.lastYear}
+
+
+
#{SciPublicationsUiMessageBundle['journal.editstep.properties.issn.label']}
+
#{SciCmsJournalAssetEditStepModel.issn}
+
+
+ + +
+ +
+ + diff --git a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/publisher/ui/create-publisher.xhtml b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/publisher/ui/create-publisher.xhtml index bdc657e..f35138c 100644 --- a/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/publisher/ui/create-publisher.xhtml +++ b/sci-publications/src/main/resources/WEB-INF/views/org/scientificcms/assets/publisher/ui/create-publisher.xhtml @@ -10,14 +10,14 @@

#{SciPublicationsUiMessageBundle['publisher.createform.title']}

- -