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
ccm-docs
jensp 2017-07-05 07:24:55 +00:00
parent eb396238e6
commit 8ee4cdd08d
10 changed files with 73 additions and 19 deletions

View File

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

View File

@ -71,12 +71,14 @@ public class EventPropertyForm
FormInitListener, FormInitListener,
FormSubmissionListener { FormSubmissionListener {
private final static Logger LOGGER = LogManager
.getLogger(EventPropertyForm.class);
/** /**
* Name of this form * Name of this form
*/ */
public static final String ID = "event_edit"; public static final String ID = "event_edit";
private final static Logger LOGGER = LogManager
.getLogger(EventPropertyForm.class);
private EventPropertiesStep eventPropertiesStep; private EventPropertiesStep eventPropertiesStep;
/** /**
* event date parameter name * event date parameter name
@ -516,13 +518,52 @@ public class EventPropertyForm
final java.util.Date startDate = (java.util.Date) data final java.util.Date startDate = (java.util.Date) data
.get(START_DATE); .get(START_DATE);
startDate.setTime(((java.util.Date) data.get(START_TIME)).getTime()); final java.util.Date startTime = (java.util.Date) data
item.setStartDate((java.util.Date) data.get(START_DATE)); .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 java.util.Date endDate = (java.util.Date) data final Calendar startDateCal = Calendar.getInstance();
.get(END_DATE); final Calendar startTimeCal = Calendar.getInstance();
endDate.setTime(((java.util.Date) data.get(END_TIME)).getTime()); final Calendar endDateCal = Calendar.getInstance();
item.setEndDate((java.util.Date) data.get(END_DATE)); 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();
item.setStartDate(startDateTime);
item.setEndDate(endDateTime);
//date_description //date_description
if (!eventConfig.isHideDateDescription()) { if (!eventConfig.isHideDateDescription()) {
item.getEventDate().addValue(selectedLocale, item.getEventDate().addValue(selectedLocale,

View File

@ -84,12 +84,12 @@ public class Event extends ContentItem implements Serializable {
private LocalizedString text; private LocalizedString text;
@Column(name = "START_DATE", nullable = false) @Column(name = "START_DATE", nullable = false)
@Temporal(TemporalType.DATE) @Temporal(TemporalType.TIMESTAMP)
@NotNull @NotNull
private Date startDate; private Date startDate;
@Column(name = "END_DATE") @Column(name = "END_DATE")
@Temporal(TemporalType.DATE) @Temporal(TemporalType.TIMESTAMP)
private Date endDate; 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.event_type=Event type
cms.contenttypes.ui.event.link_to_map=Link to map cms.contenttypes.ui.event.link_to_map=Link to map
cms.contenttypes.ui.event.cost=Cost 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.event_type=Art der Veranstaltung
cms.contenttypes.ui.event.link_to_map=Link zur Karte cms.contenttypes.ui.event.link_to_map=Link zur Karte
cms.contenttypes.ui.event.cost=Kosten 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.event_type=Event type
cms.contenttypes.ui.event.link_to_map=Link to map cms.contenttypes.ui.event.link_to_map=Link to map
cms.contenttypes.ui.event.cost=Cost 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 ( create table CCM_CMS.EVENTS (
END_DATE date, END_DATE timestamp,
MAP_LINK varchar(255), MAP_LINK varchar(255),
START_DATE date not null, START_DATE timestamp not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
primary key (OBJECT_ID) primary key (OBJECT_ID)
); );
@ -463,9 +463,9 @@ create schema CCM_CORE;
create table CCM_CMS.EVENTS_AUD ( create table CCM_CMS.EVENTS_AUD (
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
REV integer not null, REV integer not null,
END_DATE date, END_DATE timestamp,
MAP_LINK varchar(255), MAP_LINK varchar(255),
START_DATE date, START_DATE timestamp,
primary key (OBJECT_ID, REV) primary key (OBJECT_ID, REV)
); );

View File

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