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.librecms.contentsection.ContentItem;
|
||||
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.time.LocalDate;
|
||||
|
|
@ -44,6 +49,14 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*;
|
|||
labelBundle = "org.scientificcms.contenttypes.SciProject",
|
||||
descriptionBundle = "org.scientificcms.contenttypes.SciProject"
|
||||
)
|
||||
@MvcAuthoringKit(
|
||||
createStep = SciProjectCreateStep.class,
|
||||
authoringSteps = {
|
||||
SciProjectPropertiesStep.class,
|
||||
SciProjectDescriptionStep.class,
|
||||
SciProjectFundingStep.class
|
||||
}
|
||||
)
|
||||
@NamedQueries({
|
||||
@NamedQuery(
|
||||
name = "SciProject.findWhereBeginIsBefore",
|
||||
|
|
@ -144,6 +157,7 @@ public class SciProject extends ContentItem implements Serializable {
|
|||
public SciProject() {
|
||||
super();
|
||||
|
||||
shortDescription = new LocalizedString();
|
||||
contacts = 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).length > 0) {
|
||||
endParam = formParams.get(FORM_PARAM_END)[0];
|
||||
if (endParam != null) {
|
||||
try {
|
||||
return LocalDate.parse(
|
||||
endParam,
|
||||
DateTimeFormatter.ISO_DATE
|
||||
);
|
||||
} catch (DateTimeParseException ex) {
|
||||
addMessage(
|
||||
"danger",
|
||||
globalizationHelper
|
||||
.getLocalizedTextsUtil(getBundle())
|
||||
.getText("createstep.enddate.error.malformed")
|
||||
);
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
if (endParam == null || endParam.isBlank()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
return LocalDate.parse(
|
||||
endParam,
|
||||
DateTimeFormatter.ISO_DATE
|
||||
);
|
||||
} catch (DateTimeParseException ex) {
|
||||
addMessage(
|
||||
"danger",
|
||||
globalizationHelper
|
||||
.getLocalizedTextsUtil(getBundle())
|
||||
.getText("createstep.enddate.error.malformed")
|
||||
);
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,5 +30,5 @@ public final class SciProjectStepsConstants {
|
|||
}
|
||||
|
||||
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:ui="http://xmlns.jcp.org/jsf/facelets">
|
||||
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
|
||||
</ui:composition>
|
||||
|
||||
<ui:param name="authoringStep"
|
||||
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties" />
|
||||
<ui:param name="authoringStep"
|
||||
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties" />
|
||||
|
||||
<ui:define name="authoringStep">
|
||||
<h2>#{SciProjectMessageBundle.getMessage('basicproperties.header', [SciProjectPropertiesStep.name])}</h2>
|
||||
<ui:define name="authoringStep">
|
||||
<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}">
|
||||
<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"
|
||||
data-toggle="modal"
|
||||
data-target="#name-edit-dialog"
|
||||
data-target="#begin-edit-dialog"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="pen" />
|
||||
<span class="sr-only">
|
||||
#{SciProjectMessageBundle['basicproperties.name.edit']}
|
||||
#{SciProjectMessageBundle['basicproperties.begin.edit']}
|
||||
</span>
|
||||
</button>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||
</div>
|
||||
<dl>
|
||||
<dt>#{SciProjectMessageBundle['basicproperties.begin.label']}</dt>
|
||||
<dd>
|
||||
#{SciProjectPropertiesStep.begin}
|
||||
</dd>
|
||||
</dl>
|
||||
<div aria-hidden="true"
|
||||
aria-labelledby="name-edit-dialog-title"
|
||||
aria-labelledby="begin-edit-dialog-title"
|
||||
class="modal fade"
|
||||
id="name-edit-dialog"
|
||||
id="begin-edit-dialog"
|
||||
tabindex="-1">
|
||||
<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"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="name-edit-dialog-title">
|
||||
#{SciProjectMessageBundle['basicproperties.name.edit.title']}
|
||||
id="begin-edit-dialog-title">
|
||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.title']}
|
||||
</h4>
|
||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.name.edit.close']}"
|
||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
|
|
@ -52,230 +151,131 @@
|
|||
</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_-]*)$"
|
||||
<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.name}"/>
|
||||
value="#{SciProjectPropertiesStep.begin}"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-warning"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
#{SciProjectMessageBundle['basicproperties.name.edit.close']}
|
||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.close']}
|
||||
</button>
|
||||
<button class="btn btn-success"
|
||||
type="submit">
|
||||
#{SciProjectMessageBundle['basicproperties.name.edit.submit']}
|
||||
#{SciProjectMessageBundle['basicproperties.begin.edit.dialog.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"
|
||||
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 class="d-flex">
|
||||
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.end.header']}</h3>
|
||||
<button class="btn btn-primary btn-sm"
|
||||
data-toggle="modal"
|
||||
data-target="#end-edit-dialog"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="pen" />
|
||||
<span class="sr-only">
|
||||
#{SciProjectMessageBundle['basicproperties.end.edit']}
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex">
|
||||
<h3 class="mr-2">#{SciProjectMessageBundle['basicproperties.end.header']}</h3>
|
||||
<button class="btn btn-primary btn-sm"
|
||||
data-toggle="modal"
|
||||
data-target="#end-edit-dialog"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="pen" />
|
||||
<span class="sr-only">
|
||||
#{SciProjectMessageBundle['basicproperties.end.edit']}
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>#{SciProjectMessageBundle['basicproperties.end.label']}</dt>
|
||||
<dd>
|
||||
#{SciProjectPropertiesStep.end}
|
||||
</dd>
|
||||
</dl>
|
||||
<div aria-hidden="true"
|
||||
aria-labelledby="end-edit-dialog-title"
|
||||
class="modal fade"
|
||||
id="end-edit-dialog"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/end"
|
||||
class="modal-content"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="end-edit-dialog-title">
|
||||
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.title']}
|
||||
</h4>
|
||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.end.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.end.edit.dialog.enddate.help']}"
|
||||
inputId="startDateTime"
|
||||
label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.label']}"
|
||||
name="end"
|
||||
required="true"
|
||||
value="#{SciProjectPropertiesStep.endDate}"
|
||||
/>
|
||||
</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>
|
||||
<dl>
|
||||
<dt>#{SciProjectMessageBundle['basicproperties.end.label']}</dt>
|
||||
<dd>
|
||||
#{SciProjectPropertiesStep.end}
|
||||
</dd>
|
||||
</dl>
|
||||
<div aria-hidden="true"
|
||||
aria-labelledby="end-edit-dialog-title"
|
||||
class="modal fade"
|
||||
id="end-edit-dialog"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/end"
|
||||
class="modal-content"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="end-edit-dialog-title">
|
||||
#{SciProjectMessageBundle['basicproperties.end.edit.dialog.title']}
|
||||
</h4>
|
||||
<button aria-label="#{SciProjectMessageBundle['basicproperties.end.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.end.edit.dialog.enddate.help']}"
|
||||
inputId="startDateTime"
|
||||
label="#{SciProjectMessageBundle['basicproperties.end.edit.dialog.enddate.label']}"
|
||||
name="end"
|
||||
required="true"
|
||||
value="#{SciProjectPropertiesStep.endDate}"
|
||||
/>
|
||||
</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
|
||||
addButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add']}"
|
||||
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.cancel']}"
|
||||
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.help']}"
|
||||
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.label']}"
|
||||
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.submit']}"
|
||||
addDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.add.header']}"
|
||||
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.help']}"
|
||||
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.label']}"
|
||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@add"
|
||||
editButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit']}"
|
||||
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.cancel']}"
|
||||
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.submit']}"
|
||||
editDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.header']}"
|
||||
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.help']}"
|
||||
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.label']}"
|
||||
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@edit"
|
||||
editorId="title-editor"
|
||||
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedShortDescriptionLocales.isEmpty()}"
|
||||
headingLevel="3"
|
||||
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
||||
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
||||
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove']}"
|
||||
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.cancel']}"
|
||||
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.submit']}"
|
||||
removeDialogText="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.text']}"
|
||||
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.header']}"
|
||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@remove"
|
||||
title="#{SciProjectMessageBundle['basicproperties.shortdescription.header']}"
|
||||
unusedLocales="#{SciProjectPropertiesStep.unusedShortDescriptionLocales}"
|
||||
useTextarea="true"
|
||||
values="#{SciProjectPropertiesStep.shortDescriptionValues}"
|
||||
/>
|
||||
<libreccm:localizedStringEditor
|
||||
addButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add']}"
|
||||
addDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.cancel']}"
|
||||
addDialogLocaleSelectHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.help']}"
|
||||
addDialogLocaleSelectLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.locale.label']}"
|
||||
addDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.submit']}"
|
||||
addDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.add.header']}"
|
||||
addDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.help']}"
|
||||
addDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.add.value.label']}"
|
||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@add"
|
||||
editButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit']}"
|
||||
editDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.cancel']}"
|
||||
editDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.submit']}"
|
||||
editDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.header']}"
|
||||
editDialogValueHelp="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.help']}"
|
||||
editDialogValueLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.edit.value.label']}"
|
||||
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@edit"
|
||||
editorId="title-editor"
|
||||
hasUnusedLocales="#{!SciProjectPropertiesStep.unusedShortDescriptionLocales.isEmpty()}"
|
||||
headingLevel="3"
|
||||
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
|
||||
readOnly="#{!CmsSelectedDocumentModel.canEdit}"
|
||||
removeButtonLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove']}"
|
||||
removeDialogCancelLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.cancel']}"
|
||||
removeDialogSubmitLabel="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.submit']}"
|
||||
removeDialogText="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.text']}"
|
||||
removeDialogTitle="#{SciProjectMessageBundle['basicproperties.shortdescription.remove.header']}"
|
||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@sciproject-basicproperties/short-description/@remove"
|
||||
title="#{SciProjectMessageBundle['basicproperties.shortdescription.header']}"
|
||||
unusedLocales="#{SciProjectPropertiesStep.unusedShortDescriptionLocales}"
|
||||
useTextarea="true"
|
||||
values="#{SciProjectPropertiesStep.shortDescriptionValues}"
|
||||
/>
|
||||
|
||||
|
||||
</ui:define>
|
||||
</ui:define>
|
||||
|
||||
</ui:composition>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -146,3 +146,20 @@ funding_step.fundingtext.header.view=Description of funding
|
|||
funding_step.edit=Edit
|
||||
funding_step.fundingvolume.header.edit=Edit description of 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.fundingvolume.header.edit=Beschreibung des Volumens der Finanzierung bearbeiten
|
||||
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>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-wildfly</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
|
|
@ -232,6 +238,14 @@
|
|||
<include>assets/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.scientificcms</groupId>
|
||||
<artifactId>sci-types-project</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>WEB-INF/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</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