Bugfixes for the authoring of event
parent
257c71e185
commit
53956098fb
|
|
@ -42,8 +42,10 @@ import org.libreccm.l10n.LocalizedString;
|
||||||
import org.librecms.CmsConstants;
|
import org.librecms.CmsConstants;
|
||||||
|
|
||||||
import org.librecms.contentsection.ContentItem;
|
import org.librecms.contentsection.ContentItem;
|
||||||
|
import org.librecms.ui.contentsections.documents.MvcAuthoringKit;
|
||||||
import javax.validation.constraints.NotNull;
|
import org.librecms.ui.contenttypes.event.MvcEventCreateStep;
|
||||||
|
import org.librecms.ui.contenttypes.event.MvcEventInfoStep;
|
||||||
|
import org.librecms.ui.contenttypes.event.MvcEventPropertiesStep;
|
||||||
|
|
||||||
import static org.librecms.CmsConstants.DB_SCHEMA;
|
import static org.librecms.CmsConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
|
@ -77,6 +79,13 @@ import static org.librecms.CmsConstants.DB_SCHEMA;
|
||||||
order = 2
|
order = 2
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@MvcAuthoringKit(
|
||||||
|
createStep = MvcEventCreateStep.class,
|
||||||
|
authoringSteps = {
|
||||||
|
MvcEventPropertiesStep.class,
|
||||||
|
MvcEventInfoStep.class
|
||||||
|
}
|
||||||
|
)
|
||||||
public class Event extends ContentItem implements Serializable {
|
public class Event extends ContentItem implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = -9104886733503414635L;
|
private static final long serialVersionUID = -9104886733503414635L;
|
||||||
|
|
@ -94,9 +103,8 @@ public class Event extends ContentItem implements Serializable {
|
||||||
))
|
))
|
||||||
private LocalizedString text;
|
private LocalizedString text;
|
||||||
|
|
||||||
@Column(name = "START_DATE", nullable = false)
|
@Column(name = "START_DATE")
|
||||||
@Temporal(TemporalType.TIMESTAMP)
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
@NotNull
|
|
||||||
private Date startDate;
|
private Date startDate;
|
||||||
|
|
||||||
@Column(name = "END_DATE")
|
@Column(name = "END_DATE")
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,9 @@ import org.librecms.ui.contentsections.documents.relatedinfo.RelatedInfoStepServ
|
||||||
import org.librecms.ui.contenttypes.article.MvcArticlePropertiesStep;
|
import org.librecms.ui.contenttypes.article.MvcArticlePropertiesStep;
|
||||||
import org.librecms.ui.contenttypes.article.MvcArticleTextBodyStep;
|
import org.librecms.ui.contenttypes.article.MvcArticleTextBodyStep;
|
||||||
import org.librecms.ui.contenttypes.article.MvcArticleTextBodyStepResources;
|
import org.librecms.ui.contenttypes.article.MvcArticleTextBodyStepResources;
|
||||||
|
import org.librecms.ui.contenttypes.event.MvcEventInfoStep;
|
||||||
|
import org.librecms.ui.contenttypes.event.MvcEventInfoStepResources;
|
||||||
|
import org.librecms.ui.contenttypes.event.MvcEventPropertiesStep;
|
||||||
import org.librecms.ui.contenttypes.mpa.MpaSectionsResources;
|
import org.librecms.ui.contenttypes.mpa.MpaSectionsResources;
|
||||||
import org.librecms.ui.contenttypes.mpa.MvcMpaPropertiesStep;
|
import org.librecms.ui.contenttypes.mpa.MvcMpaPropertiesStep;
|
||||||
import org.librecms.ui.contenttypes.mpa.MvcMpaSectionsStep;
|
import org.librecms.ui.contenttypes.mpa.MvcMpaSectionsStep;
|
||||||
|
|
@ -51,6 +54,8 @@ public class CmsMvcAuthoringSteps implements MvcAuthoringSteps {
|
||||||
RelatedInfoStep.class,
|
RelatedInfoStep.class,
|
||||||
MvcArticlePropertiesStep.class,
|
MvcArticlePropertiesStep.class,
|
||||||
MvcArticleTextBodyStep.class,
|
MvcArticleTextBodyStep.class,
|
||||||
|
MvcEventPropertiesStep.class,
|
||||||
|
MvcEventInfoStep.class,
|
||||||
MvcMpaPropertiesStep.class,
|
MvcMpaPropertiesStep.class,
|
||||||
MvcMpaSectionsStep.class
|
MvcMpaSectionsStep.class
|
||||||
);
|
);
|
||||||
|
|
@ -61,6 +66,7 @@ public class CmsMvcAuthoringSteps implements MvcAuthoringSteps {
|
||||||
return Set.of(
|
return Set.of(
|
||||||
MediaStepService.class,
|
MediaStepService.class,
|
||||||
MvcArticleTextBodyStepResources.class,
|
MvcArticleTextBodyStepResources.class,
|
||||||
|
MvcEventInfoStepResources.class,
|
||||||
MpaSectionsResources.class,
|
MpaSectionsResources.class,
|
||||||
RelatedInfoStepService.class
|
RelatedInfoStepService.class
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
package org.librecms.ui.contenttypes.event;
|
package org.librecms.ui.contenttypes.event;
|
||||||
|
|
||||||
import org.libreccm.l10n.GlobalizationHelper;
|
import org.libreccm.l10n.GlobalizationHelper;
|
||||||
|
import org.libreccm.l10n.LocalizedString;
|
||||||
import org.libreccm.security.AuthorizationRequired;
|
import org.libreccm.security.AuthorizationRequired;
|
||||||
import org.libreccm.workflow.Workflow;
|
import org.libreccm.workflow.Workflow;
|
||||||
import org.librecms.contentsection.ContentItemManager;
|
import org.librecms.contentsection.ContentItemManager;
|
||||||
|
|
@ -26,6 +27,13 @@ import org.librecms.contentsection.ContentItemRepository;
|
||||||
import org.librecms.contenttypes.Event;
|
import org.librecms.contenttypes.Event;
|
||||||
import org.librecms.ui.contentsections.documents.AbstractMvcDocumentCreateStep;
|
import org.librecms.ui.contentsections.documents.AbstractMvcDocumentCreateStep;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.ZoneOffset;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.format.DateTimeParseException;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
@ -49,6 +57,8 @@ public class MvcEventCreateStep
|
||||||
|
|
||||||
private static final String FORM_PARAM_TITLE = "title";
|
private static final String FORM_PARAM_TITLE = "title";
|
||||||
|
|
||||||
|
private static final String FORM_PARAM_STARTDATE = "startDate";
|
||||||
|
|
||||||
private static final String FORM_PARAM_SUMMARY = "summary";
|
private static final String FORM_PARAM_SUMMARY = "summary";
|
||||||
|
|
||||||
private static final String FORM_PARAM_INITIAL_LOCALE = "locale";
|
private static final String FORM_PARAM_INITIAL_LOCALE = "locale";
|
||||||
|
|
@ -83,6 +93,11 @@ public class MvcEventCreateStep
|
||||||
*/
|
*/
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The start date of the event (ISO 8601 string)
|
||||||
|
*/
|
||||||
|
private String startDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Summary of the event.
|
* Summary of the event.
|
||||||
*/
|
*/
|
||||||
|
|
@ -123,6 +138,10 @@ public class MvcEventCreateStep
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
public String getSummary() {
|
public String getSummary() {
|
||||||
return summary;
|
return summary;
|
||||||
}
|
}
|
||||||
|
|
@ -200,6 +219,37 @@ public class MvcEventCreateStep
|
||||||
}
|
}
|
||||||
title = formParams.get(FORM_PARAM_TITLE)[0];
|
title = formParams.get(FORM_PARAM_TITLE)[0];
|
||||||
|
|
||||||
|
if (!formParams.containsKey(FORM_PARAM_STARTDATE)
|
||||||
|
|| formParams.get(FORM_PARAM_STARTDATE) == null
|
||||||
|
|| formParams.get(FORM_PARAM_STARTDATE).length == 0) {
|
||||||
|
addMessage(
|
||||||
|
"danger",
|
||||||
|
globalizationHelper
|
||||||
|
.getLocalizedTextsUtil(getBundle())
|
||||||
|
.getText("createstep.startdate.error.missing")
|
||||||
|
);
|
||||||
|
return showCreateStep();
|
||||||
|
}
|
||||||
|
startDate = formParams.get(FORM_PARAM_STARTDATE)[0];
|
||||||
|
final DateTimeFormatter isoDateTimeFormatter
|
||||||
|
= DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.systemDefault());
|
||||||
|
|
||||||
|
final LocalDateTime startDateTime;
|
||||||
|
try {
|
||||||
|
startDateTime = LocalDateTime.parse(
|
||||||
|
startDate,
|
||||||
|
isoDateTimeFormatter
|
||||||
|
);
|
||||||
|
} catch (DateTimeParseException ex) {
|
||||||
|
addMessage(
|
||||||
|
"danger",
|
||||||
|
globalizationHelper
|
||||||
|
.getLocalizedTextsUtil(getBundle())
|
||||||
|
.getText("createstep.startdate.error.malformed")
|
||||||
|
);
|
||||||
|
return showCreateStep();
|
||||||
|
}
|
||||||
|
|
||||||
if (!formParams.containsKey(FORM_PARAM_SUMMARY)
|
if (!formParams.containsKey(FORM_PARAM_SUMMARY)
|
||||||
|| formParams.get(FORM_PARAM_SUMMARY) == null
|
|| formParams.get(FORM_PARAM_SUMMARY) == null
|
||||||
|| formParams.get(FORM_PARAM_SUMMARY).length == 0) {
|
|| formParams.get(FORM_PARAM_SUMMARY).length == 0) {
|
||||||
|
|
@ -271,6 +321,13 @@ public class MvcEventCreateStep
|
||||||
);
|
);
|
||||||
|
|
||||||
event.getTitle().putValue(locale, title);
|
event.getTitle().putValue(locale, title);
|
||||||
|
event.setStartDate(
|
||||||
|
Date.from(
|
||||||
|
startDateTime.toInstant(
|
||||||
|
ZoneId.systemDefault().getRules().getOffset(startDateTime)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
event.getDescription().putValue(locale, summary);
|
event.getDescription().putValue(locale, summary);
|
||||||
itemRepo.save(event);
|
itemRepo.save(event);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
@ -48,29 +49,50 @@ class MvcEventInfoStepEventDateModel {
|
||||||
private String selectedLocale;
|
private String selectedLocale;
|
||||||
|
|
||||||
public Map<String, String> getEventDateValues() {
|
public Map<String, String> getEventDateValues() {
|
||||||
return Collections.unmodifiableMap(eventDateValues);
|
return Optional
|
||||||
|
.ofNullable(eventDateValues)
|
||||||
|
.map(Collections::unmodifiableMap)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setEventDateValues(
|
protected void setEventDateValues(
|
||||||
final Map<String, String> eventDateValues
|
final Map<String, String> eventDateValues
|
||||||
) {
|
) {
|
||||||
this.eventDateValues = new HashMap<>(eventDateValues);
|
this.eventDateValues = Optional
|
||||||
|
.ofNullable(eventDateValues)
|
||||||
|
.map(values -> new HashMap<>(values))
|
||||||
|
.map(values -> (Map<String, String>) values)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CmsEditorLocaleVariantRow> getVariants() {
|
public List<CmsEditorLocaleVariantRow> getVariants() {
|
||||||
return Collections.unmodifiableList(variants);
|
return Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
||||||
this.variants = new ArrayList<>(variants);
|
this.variants = Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<CmsEditorLocaleVariantRow>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getUnusedLocales() {
|
public List<String> getUnusedLocales() {
|
||||||
return Collections.unmodifiableList(unusedLocales);
|
return Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||||
this.unusedLocales = new ArrayList<>(unusedLocales);
|
this.unusedLocales = Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<String>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelectedLocale() {
|
public String getSelectedLocale() {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
@ -48,27 +49,50 @@ public class MvcEventInfoStepEventTypeModel {
|
||||||
private String selectedLocale;
|
private String selectedLocale;
|
||||||
|
|
||||||
public Map<String, String> getEventTypeValues() {
|
public Map<String, String> getEventTypeValues() {
|
||||||
return Collections.unmodifiableMap(eventTypeValues);
|
return Optional
|
||||||
|
.ofNullable(eventTypeValues)
|
||||||
|
.map(Collections::unmodifiableMap)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setEventTypeValues(final Map<String, String> eventTypeValues) {
|
protected void setEventTypeValues(
|
||||||
this.eventTypeValues = new HashMap<>(eventTypeValues);
|
final Map<String, String> eventTypeValues
|
||||||
|
) {
|
||||||
|
this.eventTypeValues = Optional
|
||||||
|
.ofNullable(eventTypeValues)
|
||||||
|
.map(values -> new HashMap<>(values))
|
||||||
|
.map(values -> (Map<String, String>) values)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CmsEditorLocaleVariantRow> getVariants() {
|
public List<CmsEditorLocaleVariantRow> getVariants() {
|
||||||
return Collections.unmodifiableList(variants);
|
return Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
||||||
this.variants = new ArrayList<>(variants);
|
this.variants = Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<CmsEditorLocaleVariantRow>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getUnusedLocales() {
|
public List<String> getUnusedLocales() {
|
||||||
return Collections.unmodifiableList(unusedLocales);
|
return Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||||
this.unusedLocales = new ArrayList<>(unusedLocales);
|
this.unusedLocales = Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<String>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelectedLocale() {
|
public String getSelectedLocale() {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
@ -48,27 +49,48 @@ public class MvcEventInfoStepLocationModel {
|
||||||
private String selectedLocale;
|
private String selectedLocale;
|
||||||
|
|
||||||
public Map<String, String> getLocationValues() {
|
public Map<String, String> getLocationValues() {
|
||||||
return Collections.unmodifiableMap(locationValues);
|
return Optional
|
||||||
|
.ofNullable(locationValues)
|
||||||
|
.map(Collections::unmodifiableMap)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setLocationValues(final Map<String, String> locationValues) {
|
protected void setLocationValues(final Map<String, String> locationValues) {
|
||||||
this.locationValues = new HashMap<>(locationValues);
|
this.locationValues = Optional
|
||||||
|
.ofNullable(locationValues)
|
||||||
|
.map(values -> new HashMap<>(values))
|
||||||
|
.map(values -> (Map<String, String>) values)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CmsEditorLocaleVariantRow> getVariants() {
|
public List<CmsEditorLocaleVariantRow> getVariants() {
|
||||||
return Collections.unmodifiableList(variants);
|
return Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
||||||
this.variants = new ArrayList<>(variants);
|
this.variants = Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<CmsEditorLocaleVariantRow>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getUnusedLocales() {
|
public List<String> getUnusedLocales() {
|
||||||
return Collections.unmodifiableList(unusedLocales);
|
return Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||||
this.unusedLocales = new ArrayList<>(unusedLocales);
|
this.unusedLocales = Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<String>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelectedLocale() {
|
public String getSelectedLocale() {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
@ -48,29 +49,50 @@ public class MvcEventInfoStepMainContributorModel {
|
||||||
private String selectedLocale;
|
private String selectedLocale;
|
||||||
|
|
||||||
public Map<String, String> getContributorValues() {
|
public Map<String, String> getContributorValues() {
|
||||||
return Collections.unmodifiableMap(contributorValues);
|
return Optional
|
||||||
|
.ofNullable(contributorValues)
|
||||||
|
.map(Collections::unmodifiableMap)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setContributorValues(
|
protected void setContributorValues(
|
||||||
final Map<String, String> contributorValues
|
final Map<String, String> contributorValues
|
||||||
) {
|
) {
|
||||||
this.contributorValues = new HashMap<>(contributorValues);
|
this.contributorValues = Optional
|
||||||
|
.ofNullable(contributorValues)
|
||||||
|
.map(values -> new HashMap<>(values))
|
||||||
|
.map(values -> (Map<String, String>) values)
|
||||||
|
.orElse(Collections.emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CmsEditorLocaleVariantRow> getVariants() {
|
public List<CmsEditorLocaleVariantRow> getVariants() {
|
||||||
return Collections.unmodifiableList(variants);
|
return Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
protected void setVariants(final List<CmsEditorLocaleVariantRow> variants) {
|
||||||
this.variants = new ArrayList<>(variants);
|
this.variants = Optional
|
||||||
|
.ofNullable(variants)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<CmsEditorLocaleVariantRow>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getUnusedLocales() {
|
public List<String> getUnusedLocales() {
|
||||||
return Collections.unmodifiableList(unusedLocales);
|
return Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(Collections::unmodifiableList)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||||
this.unusedLocales = new ArrayList<>(unusedLocales);
|
this.unusedLocales = Optional
|
||||||
|
.ofNullable(unusedLocales)
|
||||||
|
.map(list -> new ArrayList<>(list))
|
||||||
|
.map(list -> (List<String>) list)
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelectedLocale() {
|
public String getSelectedLocale() {
|
||||||
|
|
|
||||||
|
|
@ -176,24 +176,55 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
||||||
);
|
);
|
||||||
|
|
||||||
final Event event = (Event) getDocument();
|
final Event event = (Event) getDocument();
|
||||||
|
final DateTimeFormatter isoDateFormatter
|
||||||
|
= DateTimeFormatter.ISO_LOCAL_DATE.withZone(ZoneId.systemDefault());
|
||||||
|
final DateTimeFormatter isoTimeFormatter
|
||||||
|
= DateTimeFormatter.ISO_TIME.withZone(ZoneId.systemDefault());
|
||||||
final DateTimeFormatter isoDateTimeFormatter
|
final DateTimeFormatter isoDateTimeFormatter
|
||||||
= DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.systemDefault());
|
= DateTimeFormatter.ISO_LOCAL_DATE_TIME
|
||||||
|
.withZone(ZoneId.systemDefault());
|
||||||
|
|
||||||
eventPropertiesStepModel.setStartDate(
|
eventPropertiesStepModel.setStartDateTime(
|
||||||
Optional
|
Optional
|
||||||
.ofNullable(event.getStartDate())
|
.ofNullable(event.getStartDate())
|
||||||
.map(startDate -> startDate.toInstant())
|
.map(startDate -> startDate.toInstant())
|
||||||
.map(startDate -> isoDateTimeFormatter.format(startDate))
|
.map(startDate -> isoDateTimeFormatter.format(startDate))
|
||||||
.orElse("")
|
.orElse("")
|
||||||
);
|
);
|
||||||
|
eventPropertiesStepModel.setFormattedStartDateTime(
|
||||||
|
Optional
|
||||||
|
.ofNullable(event.getStartDate())
|
||||||
|
.map(startDate -> startDate.toInstant())
|
||||||
|
.map(
|
||||||
|
startDate -> String.format(
|
||||||
|
"%s %s",
|
||||||
|
isoDateFormatter.format(startDate),
|
||||||
|
isoTimeFormatter.format(startDate)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.orElse("")
|
||||||
|
);
|
||||||
|
|
||||||
eventPropertiesStepModel.setEndDate(
|
eventPropertiesStepModel.setEndDateTime(
|
||||||
Optional
|
Optional
|
||||||
.ofNullable(event.getEndDate())
|
.ofNullable(event.getEndDate())
|
||||||
.map(endDate -> endDate.toInstant())
|
.map(endDate -> endDate.toInstant())
|
||||||
.map(endDate -> isoDateTimeFormatter.format(endDate))
|
.map(endDate -> isoDateTimeFormatter.format(endDate))
|
||||||
.orElse("")
|
.orElse("")
|
||||||
);
|
);
|
||||||
|
eventPropertiesStepModel.setFormattedEndDateTime(
|
||||||
|
Optional
|
||||||
|
.ofNullable(event.getEndDate())
|
||||||
|
.map(endDate -> endDate.toInstant())
|
||||||
|
.map(
|
||||||
|
endDate -> String.format(
|
||||||
|
"%s %s",
|
||||||
|
isoDateFormatter.format(endDate),
|
||||||
|
isoTimeFormatter.format(endDate)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.orElse("")
|
||||||
|
);
|
||||||
|
|
||||||
eventPropertiesStepModel.setMapLink(event.getMapLink());
|
eventPropertiesStepModel.setMapLink(event.getMapLink());
|
||||||
}
|
}
|
||||||
|
|
@ -278,10 +309,10 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/eventproperties")
|
@Path("/eventdatetime")
|
||||||
@AuthorizationRequired
|
@AuthorizationRequired
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
public String updateEventProperties(
|
public String updateEventDateTime(
|
||||||
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
|
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
|
||||||
final String sectionIdentifier,
|
final String sectionIdentifier,
|
||||||
@PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
|
@PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
|
||||||
|
|
@ -289,11 +320,7 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
||||||
@FormParam("startDateTime")
|
@FormParam("startDateTime")
|
||||||
final String startDateTime,
|
final String startDateTime,
|
||||||
@FormParam("endDateTime")
|
@FormParam("endDateTime")
|
||||||
final String endDateTime,
|
final String endDateTime
|
||||||
@FormParam("timeZone")
|
|
||||||
final String timeZone,
|
|
||||||
@FormParam("mapLink")
|
|
||||||
final String mapLink
|
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
init();
|
init();
|
||||||
|
|
@ -307,7 +334,7 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
||||||
final Event event = (Event) getDocument();
|
final Event event = (Event) getDocument();
|
||||||
final DateTimeFormatter isoDateTimeFormatter
|
final DateTimeFormatter isoDateTimeFormatter
|
||||||
= DateTimeFormatter.ISO_DATE_TIME
|
= DateTimeFormatter.ISO_DATE_TIME
|
||||||
.withZone(ZoneId.of(timeZone));
|
.withZone(ZoneId.systemDefault());
|
||||||
event.setStartDate(
|
event.setStartDate(
|
||||||
Date.from(
|
Date.from(
|
||||||
ZonedDateTime.parse(
|
ZonedDateTime.parse(
|
||||||
|
|
@ -325,6 +352,42 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
||||||
).toInstant()
|
).toInstant()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
itemRepo.save(event);
|
||||||
|
|
||||||
|
return buildRedirectPathForStep();
|
||||||
|
} else {
|
||||||
|
return documentUi.showAccessDenied(
|
||||||
|
getContentSection(),
|
||||||
|
getDocument(),
|
||||||
|
getLabel()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/maplink")
|
||||||
|
@AuthorizationRequired
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
public String updateMapLink(
|
||||||
|
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
|
||||||
|
final String sectionIdentifier,
|
||||||
|
@PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
|
||||||
|
final String documentPath,
|
||||||
|
@FormParam("mapLink")
|
||||||
|
final String mapLink
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
init();
|
||||||
|
} catch (ContentSectionNotFoundException ex) {
|
||||||
|
return ex.showErrorMessage();
|
||||||
|
} catch (DocumentNotFoundException ex) {
|
||||||
|
return ex.showErrorMessage();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemPermissionChecker.canEditItem(getDocument())) {
|
||||||
|
final Event event = (Event) getDocument();
|
||||||
|
|
||||||
event.setMapLink(mapLink);
|
event.setMapLink(mapLink);
|
||||||
|
|
||||||
itemRepo.save(event);
|
itemRepo.save(event);
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,13 @@ public class MvcEventPropertiesStepModel {
|
||||||
|
|
||||||
private List<String> unusedDescriptionLocales;
|
private List<String> unusedDescriptionLocales;
|
||||||
|
|
||||||
private String startDate;
|
private String startDateTime;
|
||||||
|
|
||||||
private String endDate;
|
private String formattedStartDateTime;
|
||||||
|
|
||||||
|
private String endDateTime;
|
||||||
|
|
||||||
|
private String formattedEndDateTime;
|
||||||
|
|
||||||
private String mapLink;
|
private String mapLink;
|
||||||
|
|
||||||
|
|
@ -97,20 +101,44 @@ public class MvcEventPropertiesStepModel {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStartDate() {
|
public String getStartDateTime() {
|
||||||
return startDate;
|
return startDateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStartDate(final String startDate) {
|
public void setStartDateTime(final String startDateTime) {
|
||||||
this.startDate = startDate;
|
this.startDateTime = startDateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getEndDate() {
|
public String getFormattedStartDateTime() {
|
||||||
return endDate;
|
return formattedStartDateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEndDate(final String endDate) {
|
public void setFormattedStartDateTime(final String formattedStartDateTime) {
|
||||||
this.endDate = endDate;
|
this.formattedStartDateTime = formattedStartDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getHasStartDate() {
|
||||||
|
return !startDateTime.isBlank();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEndDateTime() {
|
||||||
|
return endDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndDateTime(final String endDateTime) {
|
||||||
|
this.endDateTime = endDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFormattedEndDateTime() {
|
||||||
|
return formattedEndDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFormattedEndDateTime(final String formattedEndDateTime) {
|
||||||
|
this.formattedEndDateTime = formattedEndDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getHasEndDate() {
|
||||||
|
return !endDateTime.isBlank();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMapLink() {
|
public String getMapLink() {
|
||||||
|
|
@ -121,4 +149,8 @@ public class MvcEventPropertiesStepModel {
|
||||||
this.mapLink = mapLink;
|
this.mapLink = mapLink;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getHasMapLink() {
|
||||||
|
return !mapLink.isBlank();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,14 @@
|
||||||
required="true"
|
required="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupDateTime
|
||||||
|
help="#{CmsEventMessageBundle['createform.startdate.help']}"
|
||||||
|
inputId="startDate"
|
||||||
|
label="#{CmsEventMessageBundle['createform.startdate.label']}"
|
||||||
|
name="startDate"
|
||||||
|
required="true"
|
||||||
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupTextarea
|
<bootstrap:formGroupTextarea
|
||||||
cols="80"
|
cols="80"
|
||||||
help="#{CmsEventMessageBundle['createform.summary.help']}"
|
help="#{CmsEventMessageBundle['createform.summary.help']}"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<ui:define name="authoringStep">
|
<ui:define name="authoringStep">
|
||||||
<h2>#{CmsEventMessageBundle.getMessage('basicproperties.header', [CmsEventPropertiesStep.name])}</h2>
|
<h2>#{CmsEventMessageBundle.getMessage('basicproperties.header', [CmsEventPropertiesStep.name])}</h2>
|
||||||
|
|
||||||
<h3>#{CmsEventPropertiesStep.getMessage('basicproperties.name.header')}</h3>
|
<h3>#{CmsEventMessageBundle['basicproperties.name.header']}</h3>
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<pre class="mr-2">#{CmsEventPropertiesStep.name}</pre>
|
<pre class="mr-2">#{CmsEventPropertiesStep.name}</pre>
|
||||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 class="modal-title"
|
<h4 class="modal-title"
|
||||||
id="name-edit-dialog-title">
|
id="name-edit-dialog-title">
|
||||||
#{CmsEventMessageBundle['basicproperties.name.-edit.title']}
|
#{CmsEventMessageBundle['basicproperties.name.edit.title']}
|
||||||
</h4>
|
</h4>
|
||||||
<button aria-label="#{CmsEventMessageBundle['basicproperties.name.edit.close']}"
|
<button aria-label="#{CmsEventMessageBundle['basicproperties.name.edit.close']}"
|
||||||
class="close"
|
class="close"
|
||||||
|
|
@ -110,6 +110,84 @@
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<div class="d-flex">
|
||||||
|
<h3 class="mr-2">#{CmsEventMessageBundle['basicproperties.eventdatetime.header']}</h3>
|
||||||
|
<button class="btn btn-primary btn-sm"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#eventdatetime-edit-dialog"
|
||||||
|
type="button">
|
||||||
|
<bootstrap:svgIcon icon="pen" />
|
||||||
|
<span class="sr-only">
|
||||||
|
#{CmsEventMessageBundle['basicproperties.eventdatetime.edit']}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<dl>
|
||||||
|
<dt>#{CmsEventMessageBundle['basicproperties.startdate']}</dt>
|
||||||
|
<dd>
|
||||||
|
#{CmsEventPropertiesStep.hasStartDate ? CmsEventPropertiesStep.formattedStartDateTime : CmsEventMessageBundle['basicproperties.startdate.none']}
|
||||||
|
</dd>
|
||||||
|
<dt>#{CmsEventMessageBundle['basicproperties.enddate']}</dt>
|
||||||
|
<dd>
|
||||||
|
#{CmsEventPropertiesStep.hasEndDate ? CmsEventPropertiesStep.formattedEndDateTime : CmsEventMessageBundle['basicproperties.enddate.none']}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<div aria-hidden="true"
|
||||||
|
aria-labelledby="eventdatetime-edit-dialog-title"
|
||||||
|
class="modal fade"
|
||||||
|
id="eventdatetime-edit-dialog"
|
||||||
|
tabindex="-1">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-basicproperties/eventdatetime"
|
||||||
|
class="modal-content"
|
||||||
|
method="post">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title"
|
||||||
|
id="eventdatetime-edit-dialog-title">
|
||||||
|
#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.title']}
|
||||||
|
</h4>
|
||||||
|
<button aria-label="#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.close']}"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
type="button">
|
||||||
|
<bootstrap:svgIcon icon="x" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<bootstrap:formGroupDateTime
|
||||||
|
help="#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.startdate.help']}"
|
||||||
|
inputId="startDateTime"
|
||||||
|
label="#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.startdate.label']}"
|
||||||
|
name="startDateTime"
|
||||||
|
required="true"
|
||||||
|
value="#{CmsEventPropertiesStep.startDateTime}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<bootstrap:formGroupDateTime
|
||||||
|
help="#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.enddate.help']}"
|
||||||
|
inputId="endDateTime"
|
||||||
|
label="#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.enddate.label']}"
|
||||||
|
name="endDateTime"
|
||||||
|
required="true"
|
||||||
|
value="#{CmsEventPropertiesStep.endDateTime}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-warning"
|
||||||
|
data-dismiss="modal"
|
||||||
|
type="button">
|
||||||
|
#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.close']}
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-success"
|
||||||
|
type="submit">
|
||||||
|
#{CmsEventMessageBundle['basicproperties.eventdatetime.edit.dialog.submit']}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<libreccm:localizedStringEditor
|
<libreccm:localizedStringEditor
|
||||||
addButtonLabel="#{CmsEventMessageBundle['basicproperties.description.add']}"
|
addButtonLabel="#{CmsEventMessageBundle['basicproperties.description.add']}"
|
||||||
addDialogCancelLabel="#{CmsEventMessageBundle['basicproperties.description.add.cancel']}"
|
addDialogCancelLabel="#{CmsEventMessageBundle['basicproperties.description.add.cancel']}"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
<!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:librecms="http://xmlns.jcp.org/jsf/composite/components/librecms"
|
||||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
|
||||||
|
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
|
||||||
|
|
||||||
|
<ui:param name="authoringStep"
|
||||||
|
value="/libreccm/@contentsections/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info" />
|
||||||
|
|
||||||
|
<ui:define name="authoringStep">
|
||||||
|
<h2>#{CmsEventMessageBundle['eventinfo_step.header']}</h2>
|
||||||
|
|
||||||
|
<librecms:cmsEditorVariants
|
||||||
|
addButtonLabel="#{CmsEventMessageBundle['eventdate.editor.add_variant']}"
|
||||||
|
addDialogLocaleSelectHelp="#{CmsAdminMessages['text.editor.add.locale.help']}"
|
||||||
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventdate/add"
|
||||||
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventdate/edit"
|
||||||
|
hasUnusedLocales="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
||||||
|
headingLevel="3"
|
||||||
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventdate/remove"
|
||||||
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
|
title="#{CmsEventMessageBundle['eventdate.editor.header']}"
|
||||||
|
unusedLocales="#{CmsEventInfoStepEventDate.unusedLocales}"
|
||||||
|
variants="#{CmsEventInfoStepEventDate.variants}"
|
||||||
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<librecms:cmsEditorVariants
|
||||||
|
addButtonLabel="#{CmsEventMessageBundle['location.editor.add_variant']}"
|
||||||
|
addDialogLocaleSelectHelp="#{CmsAdminMessages['text.editor.add.locale.help']}"
|
||||||
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/add"
|
||||||
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/edit"
|
||||||
|
hasUnusedLocales="#{!CmsEventInfoStepLocation.unusedLocales.isEmpty()}"
|
||||||
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/remove"
|
||||||
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
|
title="#{CmsEventMessageBundle['location.editor.header']}"
|
||||||
|
unusedLocales="#{CmsEventInfoStepLocation.unusedLocales}"
|
||||||
|
variants="#{CmsEventInfoStepLocation.variants}"
|
||||||
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<librecms:cmsEditorVariants
|
||||||
|
addButtonLabel="#{CmsEventMessageBundle['main_contributor.editor.add_variant']}"
|
||||||
|
addDialogLocaleSelectHelp="#{CmsAdminMessages['text.editor.add.locale.help']}"
|
||||||
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/add"
|
||||||
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/edit"
|
||||||
|
hasUnusedLocales="#{!CmsEventInfoStepMainContributor.unusedLocales.isEmpty()}"
|
||||||
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/remove"
|
||||||
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
|
title="#{CmsEventMessageBundle['main_contributor.editor.header']}"
|
||||||
|
unusedLocales="#{CmsEventInfoStepMainContributor.unusedLocales}"
|
||||||
|
variants="#{CmsEventInfoStepMainContributor.variants}"
|
||||||
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<librecms:cmsEditorVariants
|
||||||
|
addButtonLabel="#{CmsEventMessageBundle['eventtype.editor.add_variant']}"
|
||||||
|
addDialogLocaleSelectHelp="#{CmsAdminMessages['text.editor.add.locale.help']}"
|
||||||
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/add"
|
||||||
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/edit"
|
||||||
|
hasUnusedLocales="#{!CmsEventInfoStepEventType.unusedLocales.isEmpty()}"
|
||||||
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/remove"
|
||||||
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
|
title="#{CmsEventMessageBundle['eventtype.editor.header']}"
|
||||||
|
unusedLocales="#{CmsEventInfoStepEventType.unusedLocales}"
|
||||||
|
variants="#{CmsEventInfoStepEventType.variants}"
|
||||||
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</ui:define>
|
||||||
|
|
||||||
|
<ui:define name="scripts">
|
||||||
|
<script src="#{request.contextPath}/assets/@content-sections/cms-editor.js"></script>
|
||||||
|
</ui:define>
|
||||||
|
|
||||||
|
</ui:composition>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
@ -35,12 +35,12 @@
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/add"
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/add"
|
||||||
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/edit"
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/edit"
|
||||||
hasUnusedLocales="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
hasUnusedLocales="#{!CmsEventInfoStepLocation.unusedLocales.isEmpty()}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/location/remove"
|
||||||
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
title="#{CmsEventMessageBundle['location.editor.header']}"
|
title="#{CmsEventMessageBundle['location.editor.header']}"
|
||||||
unusedLocales="#{CmsEventInfoStepEventDate.unusedLocales}"
|
unusedLocales="#{CmsEventInfoStepLocation.unusedLocales}"
|
||||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
variants="#{CmsEventInfoStepLocation.variants}"
|
||||||
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -50,12 +50,12 @@
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/add"
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/add"
|
||||||
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/edit"
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/edit"
|
||||||
hasUnusedLocales="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
hasUnusedLocales="#{!CmsEventInfoStepMainContributor.unusedLocales.isEmpty()}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/main-contributor/remove"
|
||||||
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
title="#{CmsEventMessageBundle['main_contributor.editor.header']}"
|
title="#{CmsEventMessageBundle['main_contributor.editor.header']}"
|
||||||
unusedLocales="#{CmsEventInfoStepEventDate.unusedLocales}"
|
unusedLocales="#{CmsEventInfoStepMainContributor.unusedLocales}"
|
||||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
variants="#{CmsEventInfoStepMainContributor.variants}"
|
||||||
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -65,12 +65,12 @@
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/add"
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/add"
|
||||||
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
canEdit="#{CmsSelectedDocumentModel.canEdit}"
|
||||||
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/edit"
|
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/edit"
|
||||||
hasUnusedLocales="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
hasUnusedLocales="#{!CmsEventInfoStepEventType.unusedLocales.isEmpty()}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/eventtype/remove"
|
||||||
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/edit-source"
|
||||||
title="#{CmsEventMessageBundle['eventtype.editor.header']}"
|
title="#{CmsEventMessageBundle['eventtype.editor.header']}"
|
||||||
unusedLocales="#{CmsEventInfoStepEventDate.unusedLocales}"
|
unusedLocales="#{CmsEventInfoStepEventType.unusedLocales}"
|
||||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
variants="#{CmsEventInfoStepEventType.variants}"
|
||||||
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@event-info/view"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
alter table ccm_cms.events alter COLUMN start_date drop not null;
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
alter table ccm_cms.events alter COLUMN start_date drop not null;
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
authoringsteps.basicproperties.description=General properties of an event, for example the begin and end date.
|
authoringsteps.basicproperties.description=General properties of an event, for example the start and end of the event.
|
||||||
authoringsteps.basicproperties.label=Basic Properties
|
authoringsteps.basicproperties.label=Basic Properties
|
||||||
authoringsteps.info.description=Extended information about the event, for example about the location.
|
authoringsteps.info.description=Extended information about the event, for example about the location.
|
||||||
authoringstep.info.label=Event Info
|
authoringstep.info.label=Event Info
|
||||||
|
|
@ -44,3 +44,73 @@ eventinfo_step.main_contributor.header.edit=Edit information about the organizer
|
||||||
eventinfo_step.location.editor.header=Informatio about the location of the event
|
eventinfo_step.location.editor.header=Informatio about the location of the event
|
||||||
eventinfo_step.location.header.edit=Edit information about the location of event {0} for language {1}
|
eventinfo_step.location.header.edit=Edit information about the location of event {0} for language {1}
|
||||||
eventinfo_step.main_contributor.editor.header=Information about the organizier of the event
|
eventinfo_step.main_contributor.editor.header=Information about the organizier of the event
|
||||||
|
createform.initial_locale.label=Initial Locale
|
||||||
|
createform.summary.label=Summary
|
||||||
|
createform.workflow.help=The workflow to use for the new event.
|
||||||
|
basicproperties.eventdatetime.header=Start and End of the Event
|
||||||
|
basicproperties.startdate=Start of the event
|
||||||
|
basicproperties.enddate=End of the event
|
||||||
|
createform.startdate.help=Date and time of the start of the event.
|
||||||
|
createform.startdate.label=Start of the event
|
||||||
|
createstep.startdate.error.missing=The start of event set.
|
||||||
|
basicproperties.startdate.edit=Edit start of event
|
||||||
|
basicproperties.enddate.edit=Edit end of event
|
||||||
|
basicproperties.eventdatetime.edit=Edit
|
||||||
|
createstep.startdate.error.malformed=The date/time for the start of the event is malformed.
|
||||||
|
basicproperties.header=Edit basic properties of event {0}
|
||||||
|
basicproperties.name.header=Name
|
||||||
|
basicproperties.name.edit=Edit name
|
||||||
|
basicproperties.description.header=Description
|
||||||
|
basicproperties.name.edit.close=Cancel
|
||||||
|
basicproperties.name.edit.title=Edit name of event
|
||||||
|
basicproperties.name.help=The name of the event. Can only contain the letters a to z and A to Z, numbers, the underscore ("_") and the dash ("-").
|
||||||
|
basicproperties.name.label=Name
|
||||||
|
basicproperties.name.edit.submit=Update name of event
|
||||||
|
basicproperties.title.add=Add locale
|
||||||
|
basicproperties.title.add.cancel=Cancel
|
||||||
|
basicproperties.title.add.locale.help=The language to add.
|
||||||
|
basicproperties.title.add.locale.label=Locale
|
||||||
|
basicproperties.title.add.submit=Add locale
|
||||||
|
basicproperties.title.add.header=Add title locale
|
||||||
|
basicproperties.title.add.value.help=The localized title of the event.
|
||||||
|
basicproperties.title.add.value.label=Title
|
||||||
|
basicproperties.title.edit=Edit
|
||||||
|
basicproperties.title.edit.cancel=Cancel
|
||||||
|
basicproperties.title.edit.submit=Save
|
||||||
|
basicproperties.title.edit.header=Edit title
|
||||||
|
basicproperties.title.edit.value.help=The localized title of the event.
|
||||||
|
basicproperties.title.edit.value.label=Title
|
||||||
|
basicproperties.title.remove=Remove
|
||||||
|
basicproperties.title.remove.cancel=Cancel
|
||||||
|
basicproperties.title.remove.submit=Remove
|
||||||
|
basicproperties.title.remove.text=Are you sure to remove the localized title for the folloing locale?
|
||||||
|
basicproperties.title.remove.header=Remove localized title
|
||||||
|
basicproperties.title.header=Title
|
||||||
|
basicproperties.description.add=Add localized description
|
||||||
|
basicproperties.description.add.cancel=Cancel
|
||||||
|
basicproperties.description.add.locale.help=The locale of the localized description.
|
||||||
|
basicproperties.description.add.locale.label=Locale
|
||||||
|
basicproperties.description.add.submit=Add localized description
|
||||||
|
basicproperties.description.add.header=Add localized description
|
||||||
|
basicproperties.description.add.value.help=The localized description.
|
||||||
|
basicproperties.description.add.value.label=Description
|
||||||
|
basicproperties.description.edit=Edit
|
||||||
|
basicproperties.description.edit.cancel=Cancel
|
||||||
|
basicproperties.description.edit.submit=Submit
|
||||||
|
basicproperties.description.edit.header=Edit localized description
|
||||||
|
basicproperties.description.edit.value.help=The localized description.
|
||||||
|
basicproperties.description.edit.value.label=Description
|
||||||
|
basicproperties.description.remove=Remove
|
||||||
|
basicproperties.description.remove.cancel=Cancel
|
||||||
|
basicproperties.description.remove.submit=Remove localized description
|
||||||
|
basicproperties.description.remove.text=Are you sure to remove the localized description for this locale?
|
||||||
|
basicproperties.description.remove.header=Remove localized description
|
||||||
|
basicproperties.startdate.none=Start of event is missing.
|
||||||
|
basicproperties.enddate.none=End of event is missing
|
||||||
|
basicproperties.eventdatetime.edit.dialog.title=Edit start and end of the event
|
||||||
|
basicproperties.eventdatetime.edit.dialog.close=Cancel
|
||||||
|
basicproperties.eventdatetime.edit.dialog.startdate.help=Start of the event (date and time).
|
||||||
|
basicproperties.eventdatetime.edit.dialog.startdate.label=Start
|
||||||
|
basicproperties.eventdatetime.edit.dialog.enddate.help=The end of the event (date and time)
|
||||||
|
basicproperties.eventdatetime.edit.dialog.enddate.label=End
|
||||||
|
basicproperties.eventdatetime.edit.dialog.submit=Submit
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ createstep.workflow.error.not_available=Der ausgew\u00e4hlte Arbeitsablauf ist n
|
||||||
createform.title=Eine neue Veranstaltung anlegen
|
createform.title=Eine neue Veranstaltung anlegen
|
||||||
createform.name.help=Der Name der neuen Veranstaltung. Darf nur die Buchstaben a bis z, A bis Z, Ziffern, den Bindestrich ("-") und den Unterstrich ("_") enthalten.
|
createform.name.help=Der Name der neuen Veranstaltung. Darf nur die Buchstaben a bis z, A bis Z, Ziffern, den Bindestrich ("-") und den Unterstrich ("_") enthalten.
|
||||||
createform.name.label=Name
|
createform.name.label=Name
|
||||||
createform.initial_locale.help=Die initiale Sprache der neuen Veranstaltung. Alle lokalisierbaren Angaben in diesem Formular werden f\u00fcr diese Sprache angelegt.
|
createform.initial_locale.help=Initiale Sprache
|
||||||
createform.title.help=Der Titel der neuen Veranstaltung.
|
createform.title.help=Der Titel der neuen Veranstaltung.
|
||||||
createform.title.label=Titel
|
createform.title.label=Titel
|
||||||
createform.summary.help=Eine kurze Zusammenfassung der neuen Veranstaltung.
|
createform.summary.help=Eine kurze Zusammenfassung der neuen Veranstaltung.
|
||||||
|
|
@ -44,3 +44,73 @@ eventinfo_step.main_contributor.header.edit=Informationen \u00fcber den Veransta
|
||||||
eventinfo_step.location.editor.header=Informationen \u00fcber den Ort der Veranstaltung
|
eventinfo_step.location.editor.header=Informationen \u00fcber den Ort der Veranstaltung
|
||||||
eventinfo_step.location.header.edit=Informationen \u00fcber den Ort der Veranstaltung {0} f\u00fcr Sprache {1} bearbeiten
|
eventinfo_step.location.header.edit=Informationen \u00fcber den Ort der Veranstaltung {0} f\u00fcr Sprache {1} bearbeiten
|
||||||
eventinfo_step.main_contributor.editor.header=Informationen \u00fcber den Veranstalter
|
eventinfo_step.main_contributor.editor.header=Informationen \u00fcber den Veranstalter
|
||||||
|
createform.initial_locale.label=Initial Locale
|
||||||
|
createform.summary.label=Zusammenfassung
|
||||||
|
createform.workflow.help=Der Arbeitsablauf, der f\u00fcr die neue Veranstaltung verwendet wird.
|
||||||
|
basicproperties.eventdatetime.header=Beginn und Ende der Veranstaltung
|
||||||
|
basicproperties.startdate=Beginn der Veranstaltung
|
||||||
|
basicproperties.enddate=Ende der Veranstaltung
|
||||||
|
createform.startdate.help=Datum und Uhrzeit des Beginns der Veranstaltung.
|
||||||
|
createform.startdate.label=Beginn der Veranstaltung
|
||||||
|
createstep.startdate.error.missing=Der Beginn der Veranstaltugn wurde nicht angegeben.
|
||||||
|
basicproperties.startdate.edit=Beginn der Veranstaltung bearbeiten
|
||||||
|
basicproperties.enddate.edit=Ende der Veranstaltung bearbeiten
|
||||||
|
basicproperties.eventdatetime.edit=Bearbeiten
|
||||||
|
createstep.startdate.error.malformed=Der Zeitpunkt f\u00fcr den Beginn der Veranstaltung ist keine valide Datums-/Zeitangabe.
|
||||||
|
basicproperties.header=Basiseigenschaften der Veranstaltung {0} bearbeiten
|
||||||
|
basicproperties.name.header=Name
|
||||||
|
basicproperties.name.edit=Name bearbeiten
|
||||||
|
basicproperties.description.header=Beschreibung
|
||||||
|
basicproperties.name.edit.close=Abbrechen
|
||||||
|
basicproperties.name.edit.title=Name der Veranstaltung bearbeiten
|
||||||
|
basicproperties.name.help=Der Name der Veranstaltung. Darf nur die Buchstaben a bis z, A bis Z, Ziffern, den Bindestrich ("-") und den Unterstrich ("_") enthalten.
|
||||||
|
basicproperties.name.label=Name
|
||||||
|
basicproperties.name.edit.submit=Name der Veranstaltung aktualisieren
|
||||||
|
basicproperties.title.add=Sprache hinzuf\u00fcgen
|
||||||
|
basicproperties.title.add.cancel=Abbrechen
|
||||||
|
basicproperties.title.add.locale.help=Die Sprache, die hinzugef\u00fcgt wird.
|
||||||
|
basicproperties.title.add.locale.label=Sprache
|
||||||
|
basicproperties.title.add.submit=Sprache hinzuf\u00fcgen
|
||||||
|
basicproperties.title.add.header=Titel f\u00fcr Sprache hinzuf\u00fcgen
|
||||||
|
basicproperties.title.add.value.help=Der lokalisierte Titel der Veranstaltung.
|
||||||
|
basicproperties.title.add.value.label=Titel
|
||||||
|
basicproperties.title.edit=Bearbeiten
|
||||||
|
basicproperties.title.edit.cancel=Abbrechen
|
||||||
|
basicproperties.title.edit.submit=Speichern
|
||||||
|
basicproperties.title.edit.header=Titel bearbeiten
|
||||||
|
basicproperties.title.edit.value.help=Der lokalisierte Titel der Veranstaltung.
|
||||||
|
basicproperties.title.edit.value.label=Titel
|
||||||
|
basicproperties.title.remove=Entfernen
|
||||||
|
basicproperties.title.remove.cancel=Abbrechen
|
||||||
|
basicproperties.title.remove.submit=Entfernen
|
||||||
|
basicproperties.title.remove.text=Sind Sie sicher, dass den lokalisierten Titel f\u00fcr diese Sprache entfernen wollen?
|
||||||
|
basicproperties.title.remove.header=Lokalisierten Titel entfernen
|
||||||
|
basicproperties.title.header=Titel
|
||||||
|
basicproperties.description.add=Lokalisierte Beschreibung hinzuf\u00fcgen
|
||||||
|
basicproperties.description.add.cancel=Abbrechen
|
||||||
|
basicproperties.description.add.locale.help=Die Sprache der lokalisierten Beschreibung.
|
||||||
|
basicproperties.description.add.locale.label=Sprache
|
||||||
|
basicproperties.description.add.submit=Lokalisierte Beschreibung hinzuf\u00fcgen
|
||||||
|
basicproperties.description.add.header=Lokalisierte Beschreibung hinzuf\u00fcgen
|
||||||
|
basicproperties.description.add.value.help=Die lokalisierte Beschreibung.
|
||||||
|
basicproperties.description.add.value.label=Beschreibung
|
||||||
|
basicproperties.description.edit=Bearbeiten
|
||||||
|
basicproperties.description.edit.cancel=Abbrechen
|
||||||
|
basicproperties.description.edit.submit=Speichern
|
||||||
|
basicproperties.description.edit.header=Lokalisierte Beschreibung bearbeiten
|
||||||
|
basicproperties.description.edit.value.help=Die lokalisierte Beschreibung.
|
||||||
|
basicproperties.description.edit.value.label=Beschreibung
|
||||||
|
basicproperties.description.remove=Entfernen
|
||||||
|
basicproperties.description.remove.cancel=Abbrechen
|
||||||
|
basicproperties.description.remove.submit=Lokalisierte Beschreibung entfernen
|
||||||
|
basicproperties.description.remove.text=Sind Sie sicher, dass Sie die lokalisierte Beschreibung f\u00fcr diese Sprache entfernen wollen?
|
||||||
|
basicproperties.description.remove.header=Lokalisierte Beschreibung entfernen
|
||||||
|
basicproperties.startdate.none=Es wurde keine Begin angegeben.
|
||||||
|
basicproperties.enddate.none=Es wurde keine Ende der Veranstaltung angegeben.
|
||||||
|
basicproperties.eventdatetime.edit.dialog.title=Beginn und Ende der Veranstaltung bearbeiten
|
||||||
|
basicproperties.eventdatetime.edit.dialog.close=Abbrechen
|
||||||
|
basicproperties.eventdatetime.edit.dialog.startdate.help=Beginn und Ende der Veranstaltung (Datum und Uhrzeit)
|
||||||
|
basicproperties.eventdatetime.edit.dialog.startdate.label=Beginn
|
||||||
|
basicproperties.eventdatetime.edit.dialog.enddate.help=Ende der Veranstaltung (Datum und Uhrzeit)
|
||||||
|
basicproperties.eventdatetime.edit.dialog.enddate.label=Ende
|
||||||
|
basicproperties.eventdatetime.edit.dialog.submit=Speichern
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue