Bug fixes for sci-types-project
parent
2745426835
commit
8c2ae8bd1d
|
|
@ -11,6 +11,11 @@ import org.hibernate.envers.Audited;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
import org.librecms.contentsection.ContentItem;
|
import org.librecms.contentsection.ContentItem;
|
||||||
import org.librecms.contenttypes.ContentTypeDescription;
|
import org.librecms.contenttypes.ContentTypeDescription;
|
||||||
|
import org.librecms.ui.contentsections.documents.MvcAuthoringKit;
|
||||||
|
import org.scientificcms.contenttypes.sciproject.ui.SciProjectCreateStep;
|
||||||
|
import org.scientificcms.contenttypes.sciproject.ui.SciProjectDescriptionStep;
|
||||||
|
import org.scientificcms.contenttypes.sciproject.ui.SciProjectFundingStep;
|
||||||
|
import org.scientificcms.contenttypes.sciproject.ui.SciProjectPropertiesStep;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -44,6 +49,14 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*;
|
||||||
labelBundle = "org.scientificcms.contenttypes.SciProject",
|
labelBundle = "org.scientificcms.contenttypes.SciProject",
|
||||||
descriptionBundle = "org.scientificcms.contenttypes.SciProject"
|
descriptionBundle = "org.scientificcms.contenttypes.SciProject"
|
||||||
)
|
)
|
||||||
|
@MvcAuthoringKit(
|
||||||
|
createStep = SciProjectCreateStep.class,
|
||||||
|
authoringSteps = {
|
||||||
|
SciProjectPropertiesStep.class,
|
||||||
|
SciProjectDescriptionStep.class,
|
||||||
|
SciProjectFundingStep.class
|
||||||
|
}
|
||||||
|
)
|
||||||
@NamedQueries({
|
@NamedQueries({
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "SciProject.findWhereBeginIsBefore",
|
name = "SciProject.findWhereBeginIsBefore",
|
||||||
|
|
@ -144,6 +157,7 @@ public class SciProject extends ContentItem implements Serializable {
|
||||||
public SciProject() {
|
public SciProject() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
shortDescription = new LocalizedString();
|
||||||
contacts = new ArrayList<>();
|
contacts = new ArrayList<>();
|
||||||
members = new ArrayList<>();
|
members = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package org.scientificcms.contenttypes.sciproject.ui;
|
||||||
|
|
||||||
|
import org.librecms.ui.contentsections.documents.MvcAuthoringSteps;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@ApplicationScoped
|
||||||
|
public class SciProjectAuthoringSteps implements MvcAuthoringSteps {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<Class<?>> getClasses() {
|
||||||
|
return Set.of(
|
||||||
|
SciProjectPropertiesStep.class,
|
||||||
|
SciProjectDescriptionStep.class,
|
||||||
|
SciProjectFundingStep.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<Class<?>> getResourceClasses() {
|
||||||
|
return Set.of(
|
||||||
|
SciProjectDescriptionStepService.class,
|
||||||
|
SciProjectFundingStepService.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -352,26 +352,27 @@ public class SciProjectCreateStep
|
||||||
&& formParams.get(FORM_PARAM_END) != null
|
&& formParams.get(FORM_PARAM_END) != null
|
||||||
&& formParams.get(FORM_PARAM_END).length > 0) {
|
&& formParams.get(FORM_PARAM_END).length > 0) {
|
||||||
endParam = formParams.get(FORM_PARAM_END)[0];
|
endParam = formParams.get(FORM_PARAM_END)[0];
|
||||||
if (endParam != null) {
|
if (endParam == null || endParam.isBlank()) {
|
||||||
try {
|
return null;
|
||||||
return LocalDate.parse(
|
}
|
||||||
endParam,
|
|
||||||
DateTimeFormatter.ISO_DATE
|
try {
|
||||||
);
|
return LocalDate.parse(
|
||||||
} catch (DateTimeParseException ex) {
|
endParam,
|
||||||
addMessage(
|
DateTimeFormatter.ISO_DATE
|
||||||
"danger",
|
);
|
||||||
globalizationHelper
|
} catch (DateTimeParseException ex) {
|
||||||
.getLocalizedTextsUtil(getBundle())
|
addMessage(
|
||||||
.getText("createstep.enddate.error.malformed")
|
"danger",
|
||||||
);
|
globalizationHelper
|
||||||
return null;
|
.getLocalizedTextsUtil(getBundle())
|
||||||
}
|
.getText("createstep.enddate.error.malformed")
|
||||||
} else {
|
);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,5 +30,5 @@ public final class SciProjectStepsConstants {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String BUNDLE
|
public static final String BUNDLE
|
||||||
= "org.scientificcms.contentypes.sciproject.ui.SciProjectBundle";
|
= "org.scientificcms.contenttypes.sciproject.ui.SciProjectBundle";
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
<!DOCTYPE html [<!ENTITY times '×'>]>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
|
||||||
|
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
|
||||||
|
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
|
||||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
|
||||||
|
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/contentsection.xhtml">
|
||||||
|
|
||||||
|
<ui:define name="main">
|
||||||
|
<div class="container">
|
||||||
|
<h1>#{SciProjectMessageBundle['createstep.title']}</h1>
|
||||||
|
|
||||||
|
<c:forEach items="#{SciProjectCreateStep.messages.entrySet()}"
|
||||||
|
var="message">
|
||||||
|
<div class="alert alert-#{message.key}"
|
||||||
|
role="alert">
|
||||||
|
#{message.value}
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
|
||||||
|
<form action="#{mvc.basePath}/#{SciProjectCreateStep.contentSectionLabel}/documents/#{SciProjectCreateStep.folderPath}@create/#{SciProjectCreateStep.documentType}"
|
||||||
|
method="post">
|
||||||
|
<bootstrap:formGroupText
|
||||||
|
help="#{SciProjectMessageBundle['createform.name.help']}"
|
||||||
|
inputId="name"
|
||||||
|
label="#{SciProjectMessageBundle['createform.name.label']}"
|
||||||
|
name="name"
|
||||||
|
pattern="^([a-zA-Z0-9_-]*)$"
|
||||||
|
required="true"
|
||||||
|
value="#{SciProjectCreateStep.name}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupSelect
|
||||||
|
help="#{SciProjectMessageBundle['createform.initial_locale.help']}"
|
||||||
|
inputId="locale"
|
||||||
|
label="#{SciProjectMessageBundle['createform.initial_locale.label']}"
|
||||||
|
name="locale"
|
||||||
|
options="#{SciProjectCreateStep.availableLocales}"
|
||||||
|
required="true"
|
||||||
|
selectedOptions="#{[SciProjectCreateStep.initialLocale]}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupText
|
||||||
|
help="#{SciProjectMessageBundle['createform.title.help']}"
|
||||||
|
inputId="title"
|
||||||
|
label="#{SciProjectMessageBundle['createform.title.label']}"
|
||||||
|
name="title"
|
||||||
|
required="true"
|
||||||
|
value="#{SciProjectCreateStep.title}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupDate
|
||||||
|
help="#{SciProjectMessageBundle['createform.begin.help']}"
|
||||||
|
inputId="begin"
|
||||||
|
label="#{SciProjectMessageBundle['createform.begin.label']}"
|
||||||
|
name="begin"
|
||||||
|
required="true"
|
||||||
|
value="#{SciProjectCreateStep.beginParam}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupDate
|
||||||
|
help="#{SciProjectMessageBundle['createform.end.help']}"
|
||||||
|
inputId="end"
|
||||||
|
label="#{SciProjectMessageBundle['createform.end.label']}"
|
||||||
|
name="end"
|
||||||
|
required="false"
|
||||||
|
value="#{SciProjectCreateStep.endParam}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupTextarea
|
||||||
|
cols="80"
|
||||||
|
help="#{SciProjectMessageBundle['createform.summary.help']}"
|
||||||
|
inputId="summary"
|
||||||
|
label="#{SciProjectMessageBundle['createform.summary.label']}"
|
||||||
|
name="summary"
|
||||||
|
required="true"
|
||||||
|
rows="16"
|
||||||
|
value="#{SciProjectCreateStep.shortDescription}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupSelect
|
||||||
|
help="#{SciProjectMessageBundle['createform.workflow.help']}"
|
||||||
|
inputId="workflow"
|
||||||
|
label="#{SciProjectMessageBundle['createform.workflow.label']}"
|
||||||
|
name="workflow"
|
||||||
|
options="#{SciProjectCreateStep.availableWorkflows}"
|
||||||
|
selectedOptions="#{[SciProjectCreateStep.selectedWorkflow]}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<a class="btn btn-warning"
|
||||||
|
href="#{mvc.basePath}/#{SciProjectCreateStep.contentSectionLabel}/documentsfolders/#{SciProjectCreateStep.folderPath}">
|
||||||
|
#{SciProjectMessageBundle['createform.cancel']}
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-success"
|
||||||
|
type="submit">
|
||||||
|
#{SciProjectMessageBundle['createform.submit']}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ui:define>
|
||||||
|
|
||||||
|
</ui:composition>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -5,46 +5,145 @@
|
||||||
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
|
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
|
||||||
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
|
||||||
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
|
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
|
||||||
</ui:composition>
|
|
||||||
|
|
||||||
<ui:param name="authoringStep"
|
<ui:param name="authoringStep"
|
||||||
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties" />
|
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties" />
|
||||||
|
|
||||||
<ui:define name="authoringStep">
|
<ui:define name="authoringStep">
|
||||||
<h2>#{SciProjectMessageBundle.getMessage('basicproperties.header', [SciProjectPropertiesStep.name])}</h2>
|
<h2>#{SciProjectMessageBundle.getMessage('basicproperties.header', [SciProjectPropertiesStep.name])}</h2>
|
||||||
|
|
||||||
|
<h3>#{SciProjectMessageBundle['basicproperties.name.header']}</h3>
|
||||||
|
<div class="d-flex">
|
||||||
|
<pre class="mr-2">#{SciProjectPropertiesStep.name}</pre>
|
||||||
|
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||||
|
<button class="btn btn-primary btn-sm"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#name-edit-dialog"
|
||||||
|
type="button">
|
||||||
|
<bootstrap:svgIcon icon="pen" />
|
||||||
|
<span class="sr-only">
|
||||||
|
#{SciProjectMessageBundle['basicproperties.name.edit']}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>#{SciProjectMessageBundle['basicproperties.name.header']}</h3>
|
|
||||||
<div class="d-flex">
|
|
||||||
<pre class="mr-2">#{SciProjectPropertiesStep.name}</pre>
|
|
||||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||||
|
<div aria-hidden="true"
|
||||||
|
aria-labelledby="name-edit-dialog-title"
|
||||||
|
class="modal fade"
|
||||||
|
id="name-edit-dialog"
|
||||||
|
tabindex="-1">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/name"
|
||||||
|
class="modal-content"
|
||||||
|
method="post">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title"
|
||||||
|
id="name-edit-dialog-title">
|
||||||
|
#{SciProjectMessageBundle['basicproperties.name.edit.title']}
|
||||||
|
</h4>
|
||||||
|
<button aria-label="#{SciProjectMessageBundle['basicproperties.name.edit.close']}"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
type="button">
|
||||||
|
<bootstrap:svgIcon icon="x" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<bootstrap:formGroupText
|
||||||
|
help="#{SciProjectMessageBundle['basicproperties.name.help']}"
|
||||||
|
inputId="name"
|
||||||
|
label="#{SciProjectMessageBundle['basicproperties.name.label']}"
|
||||||
|
name="name"
|
||||||
|
pattern="^([a-zA-Z0-9_-]*)$"
|
||||||
|
required="true"
|
||||||
|
value="#{SciProjectPropertiesStep.name}"/>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-warning"
|
||||||
|
data-dismiss="modal"
|
||||||
|
type="button">
|
||||||
|
#{SciProjectMessageBundle['basicproperties.name.edit.close']}
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-success"
|
||||||
|
type="submit">
|
||||||
|
#{SciProjectMessageBundle['basicproperties.name.edit.submit']}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
<libreccm:localizedStringEditor
|
||||||
|
addButtonLabel="#{SciProjectMessageBundle['basicproperties.title.add']}"
|
||||||
|
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.add.cancel']}"
|
||||||
|
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.title.add.locale.help']}"
|
||||||
|
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.title.add.locale.label']}"
|
||||||
|
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.add.submit']}"
|
||||||
|
addDialogTitle="#{SciProjectMessageBundle['basicproperties.title.add.header']}"
|
||||||
|
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.title.add.value.help']}"
|
||||||
|
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.title.add.value.label']}"
|
||||||
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@add"
|
||||||
|
editButtonLabel="#{SciProjectMessageBundle['basicproperties.title.edit']}"
|
||||||
|
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.edit.cancel']}"
|
||||||
|
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.edit.submit']}"
|
||||||
|
editDialogTitle="#{SciProjectMessageBundle['basicproperties.title.edit.header']}"
|
||||||
|
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.title.edit.value.help']}"
|
||||||
|
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.title.edit.value.label']}"
|
||||||
|
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@edit"
|
||||||
|
editorId="title-editor"
|
||||||
|
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedTitleLocales.isEmpty()}"
|
||||||
|
headingLevel="3"
|
||||||
|
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
||||||
|
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
||||||
|
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.title.remove']}"
|
||||||
|
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.remove.cancel']}"
|
||||||
|
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.remove.submit']}"
|
||||||
|
removeDialogText="#{SciProjectMessageBundle['basicproperties.title.remove.text']}"
|
||||||
|
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.title.remove.header']}"
|
||||||
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@remove"
|
||||||
|
title="#{SciProjectMessageBundle['basicproperties.title.header']}"
|
||||||
|
unusedLocales="#{SciProjectPropertiesStep.unusedTitleLocales}"
|
||||||
|
values="#{SciProjectPropertiesStep.titleValues}"
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="d-flex">
|
||||||
|
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.begin.header']}</h3>
|
||||||
<button class="btn btn-primary btn-sm"
|
<button class="btn btn-primary btn-sm"
|
||||||
data-toggle="modal"
|
data-toggle="modal"
|
||||||
data-target="#name-edit-dialog"
|
data-target="#begin-edit-dialog"
|
||||||
type="button">
|
type="button">
|
||||||
<bootstrap:svgIcon icon="pen" />
|
<bootstrap:svgIcon icon="pen" />
|
||||||
<span class="sr-only">
|
<span class="sr-only">
|
||||||
#{SciProjectMessageBundle['basicproperties.name.edit']}
|
#{SciProjectMessageBundle['basicproperties.begin.edit']}
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</c:if>
|
</div>
|
||||||
</div>
|
<dl>
|
||||||
|
<dt>#{SciProjectMessageBundle['basicproperties.begin.label']}</dt>
|
||||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
<dd>
|
||||||
|
#{SciProjectPropertiesStep.begin}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
<div aria-hidden="true"
|
<div aria-hidden="true"
|
||||||
aria-labelledby="name-edit-dialog-title"
|
aria-labelledby="begin-edit-dialog-title"
|
||||||
class="modal fade"
|
class="modal fade"
|
||||||
id="name-edit-dialog"
|
id="begin-edit-dialog"
|
||||||
tabindex="-1">
|
tabindex="-1">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/name"
|
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/begin"
|
||||||
class="modal-content"
|
class="modal-content"
|
||||||
method="post">
|
method="post">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 class="modal-title"
|
<h4 class="modal-title"
|
||||||
id="name-edit-dialog-title">
|
id="begin-edit-dialog-title">
|
||||||
#{SciProjectMessageBundle['basicproperties.name.edit.title']}
|
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.title']}
|
||||||
</h4>
|
</h4>
|
||||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.name.edit.close']}"
|
<button aria-label="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}"
|
||||||
class="close"
|
class="close"
|
||||||
data-dismiss="modal"
|
data-dismiss="modal"
|
||||||
type="button">
|
type="button">
|
||||||
|
|
@ -52,230 +151,131 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<bootstrap:formGroupText
|
<bootstrap:formGroupDate
|
||||||
help="#{SciProjectMessageBundle['basicproperties.name.help']}"
|
help="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.startdate.help']}"
|
||||||
inputId="name"
|
inputId="startDateTime"
|
||||||
label="#{SciProjectMessageBundle['basicproperties.name.label']}"
|
label="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.startdate.label']}"
|
||||||
name="name"
|
name="begin"
|
||||||
pattern="^([a-zA-Z0-9_-]*)$"
|
|
||||||
required="true"
|
required="true"
|
||||||
value="#{SciProjectPropertiesStep.name}"/>
|
value="#{SciProjectPropertiesStep.begin}"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-warning"
|
<button class="btn btn-warning"
|
||||||
data-dismiss="modal"
|
data-dismiss="modal"
|
||||||
type="button">
|
type="button">
|
||||||
#{SciProjectMessageBundle['basicproperties.name.edit.close']}
|
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-success"
|
<button class="btn btn-success"
|
||||||
type="submit">
|
type="submit">
|
||||||
#{SciProjectMessageBundle['basicproperties.name.edit.submit']}
|
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.submit']}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
|
||||||
|
|
||||||
<libreccm:localizedStringEditor
|
<div class="d-flex">
|
||||||
addButtonLabel="#{SciProjectMessageBundle['basicproperties.title.add']}"
|
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.end.header']}</h3>
|
||||||
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.add.cancel']}"
|
<button class="btn btn-primary btn-sm"
|
||||||
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.title.add.locale.help']}"
|
data-toggle="modal"
|
||||||
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.title.add.locale.label']}"
|
data-target="#end-edit-dialog"
|
||||||
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.add.submit']}"
|
type="button">
|
||||||
addDialogTitle="#{SciProjectMessageBundle['basicproperties.title.add.header']}"
|
<bootstrap:svgIcon icon="pen" />
|
||||||
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.title.add.value.help']}"
|
<span class="sr-only">
|
||||||
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.title.add.value.label']}"
|
#{SciProjectMessageBundle['basicproperties.end.edit']}
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@add"
|
</span>
|
||||||
editButtonLabel="#{SciProjectMessageBundle['basicproperties.title.edit']}"
|
</button>
|
||||||
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.edit.cancel']}"
|
|
||||||
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.edit.submit']}"
|
|
||||||
editDialogTitle="#{SciProjectMessageBundle['basicproperties.title.edit.header']}"
|
|
||||||
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.title.edit.value.help']}"
|
|
||||||
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.title.edit.value.label']}"
|
|
||||||
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@edit"
|
|
||||||
editorId="title-editor"
|
|
||||||
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedTitleLocales.isEmpty()}"
|
|
||||||
headingLevel="3"
|
|
||||||
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
|
||||||
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
|
||||||
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.title.remove']}"
|
|
||||||
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.title.remove.cancel']}"
|
|
||||||
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.title.remove.submit']}"
|
|
||||||
removeDialogText="#{SciProjectMessageBundle['basicproperties.title.remove.text']}"
|
|
||||||
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.title.remove.header']}"
|
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/title/@remove"
|
|
||||||
title="#{SciProjectMessageBundle['basicproperties.title.header']}"
|
|
||||||
unusedLocales="#{SciProjectPropertiesStep.unusedTitleLocales}"
|
|
||||||
values="#{SciProjectPropertiesStep.titleValues}"
|
|
||||||
|
|
||||||
/>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="d-flex">
|
|
||||||
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.begin.header']}</h3>
|
|
||||||
<button class="btn btn-primary btn-sm"
|
|
||||||
data-toggle="modal"
|
|
||||||
data-target="#begin-edit-dialog"
|
|
||||||
type="button">
|
|
||||||
<bootstrap:svgIcon icon="pen" />
|
|
||||||
<span class="sr-only">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.begin.edit']}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<dl>
|
|
||||||
<dt>#{SciProjectMessageBundle['basicproperties.begin.label']}</dt>
|
|
||||||
<dd>
|
|
||||||
#{SciProjectPropertiesStep.begin}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<div aria-hidden="true"
|
|
||||||
aria-labelledby="begin-edit-dialog-title"
|
|
||||||
class="modal fade"
|
|
||||||
id="begin-edit-dialog"
|
|
||||||
tabindex="-1">
|
|
||||||
<div class="modal-dialog">
|
|
||||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/begin"
|
|
||||||
class="modal-content"
|
|
||||||
method="post">
|
|
||||||
<div class="modal-header">
|
|
||||||
<h4 class="modal-title"
|
|
||||||
id="begin-edit-dialog-title">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.title']}
|
|
||||||
</h4>
|
|
||||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}"
|
|
||||||
class="close"
|
|
||||||
data-dismiss="modal"
|
|
||||||
type="button">
|
|
||||||
<bootstrap:svgIcon icon="x" />
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<bootstrap:formGroupDate
|
|
||||||
help="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.startdate.help']}"
|
|
||||||
inputId="startDateTime"
|
|
||||||
label="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.startdate.label']}"
|
|
||||||
name="begin"
|
|
||||||
required="true"
|
|
||||||
value="#{SciProjectPropertiesStep.begin}"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button class="btn btn-warning"
|
|
||||||
data-dismiss="modal"
|
|
||||||
type="button">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-success"
|
|
||||||
type="submit">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.submit']}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<dl>
|
||||||
|
<dt>#{SciProjectMessageBundle['basicproperties.end.label']}</dt>
|
||||||
<div class="d-flex">
|
<dd>
|
||||||
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.end.header']}</h3>
|
#{SciProjectPropertiesStep.end}
|
||||||
<button class="btn btn-primary btn-sm"
|
</dd>
|
||||||
data-toggle="modal"
|
</dl>
|
||||||
data-target="#end-edit-dialog"
|
<div aria-hidden="true"
|
||||||
type="button">
|
aria-labelledby="end-edit-dialog-title"
|
||||||
<bootstrap:svgIcon icon="pen" />
|
class="modal fade"
|
||||||
<span class="sr-only">
|
id="end-edit-dialog"
|
||||||
#{SciProjectMessageBundle['basicproperties.end.edit']}
|
tabindex="-1">
|
||||||
</span>
|
<div class="modal-dialog">
|
||||||
</button>
|
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/end"
|
||||||
</div>
|
class="modal-content"
|
||||||
<dl>
|
method="post">
|
||||||
<dt>#{SciProjectMessageBundle['basicproperties.end.label']}</dt>
|
<div class="modal-header">
|
||||||
<dd>
|
<h4 class="modal-title"
|
||||||
#{SciProjectPropertiesStep.end}
|
id="end-edit-dialog-title">
|
||||||
</dd>
|
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.title']}
|
||||||
</dl>
|
</h4>
|
||||||
<div aria-hidden="true"
|
<button aria-label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.close']}"
|
||||||
aria-labelledby="end-edit-dialog-title"
|
class="close"
|
||||||
class="modal fade"
|
data-dismiss="modal"
|
||||||
id="end-edit-dialog"
|
type="button">
|
||||||
tabindex="-1">
|
<bootstrap:svgIcon icon="x" />
|
||||||
<div class="modal-dialog">
|
</button>
|
||||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/end"
|
</div>
|
||||||
class="modal-content"
|
<div class="modal-body">
|
||||||
method="post">
|
<bootstrap:formGroupDate
|
||||||
<div class="modal-header">
|
help="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.help']}"
|
||||||
<h4 class="modal-title"
|
inputId="startDateTime"
|
||||||
id="end-edit-dialog-title">
|
label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.label']}"
|
||||||
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.title']}
|
name="end"
|
||||||
</h4>
|
required="true"
|
||||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.close']}"
|
value="#{SciProjectPropertiesStep.endDate}"
|
||||||
class="close"
|
/>
|
||||||
data-dismiss="modal"
|
</div>
|
||||||
type="button">
|
<div class="modal-footer">
|
||||||
<bootstrap:svgIcon icon="x" />
|
<button class="btn btn-warning"
|
||||||
</button>
|
data-dismiss="modal"
|
||||||
</div>
|
type="button">
|
||||||
<div class="modal-body">
|
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.close']}
|
||||||
<bootstrap:formGroupDate
|
</button>
|
||||||
help="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.help']}"
|
<button class="btn btn-success"
|
||||||
inputId="startDateTime"
|
type="submit">
|
||||||
label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.label']}"
|
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.submit']}
|
||||||
name="end"
|
</button>
|
||||||
required="true"
|
</div>
|
||||||
value="#{SciProjectPropertiesStep.endDate}"
|
</form>
|
||||||
/>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button class="btn btn-warning"
|
|
||||||
data-dismiss="modal"
|
|
||||||
type="button">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.close']}
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-success"
|
|
||||||
type="submit">
|
|
||||||
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.submit']}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<libreccm:localizedStringEditor
|
<libreccm:localizedStringEditor
|
||||||
addButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add']}"
|
addButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add']}"
|
||||||
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.cancel']}"
|
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.cancel']}"
|
||||||
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.help']}"
|
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.help']}"
|
||||||
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.label']}"
|
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.label']}"
|
||||||
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.submit']}"
|
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.submit']}"
|
||||||
addDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.add.header']}"
|
addDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.add.header']}"
|
||||||
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.help']}"
|
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.help']}"
|
||||||
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.label']}"
|
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.label']}"
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@add"
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@add"
|
||||||
editButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit']}"
|
editButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit']}"
|
||||||
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.cancel']}"
|
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.cancel']}"
|
||||||
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.submit']}"
|
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.submit']}"
|
||||||
editDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.header']}"
|
editDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.header']}"
|
||||||
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.help']}"
|
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.help']}"
|
||||||
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.label']}"
|
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.label']}"
|
||||||
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@edit"
|
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@edit"
|
||||||
editorId="title-editor"
|
editorId="title-editor"
|
||||||
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedShortDescriptionLocales.isEmpty()}"
|
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedShortDescriptionLocales.isEmpty()}"
|
||||||
headingLevel="3"
|
headingLevel="3"
|
||||||
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
||||||
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
||||||
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove']}"
|
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove']}"
|
||||||
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.cancel']}"
|
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.cancel']}"
|
||||||
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.submit']}"
|
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.submit']}"
|
||||||
removeDialogText="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.text']}"
|
removeDialogText="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.text']}"
|
||||||
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.header']}"
|
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.header']}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@remove"
|
||||||
title="#{SciProjectMessageBundle['basicproperties.shortdescription.header']}"
|
title="#{SciProjectMessageBundle['basicproperties.shortdescription.header']}"
|
||||||
unusedLocales="#{SciProjectPropertiesStep.unusedShortDescriptionLocales}"
|
unusedLocales="#{SciProjectPropertiesStep.unusedShortDescriptionLocales}"
|
||||||
useTextarea="true"
|
useTextarea="true"
|
||||||
values="#{SciProjectPropertiesStep.shortDescriptionValues}"
|
values="#{SciProjectPropertiesStep.shortDescriptionValues}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
</ui:define>
|
</ui:define>
|
||||||
|
|
||||||
|
</ui:composition>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -146,3 +146,20 @@ funding_step.fundingtext.header.view=Description of funding
|
||||||
funding_step.edit=Edit
|
funding_step.edit=Edit
|
||||||
funding_step.fundingvolume.header.edit=Edit description of volume of funding
|
funding_step.fundingvolume.header.edit=Edit description of volume of funding
|
||||||
funding_step.fundingvolume.header.view=Description of the volume of funding
|
funding_step.fundingvolume.header.view=Description of the volume of funding
|
||||||
|
createstep.title=Create new research project
|
||||||
|
createform.name.help=The name of the new research project description. Also used as URL fragment.
|
||||||
|
createform.name.label=Name
|
||||||
|
createform.initial_locale.help=The initial locale of the research project description.
|
||||||
|
createform.initial_locale.label=Locale
|
||||||
|
createform.title.help=The title of the research project.
|
||||||
|
createform.title.label=Title
|
||||||
|
createform.begin.help=The begin of the project.
|
||||||
|
createform.begin.label=Begin
|
||||||
|
createform.end.help=The end of the research project.
|
||||||
|
createform.end.label=End
|
||||||
|
createform.workflow.help=The workflow to use for the research project description.
|
||||||
|
createform.workflow.label=Workflow
|
||||||
|
createform.cancel=Cancel
|
||||||
|
createform.submit=Create project
|
||||||
|
createform.summary.help=A summary of the description of the research project.
|
||||||
|
createform.summary.label=Summary
|
||||||
|
|
|
||||||
|
|
@ -146,3 +146,20 @@ funding_step.fundingtext.header.view=Beschreibung der Finanzierung
|
||||||
funding_step.edit=Bearbeiten
|
funding_step.edit=Bearbeiten
|
||||||
funding_step.fundingvolume.header.edit=Beschreibung des Volumens der Finanzierung bearbeiten
|
funding_step.fundingvolume.header.edit=Beschreibung des Volumens der Finanzierung bearbeiten
|
||||||
funding_step.fundingvolume.header.view=Beschreibung des Volumens der Finanzierung
|
funding_step.fundingvolume.header.view=Beschreibung des Volumens der Finanzierung
|
||||||
|
createstep.title=Neues Forschungsprojekt anlegen
|
||||||
|
createform.name.help=Der Name des neuen Forschungsprojekt-Beschreibung. Wird auch als URL-Fragment genutzt.
|
||||||
|
createform.name.label=Name
|
||||||
|
createform.initial_locale.help=Die initiale Sprache der Forschungsprojekt-Beschreibung.
|
||||||
|
createform.initial_locale.label=Sprache
|
||||||
|
createform.title.help=Der Titel des Forschungsprojektes.
|
||||||
|
createform.title.label=Titel
|
||||||
|
createform.begin.help=Der Beginn der Laufzeit des Projektes.
|
||||||
|
createform.begin.label=Beginn
|
||||||
|
createform.end.help=Der Ende der Laufzeit des Forschungsprojektes.
|
||||||
|
createform.end.label=Ende
|
||||||
|
createform.workflow.help=Der Arbeitsablauf, der f\u00fcr die Forschungsprojekt-Beschreibung genutzt werden soll.
|
||||||
|
createform.workflow.label=Arbeitsablauf
|
||||||
|
createform.cancel=Abbrechen
|
||||||
|
createform.submit=Projekt anlegen
|
||||||
|
createform.summary.help=Eine Zusammenfassung der Beschreibung des Forschungsprojektes.
|
||||||
|
createform.summary.label=Zusammenfassung
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,12 @@
|
||||||
<url>http://www.scientificcms.org/modules/web/wildfly</url>
|
<url>http://www.scientificcms.org/modules/web/wildfly</url>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.libreccm</groupId>
|
||||||
|
<artifactId>ccm-wildfly</artifactId>
|
||||||
|
<version>7.0.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.webjars</groupId>
|
<groupId>org.webjars</groupId>
|
||||||
<artifactId>font-awesome</artifactId>
|
<artifactId>font-awesome</artifactId>
|
||||||
|
|
@ -232,6 +238,14 @@
|
||||||
<include>assets/</include>
|
<include>assets/</include>
|
||||||
</includes>
|
</includes>
|
||||||
</overlay>
|
</overlay>
|
||||||
|
<overlay>
|
||||||
|
<groupId>org.scientificcms</groupId>
|
||||||
|
<artifactId>sci-types-project</artifactId>
|
||||||
|
<type>jar</type>
|
||||||
|
<includes>
|
||||||
|
<include>WEB-INF/</include>
|
||||||
|
</includes>
|
||||||
|
</overlay>
|
||||||
</overlays>
|
</overlays>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -0,0 +1,2 @@
|
||||||
|
example.setting=Properties from the Freemarker theme.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
padding: 1em 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
header img {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
|
||||||
|
width: 20vw;
|
||||||
|
max-width: 1020px;
|
||||||
|
max-height: 566px;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: 55em;
|
||||||
|
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
|
||||||
|
padding: 2em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
main h1 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
main form.login {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
main form.login .form-row {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
main form.login button[type=submit] {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
margin-top: 0.75em;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
|
||||||
|
padding: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
background-color: #71ac52;
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
padding: 3em 1em;
|
||||||
|
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer p {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>LibreCCM Devel Theme</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>LibreCCM Devel</h1>
|
||||||
|
<h2>Site Info</h2>
|
||||||
|
<dl>
|
||||||
|
<dt>host</dt>
|
||||||
|
<dd>${CmsPagesSiteInfoModel.host}</dd>
|
||||||
|
<dt>domain</dt>
|
||||||
|
<dd>${CmsPagesSiteInfoModel.domain}</dd>
|
||||||
|
<dt>name</dt>
|
||||||
|
<dd>${CmsPagesSiteInfoModel.name}</dd>
|
||||||
|
<dt>Current category</dt>
|
||||||
|
<dd>${CmsPagesCategoryModel.category.name}</dd>
|
||||||
|
</dl>
|
||||||
|
<h2>Category Tree</h2>
|
||||||
|
<ul>
|
||||||
|
<!--<#list CmsPagesCategoryModel.categoryTree.subCategories as category>
|
||||||
|
<@categoryTreeNode category />
|
||||||
|
</#list>-->
|
||||||
|
<@categoryTreeNode CmsPagesCategoryModel.categoryTree />
|
||||||
|
</ul>
|
||||||
|
<h2>(Index) Item</h2>
|
||||||
|
<#if (CmsPagesCategoryModel.category.hasIndexItem)>
|
||||||
|
<dl>
|
||||||
|
<dt>Name</dt>
|
||||||
|
<dd>${CmsPagesCategorizedItemModel.name}</dd>
|
||||||
|
<dt>Title</dt>
|
||||||
|
<dd>${CmsPagesCategorizedItemModel.title}</dd>
|
||||||
|
<dt>Description</dt>
|
||||||
|
<dd>${CmsPagesCategorizedItemModel.description}</dd>
|
||||||
|
</dl>
|
||||||
|
<#else>
|
||||||
|
<p>No (Index) Item</p>
|
||||||
|
</#if>
|
||||||
|
<h2>Item List</h2>
|
||||||
|
<ul>
|
||||||
|
<#list CmsPagesItemListModel.items as item>
|
||||||
|
<li>
|
||||||
|
<b>${item.title} (${item.name})</b>
|
||||||
|
${item.description}
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<#macro categoryTreeNode category>
|
||||||
|
<li>
|
||||||
|
${category.name}
|
||||||
|
<#if (category.subCategories?size > 0)>
|
||||||
|
<ul>
|
||||||
|
<#list category.subCategories as subCategory>
|
||||||
|
<@categoryTreeNode subCategory />
|
||||||
|
</#list>
|
||||||
|
</ul>
|
||||||
|
</#if>
|
||||||
|
</li>
|
||||||
|
</#macro>
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<footer>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="/impressum">
|
||||||
|
<!--Impressum-->
|
||||||
|
${localize("footer.impressum")}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/privacy">
|
||||||
|
<!--Privacy-->
|
||||||
|
${localize("footer.privacy")}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<code>imported</code>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</footer>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<#import "../main.html.ftl" as main>
|
||||||
|
|
||||||
|
<@main.ccm_main>
|
||||||
|
<h1>${LoginMessages['login.title']}</h1>
|
||||||
|
<#if (loginFailed)>
|
||||||
|
<div class="alert-error">
|
||||||
|
${LoginMessages['login.errors.failed']}
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
<form action="${mvc.uri('LoginController#processLogin')}"
|
||||||
|
class="login"
|
||||||
|
method="post">
|
||||||
|
<div class="form-row">
|
||||||
|
<label for="login">${LoginMessages['login.screenname.label']}</label>
|
||||||
|
<input id="login" name="login" required="true" type="text" />
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<label for="password">
|
||||||
|
${LoginMessages['login.password.label']}
|
||||||
|
</label>
|
||||||
|
<input id="password"
|
||||||
|
name="password"
|
||||||
|
required="true"
|
||||||
|
type="password" />
|
||||||
|
</div>
|
||||||
|
<input type="hidden"
|
||||||
|
name="returnUrl"
|
||||||
|
value="${returnUrl}" />
|
||||||
|
|
||||||
|
<button type="submit">
|
||||||
|
${LoginMessages['login.submit']}
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</@main.ccm_main>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Category page</title>
|
||||||
|
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h1>${LoginMessages['login.password_recovered.title']}</h1>
|
||||||
|
<p>${LoginMessages['login.password_recovered.message']}</p>
|
||||||
|
</main>
|
||||||
|
<#include "footer.html.ftl">
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Category page</title>
|
||||||
|
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h1>${LoginMessages['login.recover_password.title']}</h1>
|
||||||
|
<# if (failedToSendRecoverMessage)>
|
||||||
|
<div class="alert-error">
|
||||||
|
${LoginMessages['login.errors.failedToSendRecoverMessage']}
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
<form action="${mvc.url('LoginController#recoverPassword')}"
|
||||||
|
method="post">
|
||||||
|
<label for="email">${LoginMessages['login.email.label']}</label>
|
||||||
|
<input id="email" name="email" required="true" type="text" />
|
||||||
|
|
||||||
|
<button type="submit">
|
||||||
|
${LoginMessages['login.recover_password.submit']}
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</main>
|
||||||
|
<#include "footer.html.ftl">
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Category page</title>
|
||||||
|
<link rel="stylesheet" href="${themeUrl}/style.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h1>Logout successful</h1>
|
||||||
|
<p>Logout successful</p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
<#macro ccm_main scripts=[]>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Category page</title>
|
||||||
|
<link rel="stylesheet" href="${themeUrl}/styles/style.css" />
|
||||||
|
<#list scripts as script>
|
||||||
|
<script src="${themeUrl}/${script}" />
|
||||||
|
</#list>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<a href="https://www.libreccm.org">
|
||||||
|
<img alt="LibreCCM Logo"
|
||||||
|
src="${themeUrl}/images/libreccm.png" />
|
||||||
|
</a>
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
<#nested>
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
<p>LibreCCM basic theme. The customize create your own theme.</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</#macro>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
label.critical=Critical
|
||||||
|
label.error=Error
|
||||||
|
label.ok=OK
|
||||||
|
label.warning=Warning
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
footer.impressum=Impressum
|
||||||
|
footer.privacy=Privacy
|
||||||
|
|
||||||
|
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "images",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "libreccm.png",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "image/png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "settings.properties",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "styles",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "style.css",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/css"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "templates",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "login",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "login-form.html.ftl",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "login-password-recovered.html.ftl",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
}, {
|
||||||
|
"name": "login-recover-password.html.ftl",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "logout",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "loggedout.html.ftl",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeText": "text/plain"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "texts",
|
||||||
|
"isDirectory": true,
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "labels.properties",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "theme-bundle.properties",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "text/plain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "theme-index.json",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "theme.json",
|
||||||
|
"isDirectory": false,
|
||||||
|
"mimeType": "application/json"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
{
|
||||||
|
"name": "librecms-devel",
|
||||||
|
"type": "freemarker",
|
||||||
|
|
||||||
|
"default-template": "templates/default.html.ftl",
|
||||||
|
|
||||||
|
"mvc-templates": {
|
||||||
|
"default": {
|
||||||
|
"description": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Default Template"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Default Template",
|
||||||
|
"path": "templates/default.html.ftl",
|
||||||
|
"title": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Default Template"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login-form": {
|
||||||
|
"description": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Login Form"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Login Form",
|
||||||
|
"path": "templates/login/login-form.html.ftl",
|
||||||
|
"title": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Login Form"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login-recover-password": {
|
||||||
|
"description": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Recover lost passwords"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "login-recover-password",
|
||||||
|
"path": "templates/login/login-recover-password.html.ftl",
|
||||||
|
"title": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Recover password"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login-password-recovered": {
|
||||||
|
"description": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Password recovered"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "login-password-recovered",
|
||||||
|
"path": "templates/login/login-password-recovered.html.ftl",
|
||||||
|
"title": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Password recovered"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"loggedout": {
|
||||||
|
"description": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Logout successful"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "loggedout",
|
||||||
|
"path": "templates/logout/loggedout.html.ftl",
|
||||||
|
"title": {
|
||||||
|
"values": {
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"value": "Logout succesful"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"views": {
|
||||||
|
"default": {
|
||||||
|
"default": "default",
|
||||||
|
"@default": "default"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"loginForm": "login-form",
|
||||||
|
"passwordRecovered": "login-password-recovered",
|
||||||
|
"recoverPassword": "login-recover-password"
|
||||||
|
},
|
||||||
|
"logout": {
|
||||||
|
"loggedout": "loggedout"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue