CCM NG/ccm-cms:

- Fixed wrong datatype in ccm_cms.events table (was SQL Date, which does not save time, is now SQL Timestamp)
- EventPropertiesStep and EventPropertyForm work now as expected


git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4840 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2017-07-05 07:24:55 +00:00
parent f00b3ef6aa
commit 5fa68b9570
10 changed files with 73 additions and 19 deletions

View File

@ -133,7 +133,7 @@ public class EventPropertiesStep extends SimpleEditStep {
"name");
sheet.add(new GlobalizedMessage("cms.contenttypes.ui.event.lead",
CmsConstants.CMS_BUNDLE),
"lead");
"description");
sheet.add(new GlobalizedMessage("cms.contenttypes.ui.event.start_time",
CmsConstants.CMS_BUNDLE),

View File

@ -71,12 +71,14 @@ public class EventPropertyForm
FormInitListener,
FormSubmissionListener {
private final static Logger LOGGER = LogManager
.getLogger(EventPropertyForm.class);
/**
* Name of this form
*/
public static final String ID = "event_edit";
private final static Logger LOGGER = LogManager
.getLogger(EventPropertyForm.class);
private EventPropertiesStep eventPropertiesStep;
/**
* event date parameter name
@ -516,13 +518,52 @@ public class EventPropertyForm
final java.util.Date startDate = (java.util.Date) data
.get(START_DATE);
startDate.setTime(((java.util.Date) data.get(START_TIME)).getTime());
item.setStartDate((java.util.Date) data.get(START_DATE));
final java.util.Date startTime = (java.util.Date) data
.get(START_TIME);
final java.util.Date endDate = (java.util.Date) data.get(END_DATE);
final java.util.Date endTime = (java.util.Date) data.get(END_TIME);
final Calendar startDateCal = Calendar.getInstance();
final Calendar startTimeCal = Calendar.getInstance();
final Calendar endDateCal = Calendar.getInstance();
final Calendar endTimeCal = Calendar.getInstance();
startDateCal.setTime(startDate);
startTimeCal.setTime(startTime);
endDateCal.setTime(endDate);
endTimeCal.setTime(endTime);
final int startYear = startDateCal.get(Calendar.YEAR);
final int startMonth = startDateCal.get(Calendar.MONTH);
final int startDay = startDateCal.get(Calendar.DAY_OF_MONTH);
final int startHour = startTimeCal.get(Calendar.HOUR_OF_DAY);
final int startMinute = startTimeCal.get(Calendar.MINUTE);
final int endYear = endDateCal.get(Calendar.YEAR);
final int endMonth = endDateCal.get(Calendar.MONTH);
final int endDay = endDateCal.get(Calendar.DAY_OF_MONTH);
final int endHour = endTimeCal.get(Calendar.HOUR_OF_DAY);
final int endMinute = endTimeCal.get(Calendar.MINUTE);
final Calendar startDateTimeCal = Calendar.getInstance();
final Calendar endDateTimeCal = Calendar.getInstance();
startDateTimeCal.set(Calendar.YEAR, startYear);
startDateTimeCal.set(Calendar.MONTH, startMonth);
startDateTimeCal.set(Calendar.DAY_OF_MONTH, startDay);
startDateTimeCal.set(Calendar.HOUR_OF_DAY, startHour);
startDateTimeCal.set(Calendar.MINUTE, startMinute);
endDateTimeCal.set(Calendar.YEAR, endYear);
endDateTimeCal.set(Calendar.MONTH, endMonth);
endDateTimeCal.set(Calendar.DAY_OF_MONTH, endDay);
endDateTimeCal.set(Calendar.HOUR_OF_DAY, endHour);
endDateTimeCal.set(Calendar.MINUTE, endMinute);
final java.util.Date startDateTime = startDateTimeCal.getTime();
final java.util.Date endDateTime = endDateTimeCal.getTime();
final java.util.Date endDate = (java.util.Date) data
.get(END_DATE);
endDate.setTime(((java.util.Date) data.get(END_TIME)).getTime());
item.setEndDate((java.util.Date) data.get(END_DATE));
item.setStartDate(startDateTime);
item.setEndDate(endDateTime);
//date_description
if (!eventConfig.isHideDateDescription()) {
item.getEventDate().addValue(selectedLocale,

View File

@ -84,12 +84,12 @@ public class Event extends ContentItem implements Serializable {
private LocalizedString text;
@Column(name = "START_DATE", nullable = false)
@Temporal(TemporalType.DATE)
@Temporal(TemporalType.TIMESTAMP)
@NotNull
private Date startDate;
@Column(name = "END_DATE")
@Temporal(TemporalType.DATE)
@Temporal(TemporalType.TIMESTAMP)
private Date endDate;
/**

View File

@ -0,0 +1,5 @@
ALTER TABLE ccm_cms.events ALTER COLUMN start_date timestamp;
ALTER TABLE ccm_cms.events ALTER COLUMN end_date timestamp;
ALTER TABLE ccm_cms.events_aud ALTER COLUMN start_date TYPE timestamp;
ALTER TABLE ccm_cms.events_aud ALTER COLUMN end_date TYPE timestamp;

View File

@ -0,0 +1,5 @@
ALTER TABLE ccm_cms.events ALTER COLUMN start_date TYPE timestamp;
ALTER TABLE ccm_cms.events ALTER COLUMN end_date TYPE timestamp;
ALTER TABLE ccm_cms.events_aud ALTER COLUMN start_date TYPE timestamp;
ALTER TABLE ccm_cms.events_aud ALTER COLUMN end_date TYPE timestamp;

View File

@ -346,3 +346,4 @@ cms.contenttypes.ui.event.main_contributor=Main contributor
cms.contenttypes.ui.event.event_type=Event type
cms.contenttypes.ui.event.link_to_map=Link to map
cms.contenttypes.ui.event.cost=Cost
cms.contenttypes.ui.event.end_date_after_start_date=The end date must be later then the start date

View File

@ -343,3 +343,4 @@ cms.contenttypes.ui.event.main_contributor=Ansprechpartner
cms.contenttypes.ui.event.event_type=Art der Veranstaltung
cms.contenttypes.ui.event.link_to_map=Link zur Karte
cms.contenttypes.ui.event.cost=Kosten
cms.contenttypes.ui.event.end_date_after_start_date=Das End-Datum muss nach dem Start-Datum liegen.

View File

@ -302,3 +302,4 @@ cms.contenttypes.ui.event.main_contributor=Main contributor
cms.contenttypes.ui.event.event_type=Event type
cms.contenttypes.ui.event.link_to_map=Link to map
cms.contenttypes.ui.event.cost=Cost
cms.contenttypes.ui.event.end_date_after_start_date=The end date must be later then the start date

View File

@ -453,9 +453,9 @@ create schema CCM_CORE;
);
create table CCM_CMS.EVENTS (
END_DATE date,
END_DATE timestamp,
MAP_LINK varchar(255),
START_DATE date not null,
START_DATE timestamp not null,
OBJECT_ID bigint not null,
primary key (OBJECT_ID)
);
@ -463,9 +463,9 @@ create schema CCM_CORE;
create table CCM_CMS.EVENTS_AUD (
OBJECT_ID bigint not null,
REV integer not null,
END_DATE date,
END_DATE timestamp,
MAP_LINK varchar(255),
START_DATE date,
START_DATE timestamp,
primary key (OBJECT_ID, REV)
);

View File

@ -454,9 +454,9 @@ create schema CCM_CORE;
);
create table CCM_CMS.EVENTS (
END_DATE date,
END_DATE timestamp,
MAP_LINK varchar(255),
START_DATE date not null,
START_DATE timestamp not null,
OBJECT_ID int8 not null,
primary key (OBJECT_ID)
);
@ -464,9 +464,9 @@ create schema CCM_CORE;
create table CCM_CMS.EVENTS_AUD (
OBJECT_ID int8 not null,
REV int4 not null,
END_DATE date,
END_DATE timestamp,
MAP_LINK varchar(255),
START_DATE date,
START_DATE timestamp,
primary key (OBJECT_ID, REV)
);