CT Event
Event kann nun bearbeitet werden, ohne daß die Jahresangaben des Start- und Enddatum sich ändern, weil sie nicht (mehr) im definierten Bereich der Jahreszahlen liegen. git-svn-id: https://svn.libreccm.org/ccm/trunk@703 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
ebbc22fbd5
commit
d63957b617
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
|
||||
import com.arsdigita.bebop.FormData;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.Label;
|
||||
|
|
@ -55,19 +54,15 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
/** Name of this form */
|
||||
public static final String ID = "event_edit";
|
||||
|
||||
private final static org.apache.log4j.Logger s_log =
|
||||
org.apache.log4j.Logger.getLogger(EventPropertyForm.class);
|
||||
|
||||
private EventPropertiesStep m_step;
|
||||
|
||||
/** event date parameter name */
|
||||
public static final String START_DATE = "startDate";
|
||||
public static final String END_DATE = "endDate";
|
||||
public static final String START_TIME = "startTime";
|
||||
public static final String END_TIME = "endTime";
|
||||
public static final String EVENT_DATE = "eventDate";
|
||||
|
||||
/** location parameter name */
|
||||
public static final String LOCATION = "location";
|
||||
/** lead parameter name */
|
||||
|
|
@ -81,6 +76,10 @@ public class EventPropertyForm extends BasicPageForm
|
|||
/** cost parameter name */
|
||||
public static final String COST = "cost";
|
||||
|
||||
/* DateWidgets have to be accessible later on */
|
||||
private com.arsdigita.bebop.form.Date m_startDate;
|
||||
private com.arsdigita.bebop.form.Date m_endDate;
|
||||
|
||||
/**
|
||||
* Creates a new form to edit the Event object specified by the item
|
||||
* selection model passed in.
|
||||
|
|
@ -88,9 +87,10 @@ public class EventPropertyForm extends BasicPageForm
|
|||
* @param itemModel The ItemSelectionModel to use to obtain the Event to
|
||||
* work on
|
||||
**/
|
||||
public EventPropertyForm( ItemSelectionModel itemModel ) {
|
||||
this(itemModel,null);
|
||||
public EventPropertyForm(ItemSelectionModel itemModel) {
|
||||
this(itemModel, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new form to edit the Event object specified by the item
|
||||
* selection model passed in.
|
||||
|
|
@ -99,8 +99,8 @@ public class EventPropertyForm extends BasicPageForm
|
|||
* work on
|
||||
* @param step The EventPropertiesStep which controls this form.
|
||||
**/
|
||||
public EventPropertyForm( ItemSelectionModel itemModel, EventPropertiesStep step ) {
|
||||
super( ID, itemModel );
|
||||
public EventPropertyForm(ItemSelectionModel itemModel, EventPropertiesStep step) {
|
||||
super(ID, itemModel);
|
||||
m_step = step;
|
||||
addSubmissionListener(this);
|
||||
}
|
||||
|
|
@ -112,8 +112,7 @@ public class EventPropertyForm extends BasicPageForm
|
|||
super.addWidgets();
|
||||
|
||||
/* Summary (lead) */
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.lead").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead").localize()));
|
||||
ParameterModel leadParam = new StringParameter(LEAD);
|
||||
//leadParam
|
||||
// .addParameterListener(new NotNullValidationListener());
|
||||
|
|
@ -123,57 +122,49 @@ public class EventPropertyForm extends BasicPageForm
|
|||
add(lead);
|
||||
/* Start date and time */
|
||||
ParameterModel eventStartDateParam = new DateParameter(START_DATE);
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.start_date").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_date").localize()));
|
||||
eventStartDateParam.addParameterListener(new NotNullValidationListener());
|
||||
// Use bebop date instead of java.util.date
|
||||
com.arsdigita.bebop.form.Date startDate
|
||||
= new com.arsdigita.bebop.form.Date(eventStartDateParam);
|
||||
m_startDate = new com.arsdigita.bebop.form.Date(eventStartDateParam);
|
||||
// Set the upper und lower boundary of the year select box
|
||||
startDate.setYearRange(Event.getConfig().getStartYear(),
|
||||
m_startDate.setYearRange(Event.getConfig().getStartYear(),
|
||||
GregorianCalendar.getInstance().get(Calendar.YEAR) + Event.getConfig().getEndYearDelta());
|
||||
add(startDate);
|
||||
add(m_startDate);
|
||||
|
||||
ParameterModel eventStartTimeParam = new TimeParameter(START_TIME);
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.start_time").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time").localize()));
|
||||
eventStartTimeParam.addParameterListener(new NotNullValidationListener());
|
||||
Time startTime = new Time(eventStartTimeParam);
|
||||
add(startTime);
|
||||
|
||||
/* End date and time */
|
||||
ParameterModel eventEndDateParam = new DateParameter(END_DATE);
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.end_date").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_date").localize()));
|
||||
// Use bebop date instead of java.util.date
|
||||
com.arsdigita.bebop.form.Date endDate
|
||||
= new com.arsdigita.bebop.form.Date(eventEndDateParam);
|
||||
endDate.setYearRange(Event.getConfig().getStartYear(),
|
||||
m_endDate = new com.arsdigita.bebop.form.Date(eventEndDateParam);
|
||||
m_endDate.setYearRange(Event.getConfig().getStartYear(),
|
||||
GregorianCalendar.getInstance().get(Calendar.YEAR) + Event.getConfig().getEndYearDelta());
|
||||
add(endDate);
|
||||
add(m_endDate);
|
||||
|
||||
ParameterModel eventEndTimeParam = new TimeParameter(END_TIME);
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.end_time").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_time").localize()));
|
||||
Time endTime = new Time(eventEndTimeParam);
|
||||
add(endTime);
|
||||
|
||||
|
||||
/* optional additional / literal date description */
|
||||
if(!Event.getConfig().getHideDateDescription()) {
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.date_description").localize()));
|
||||
if (!Event.getConfig().getHideDateDescription()) {
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.date_description").localize()));
|
||||
ParameterModel eventDateParam = new StringParameter(EVENT_DATE);
|
||||
//eventDateParam
|
||||
// .addParameterListener(new NotNullValidationListener());
|
||||
if(Event.getConfig().getUseHtmlDateDescription()) {
|
||||
if (Event.getConfig().getUseHtmlDateDescription()) {
|
||||
CMSDHTMLEditor eventDate = new CMSDHTMLEditor(eventDateParam);
|
||||
eventDate.setCols(40);
|
||||
eventDate.setRows(8);
|
||||
add(eventDate);
|
||||
}
|
||||
else {
|
||||
eventDateParam.addParameterListener( new StringInRangeValidationListener(0, 100) );
|
||||
} else {
|
||||
eventDateParam.addParameterListener(new StringInRangeValidationListener(0, 100));
|
||||
TextArea eventDate = new TextArea(eventDateParam);
|
||||
eventDate.setCols(50);
|
||||
eventDate.setRows(2);
|
||||
|
|
@ -183,8 +174,7 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
|
||||
/* extensive description of location */
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.location").localize()));
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.location").localize()));
|
||||
ParameterModel locationParam = new StringParameter(LOCATION);
|
||||
//locationParam
|
||||
// .addParameterListener(new NotNullValidationListener());
|
||||
|
|
@ -195,9 +185,8 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
|
||||
/* optional: main contributor */
|
||||
if(!Event.getConfig().getHideMainContributor()) {
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.main_contributor").localize()));
|
||||
if (!Event.getConfig().getHideMainContributor()) {
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.main_contributor").localize()));
|
||||
ParameterModel mainContributorParam =
|
||||
new StringParameter(MAIN_CONTRIBUTOR);
|
||||
//mainContributorParam
|
||||
|
|
@ -210,9 +199,8 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
|
||||
/* optional: event type */
|
||||
if(!Event.getConfig().getHideEventType()) {
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.event_type").localize()));
|
||||
if (!Event.getConfig().getHideEventType()) {
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.event_type").localize()));
|
||||
ParameterModel eventTypeParam = new StringParameter(EVENT_TYPE);
|
||||
//eventTypeParam
|
||||
// .addParameterListener(new NotNullValidationListener());
|
||||
|
|
@ -224,9 +212,8 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
|
||||
/* optional: link to map */
|
||||
if(!Event.getConfig().getHideLinkToMap()) {
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.link_to_map").localize()));
|
||||
if (!Event.getConfig().getHideLinkToMap()) {
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.link_to_map").localize()));
|
||||
ParameterModel mapLinkParam = new StringParameter(MAP_LINK);
|
||||
//mapLinkParam
|
||||
// .addParameterListener(new NotNullValidationListener());
|
||||
|
|
@ -238,9 +225,8 @@ public class EventPropertyForm extends BasicPageForm
|
|||
|
||||
|
||||
/* optional: costs */
|
||||
if(!Event.getConfig().getHideCost()) {
|
||||
add(new Label((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.cost").localize()));
|
||||
if (!Event.getConfig().getHideCost()) {
|
||||
add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.cost").localize()));
|
||||
ParameterModel costParam = new TrimmedStringParameter(COST);
|
||||
TextField cost = new TextField(costParam);
|
||||
cost.setSize(30);
|
||||
|
|
@ -258,57 +244,58 @@ public class EventPropertyForm extends BasicPageForm
|
|||
if (endDate != null) {
|
||||
|
||||
if (startDate == null || startDate.compareTo(endDate) > 0) {
|
||||
throw new FormProcessException((String)EventGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.event.end_date_after_start_date").localize());
|
||||
throw new FormProcessException((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_date_after_start_date").localize());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/** Form initialisation hook. Fills widgets with data. */
|
||||
public void init(FormSectionEvent fse) {
|
||||
// Do some initialization hook stuff
|
||||
FormData data = fse.getFormData();
|
||||
Event event
|
||||
= (Event) super.initBasicWidgets(fse);
|
||||
Event event = (Event) super.initBasicWidgets(fse);
|
||||
|
||||
// Start date should always be set
|
||||
java.util.Date startDate = event.getStartDate();
|
||||
if (startDate == null) {
|
||||
// new Date is initialised to current time
|
||||
startDate = new java.util.Date();
|
||||
}
|
||||
m_startDate.addYear(startDate);
|
||||
|
||||
// End date can be null
|
||||
java.util.Date endDate = event.getEndDate();
|
||||
if (endDate != null) {
|
||||
m_endDate.addYear(endDate);
|
||||
}
|
||||
|
||||
data.put(LEAD, event.getLead());
|
||||
data.put(START_DATE, startDate);
|
||||
data.put(START_TIME, event.getStartTime());
|
||||
// End date can be null
|
||||
data.put(END_DATE, event.getEndDate());
|
||||
data.put(END_TIME, event.getEndTime());
|
||||
if(!Event.getConfig().getHideDateDescription()) {
|
||||
if (!Event.getConfig().getHideDateDescription()) {
|
||||
data.put(EVENT_DATE, event.getEventDate());
|
||||
}
|
||||
data.put(LOCATION, event.getLocation());
|
||||
if(!Event.getConfig().getHideMainContributor()) {
|
||||
if (!Event.getConfig().getHideMainContributor()) {
|
||||
data.put(MAIN_CONTRIBUTOR, event.getMainContributor());
|
||||
}
|
||||
if(!Event.getConfig().getHideEventType()) {
|
||||
if (!Event.getConfig().getHideEventType()) {
|
||||
data.put(EVENT_TYPE, event.getEventType());
|
||||
}
|
||||
if(!Event.getConfig().getHideLinkToMap()) {
|
||||
if (!Event.getConfig().getHideLinkToMap()) {
|
||||
data.put(MAP_LINK, event.getMapLink());
|
||||
}
|
||||
if(!Event.getConfig().getHideCost()) {
|
||||
if (!Event.getConfig().getHideCost()) {
|
||||
data.put(COST, event.getCost());
|
||||
}
|
||||
}
|
||||
|
||||
/** Cancels streamlined editing. */
|
||||
public void submitted( FormSectionEvent fse ) {
|
||||
if (m_step != null &&
|
||||
getSaveCancelSection().getCancelButton()
|
||||
.isSelected( fse.getPageState())) {
|
||||
public void submitted(FormSectionEvent fse) {
|
||||
if (m_step != null
|
||||
&& getSaveCancelSection().getCancelButton().isSelected(fse.getPageState())) {
|
||||
m_step.cancelStreamlinedCreation(fse.getPageState());
|
||||
}
|
||||
}
|
||||
|
|
@ -317,35 +304,33 @@ public class EventPropertyForm extends BasicPageForm
|
|||
public void process(FormSectionEvent fse) {
|
||||
FormData data = fse.getFormData();
|
||||
|
||||
Event event
|
||||
= (Event) super.processBasicWidgets(fse);
|
||||
Event event = (Event) super.processBasicWidgets(fse);
|
||||
|
||||
// save only if save button was pressed
|
||||
if (event != null
|
||||
&& getSaveCancelSection().getSaveButton()
|
||||
.isSelected(fse.getPageState())) {
|
||||
&& getSaveCancelSection().getSaveButton().isSelected(fse.getPageState())) {
|
||||
|
||||
event.setStartDate((java.util.Date) data.get(START_DATE));
|
||||
event.setStartTime((java.util.Date) data.get(START_TIME));
|
||||
event.setEndDate((java.util.Date) data.get(END_DATE));
|
||||
event.setEndTime((java.util.Date) data.get(END_TIME));
|
||||
//date_description
|
||||
if(!Event.getConfig().getHideDateDescription()) {
|
||||
if (!Event.getConfig().getHideDateDescription()) {
|
||||
event.setEventDate((String) data.get(EVENT_DATE));
|
||||
}
|
||||
|
||||
if(!Event.getConfig().getHideMainContributor()) {
|
||||
if (!Event.getConfig().getHideMainContributor()) {
|
||||
event.setMainContributor((String) data.get(MAIN_CONTRIBUTOR));
|
||||
}
|
||||
if(!Event.getConfig().getHideEventType()) {
|
||||
if (!Event.getConfig().getHideEventType()) {
|
||||
event.setEventType((String) data.get(EVENT_TYPE));
|
||||
}
|
||||
if(!Event.getConfig().getHideLinkToMap()) {
|
||||
if (!Event.getConfig().getHideLinkToMap()) {
|
||||
event.setMapLink((String) data.get(MAP_LINK));
|
||||
}
|
||||
event.setLocation((String) data.get(LOCATION));
|
||||
event.setLead((String) data.get(LEAD));
|
||||
if(!Event.getConfig().getHideCost()) {
|
||||
if (!Event.getConfig().getHideCost()) {
|
||||
event.setCost((String) data.get(COST));
|
||||
}
|
||||
event.save();
|
||||
|
|
|
|||
Loading…
Reference in New Issue