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.contentsection.ContentItem;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import org.librecms.ui.contentsections.documents.MvcAuthoringKit;
|
||||
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;
|
||||
|
||||
|
|
@ -77,6 +79,13 @@ import static org.librecms.CmsConstants.DB_SCHEMA;
|
|||
order = 2
|
||||
)
|
||||
})
|
||||
@MvcAuthoringKit(
|
||||
createStep = MvcEventCreateStep.class,
|
||||
authoringSteps = {
|
||||
MvcEventPropertiesStep.class,
|
||||
MvcEventInfoStep.class
|
||||
}
|
||||
)
|
||||
public class Event extends ContentItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -9104886733503414635L;
|
||||
|
|
@ -94,9 +103,8 @@ public class Event extends ContentItem implements Serializable {
|
|||
))
|
||||
private LocalizedString text;
|
||||
|
||||
@Column(name = "START_DATE", nullable = false)
|
||||
@Column(name = "START_DATE")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@NotNull
|
||||
private Date startDate;
|
||||
|
||||
@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.MvcArticleTextBodyStep;
|
||||
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.MvcMpaPropertiesStep;
|
||||
import org.librecms.ui.contenttypes.mpa.MvcMpaSectionsStep;
|
||||
|
|
@ -51,6 +54,8 @@ public class CmsMvcAuthoringSteps implements MvcAuthoringSteps {
|
|||
RelatedInfoStep.class,
|
||||
MvcArticlePropertiesStep.class,
|
||||
MvcArticleTextBodyStep.class,
|
||||
MvcEventPropertiesStep.class,
|
||||
MvcEventInfoStep.class,
|
||||
MvcMpaPropertiesStep.class,
|
||||
MvcMpaSectionsStep.class
|
||||
);
|
||||
|
|
@ -61,6 +66,7 @@ public class CmsMvcAuthoringSteps implements MvcAuthoringSteps {
|
|||
return Set.of(
|
||||
MediaStepService.class,
|
||||
MvcArticleTextBodyStepResources.class,
|
||||
MvcEventInfoStepResources.class,
|
||||
MpaSectionsResources.class,
|
||||
RelatedInfoStepService.class
|
||||
);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
package org.librecms.ui.contenttypes.event;
|
||||
|
||||
import org.libreccm.l10n.GlobalizationHelper;
|
||||
import org.libreccm.l10n.LocalizedString;
|
||||
import org.libreccm.security.AuthorizationRequired;
|
||||
import org.libreccm.workflow.Workflow;
|
||||
import org.librecms.contentsection.ContentItemManager;
|
||||
|
|
@ -26,6 +27,13 @@ import org.librecms.contentsection.ContentItemRepository;
|
|||
import org.librecms.contenttypes.Event;
|
||||
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.Map;
|
||||
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_STARTDATE = "startDate";
|
||||
|
||||
private static final String FORM_PARAM_SUMMARY = "summary";
|
||||
|
||||
private static final String FORM_PARAM_INITIAL_LOCALE = "locale";
|
||||
|
|
@ -83,6 +93,11 @@ public class MvcEventCreateStep
|
|||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* The start date of the event (ISO 8601 string)
|
||||
*/
|
||||
private String startDate;
|
||||
|
||||
/**
|
||||
* Summary of the event.
|
||||
*/
|
||||
|
|
@ -123,6 +138,10 @@ public class MvcEventCreateStep
|
|||
return title;
|
||||
}
|
||||
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public String getSummary() {
|
||||
return summary;
|
||||
}
|
||||
|
|
@ -200,6 +219,37 @@ public class MvcEventCreateStep
|
|||
}
|
||||
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)
|
||||
|| formParams.get(FORM_PARAM_SUMMARY) == null
|
||||
|| formParams.get(FORM_PARAM_SUMMARY).length == 0) {
|
||||
|
|
@ -269,11 +319,18 @@ public class MvcEventCreateStep
|
|||
Event.class,
|
||||
locale
|
||||
);
|
||||
|
||||
|
||||
event.getTitle().putValue(locale, title);
|
||||
event.setStartDate(
|
||||
Date.from(
|
||||
startDateTime.toInstant(
|
||||
ZoneId.systemDefault().getRules().getOffset(startDateTime)
|
||||
)
|
||||
)
|
||||
);
|
||||
event.getDescription().putValue(locale, summary);
|
||||
itemRepo.save(event);
|
||||
|
||||
|
||||
return String.format(
|
||||
"redirect:/%s/documents/%s/%s/@event-basicproperties",
|
||||
getContentSectionLabel(),
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
|
|
@ -36,41 +37,62 @@ import javax.inject.Named;
|
|||
@RequestScoped
|
||||
@Named("CmsEventInfoStepEventDate")
|
||||
class MvcEventInfoStepEventDateModel {
|
||||
|
||||
|
||||
private boolean canEdit;
|
||||
|
||||
|
||||
private Map<String, String> eventDateValues;
|
||||
|
||||
|
||||
private List<CmsEditorLocaleVariantRow> variants;
|
||||
|
||||
|
||||
private List<String> unusedLocales;
|
||||
|
||||
|
||||
private String selectedLocale;
|
||||
|
||||
|
||||
public Map<String, String> getEventDateValues() {
|
||||
return Collections.unmodifiableMap(eventDateValues);
|
||||
return Optional
|
||||
.ofNullable(eventDateValues)
|
||||
.map(Collections::unmodifiableMap)
|
||||
.orElse(Collections.emptyMap());
|
||||
}
|
||||
|
||||
|
||||
protected void setEventDateValues(
|
||||
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() {
|
||||
return Collections.unmodifiableList(variants);
|
||||
return Optional
|
||||
.ofNullable(variants)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
|
||||
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() {
|
||||
return Collections.unmodifiableList(unusedLocales);
|
||||
return Optional
|
||||
.ofNullable(unusedLocales)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||
this.unusedLocales = new ArrayList<>(unusedLocales);
|
||||
protected void setUnusedLocales(final List<String> unusedLocales) {
|
||||
this.unusedLocales = Optional
|
||||
.ofNullable(unusedLocales)
|
||||
.map(list -> new ArrayList<>(list))
|
||||
.map(list -> (List<String>) list)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
public String getSelectedLocale() {
|
||||
|
|
@ -88,5 +110,5 @@ class MvcEventInfoStepEventDateModel {
|
|||
protected void setCanEdit(final boolean canEdit) {
|
||||
this.canEdit = canEdit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
|
|
@ -36,8 +37,8 @@ import javax.inject.Named;
|
|||
@RequestScoped
|
||||
@Named("CmsEventInfoStepEventType")
|
||||
public class MvcEventInfoStepEventTypeModel {
|
||||
|
||||
private boolean canEdit;
|
||||
|
||||
private boolean canEdit;
|
||||
|
||||
private Map<String, String> eventTypeValues;
|
||||
|
||||
|
|
@ -48,27 +49,50 @@ public class MvcEventInfoStepEventTypeModel {
|
|||
private String selectedLocale;
|
||||
|
||||
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) {
|
||||
this.eventTypeValues = new HashMap<>(eventTypeValues);
|
||||
protected void setEventTypeValues(
|
||||
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() {
|
||||
return Collections.unmodifiableList(variants);
|
||||
return Optional
|
||||
.ofNullable(variants)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
return Collections.unmodifiableList(unusedLocales);
|
||||
return Optional
|
||||
.ofNullable(unusedLocales)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
|
|
@ -86,5 +110,5 @@ public class MvcEventInfoStepEventTypeModel {
|
|||
protected void setCanEdit(final boolean canEdit) {
|
||||
this.canEdit = canEdit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
|
|
@ -48,27 +49,48 @@ public class MvcEventInfoStepLocationModel {
|
|||
private String selectedLocale;
|
||||
|
||||
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) {
|
||||
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() {
|
||||
return Collections.unmodifiableList(variants);
|
||||
public List<CmsEditorLocaleVariantRow> getVariants() {
|
||||
return Optional
|
||||
.ofNullable(variants)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
return Collections.unmodifiableList(unusedLocales);
|
||||
return Optional
|
||||
.ofNullable(unusedLocales)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
|
|
@ -36,8 +37,8 @@ import javax.inject.Named;
|
|||
@RequestScoped
|
||||
@Named("CmsEventInfoStepMainContributor")
|
||||
public class MvcEventInfoStepMainContributorModel {
|
||||
|
||||
private boolean canEdit;
|
||||
|
||||
private boolean canEdit;
|
||||
|
||||
private Map<String, String> contributorValues;
|
||||
|
||||
|
|
@ -48,29 +49,50 @@ public class MvcEventInfoStepMainContributorModel {
|
|||
private String selectedLocale;
|
||||
|
||||
public Map<String, String> getContributorValues() {
|
||||
return Collections.unmodifiableMap(contributorValues);
|
||||
return Optional
|
||||
.ofNullable(contributorValues)
|
||||
.map(Collections::unmodifiableMap)
|
||||
.orElse(Collections.emptyMap());
|
||||
}
|
||||
|
||||
protected void setContributorValues(
|
||||
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() {
|
||||
return Collections.unmodifiableList(variants);
|
||||
return Optional
|
||||
.ofNullable(variants)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
return Collections.unmodifiableList(unusedLocales);
|
||||
return Optional
|
||||
.ofNullable(unusedLocales)
|
||||
.map(Collections::unmodifiableList)
|
||||
.orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
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() {
|
||||
|
|
@ -88,5 +110,5 @@ public class MvcEventInfoStepMainContributorModel {
|
|||
protected void setCanEdit(final boolean canEdit) {
|
||||
this.canEdit = canEdit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -176,24 +176,55 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
|||
);
|
||||
|
||||
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
|
||||
= DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.systemDefault());
|
||||
= DateTimeFormatter.ISO_LOCAL_DATE_TIME
|
||||
.withZone(ZoneId.systemDefault());
|
||||
|
||||
eventPropertiesStepModel.setStartDate(
|
||||
eventPropertiesStepModel.setStartDateTime(
|
||||
Optional
|
||||
.ofNullable(event.getStartDate())
|
||||
.map(startDate -> startDate.toInstant())
|
||||
.map(startDate -> isoDateTimeFormatter.format(startDate))
|
||||
.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
|
||||
.ofNullable(event.getEndDate())
|
||||
.map(endDate -> endDate.toInstant())
|
||||
.map(endDate -> isoDateTimeFormatter.format(endDate))
|
||||
.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());
|
||||
}
|
||||
|
|
@ -278,10 +309,10 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
|||
}
|
||||
|
||||
@POST
|
||||
@Path("/eventproperties")
|
||||
@Path("/eventdatetime")
|
||||
@AuthorizationRequired
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String updateEventProperties(
|
||||
public String updateEventDateTime(
|
||||
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
|
||||
final String sectionIdentifier,
|
||||
@PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
|
||||
|
|
@ -289,11 +320,7 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
|||
@FormParam("startDateTime")
|
||||
final String startDateTime,
|
||||
@FormParam("endDateTime")
|
||||
final String endDateTime,
|
||||
@FormParam("timeZone")
|
||||
final String timeZone,
|
||||
@FormParam("mapLink")
|
||||
final String mapLink
|
||||
final String endDateTime
|
||||
) {
|
||||
try {
|
||||
init();
|
||||
|
|
@ -307,7 +334,7 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
|||
final Event event = (Event) getDocument();
|
||||
final DateTimeFormatter isoDateTimeFormatter
|
||||
= DateTimeFormatter.ISO_DATE_TIME
|
||||
.withZone(ZoneId.of(timeZone));
|
||||
.withZone(ZoneId.systemDefault());
|
||||
event.setStartDate(
|
||||
Date.from(
|
||||
ZonedDateTime.parse(
|
||||
|
|
@ -325,6 +352,42 @@ public class MvcEventPropertiesStep extends AbstractMvcAuthoringStep {
|
|||
).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);
|
||||
|
||||
itemRepo.save(event);
|
||||
|
|
|
|||
|
|
@ -45,9 +45,13 @@ public class MvcEventPropertiesStepModel {
|
|||
|
||||
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;
|
||||
|
||||
|
|
@ -97,20 +101,44 @@ public class MvcEventPropertiesStepModel {
|
|||
);
|
||||
}
|
||||
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
public String getStartDateTime() {
|
||||
return startDateTime;
|
||||
}
|
||||
|
||||
public void setStartDate(final String startDate) {
|
||||
this.startDate = startDate;
|
||||
public void setStartDateTime(final String startDateTime) {
|
||||
this.startDateTime = startDateTime;
|
||||
}
|
||||
|
||||
public String getEndDate() {
|
||||
return endDate;
|
||||
public String getFormattedStartDateTime() {
|
||||
return formattedStartDateTime;
|
||||
}
|
||||
|
||||
public void setEndDate(final String endDate) {
|
||||
this.endDate = endDate;
|
||||
public void setFormattedStartDateTime(final String formattedStartDateTime) {
|
||||
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() {
|
||||
|
|
@ -121,4 +149,8 @@ public class MvcEventPropertiesStepModel {
|
|||
this.mapLink = mapLink;
|
||||
}
|
||||
|
||||
public boolean getHasMapLink() {
|
||||
return !mapLink.isBlank();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,14 @@
|
|||
required="true"
|
||||
/>
|
||||
|
||||
<bootstrap:formGroupDateTime
|
||||
help="#{CmsEventMessageBundle['createform.startdate.help']}"
|
||||
inputId="startDate"
|
||||
label="#{CmsEventMessageBundle['createform.startdate.label']}"
|
||||
name="startDate"
|
||||
required="true"
|
||||
/>
|
||||
|
||||
<bootstrap:formGroupTextarea
|
||||
cols="80"
|
||||
help="#{CmsEventMessageBundle['createform.summary.help']}"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<ui:define name="authoringStep">
|
||||
<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">
|
||||
<pre class="mr-2">#{CmsEventPropertiesStep.name}</pre>
|
||||
<c:if test="#{CmsSelectedDocumentModel.canEdit}">
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="name-edit-dialog-title">
|
||||
#{CmsEventMessageBundle['basicproperties.name.-edit.title']}
|
||||
#{CmsEventMessageBundle['basicproperties.name.edit.title']}
|
||||
</h4>
|
||||
<button aria-label="#{CmsEventMessageBundle['basicproperties.name.edit.close']}"
|
||||
class="close"
|
||||
|
|
@ -109,7 +109,85 @@
|
|||
values="#{CmsEventPropertiesStep.titleValues}"
|
||||
|
||||
/>
|
||||
|
||||
<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
|
||||
addButtonLabel="#{CmsEventMessageBundle['basicproperties.description.add']}"
|
||||
addDialogCancelLabel="#{CmsEventMessageBundle['basicproperties.description.add.cancel']}"
|
||||
|
|
@ -143,7 +221,7 @@
|
|||
values="#{CmsEventPropertiesStep.descriptionValues}"
|
||||
useTextarea="true"
|
||||
/>
|
||||
|
||||
|
||||
</ui:define>
|
||||
|
||||
</ui:composition>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<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']}"
|
||||
|
|
@ -28,54 +28,54 @@
|
|||
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="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
||||
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="#{CmsEventInfoStepEventDate.unusedLocales}"
|
||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
||||
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="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
||||
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="#{CmsEventInfoStepEventDate.unusedLocales}"
|
||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
||||
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="#{!CmsEventInfoStepEventDate.unusedLocales.isEmpty()}"
|
||||
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="#{CmsEventInfoStepEventDate.unusedLocales}"
|
||||
variants="#{CmsEventInfoStepEventDate.variants}"
|
||||
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>
|
||||
|
|
|
|||
|
|
@ -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.info.description=Extended information about the event, for example about the location.
|
||||
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.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
|
||||
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.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.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.label=Titel
|
||||
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.header.edit=Informationen \u00fcber den Ort der Veranstaltung {0} f\u00fcr Sprache {1} bearbeiten
|
||||
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