Anpassung für DateWidgets in Event, so daß das Jahresfeld per Parameter eingestellt werden kann. Es läßt sich das Anfangsjahr einstellen und ein Deltawert für das Endjahr definieren.

git-svn-id: https://svn.libreccm.org/ccm/trunk@266 8810af33-2d31-482b-a856-94f89814c4df
master
quasi 2009-09-22 13:03:26 +00:00
parent 59abb7db2e
commit 7d890164ad
3 changed files with 82 additions and 41 deletions

View File

@ -21,6 +21,9 @@ package com.arsdigita.cms.contenttypes;
import com.arsdigita.runtime.AbstractConfig;
import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.BooleanParameter;
import com.arsdigita.util.parameter.IntegerParameter;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class EventConfig extends AbstractConfig {
@ -30,65 +33,85 @@ public class EventConfig extends AbstractConfig {
private final Parameter m_hideLinkToMap;
private final Parameter m_hideCost;
private final Parameter m_useHtmlDateDescription;
private final Parameter m_startYear;
private final Parameter m_endYearDelta;
public EventConfig() {
m_hideDateDescription = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_date_description",
Parameter.REQUIRED,
new Boolean(false));
"com.arsdigita.cms.contenttypes.event.hide_date_description",
Parameter.REQUIRED,
new Boolean(false));
m_hideMainContributor = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_main_contributor",
Parameter.REQUIRED,
new Boolean(false));
m_hideMainContributor = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_main_contributor",
Parameter.REQUIRED,
new Boolean(false));
m_hideEventType = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_event_type",
Parameter.REQUIRED,
new Boolean(false));
m_hideEventType = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_event_type",
Parameter.REQUIRED,
new Boolean(false));
m_hideLinkToMap = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_link_to_map",
Parameter.REQUIRED,
new Boolean(false));
m_hideLinkToMap = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_link_to_map",
Parameter.REQUIRED,
new Boolean(false));
m_hideCost = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_cost",
Parameter.REQUIRED,
new Boolean(false));
m_hideCost = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.hide_cost",
Parameter.REQUIRED,
new Boolean(false));
m_useHtmlDateDescription = new BooleanParameter(
"com.arsdigita.cms.contenttypes.event.use_html_date_description",
Parameter.REQUIRED,
new Boolean(true)); // depricated, may be false in future releases
"com.arsdigita.cms.contenttypes.event.use_html_date_description",
Parameter.REQUIRED,
new Boolean(true)); // depricated, may be false in future releases
m_startYear = new IntegerParameter(
"com.arsdigita.cms.contenttypes.event.start_year",
Parameter.REQUIRED,
new Integer(GregorianCalendar.getInstance().get(Calendar.YEAR) - 1));
m_endYearDelta = new IntegerParameter(
"com.arsdigita.cms.contenttypes.event.end_year_delta",
Parameter.REQUIRED,
new Integer(3));
register(m_hideDateDescription);
register(m_hideMainContributor);
register(m_hideEventType);
register(m_hideLinkToMap);
register(m_hideCost);
register(m_hideMainContributor);
register(m_hideEventType);
register(m_hideLinkToMap);
register(m_hideCost);
register(m_useHtmlDateDescription);
register(m_startYear);
register(m_endYearDelta);
loadInfo();
}
public final boolean getHideDateDescription() {
return ((Boolean) get(m_hideDateDescription)).booleanValue();
return ((Boolean) get(m_hideDateDescription)).booleanValue();
}
public final boolean getHideMainContributor() {
return ((Boolean) get(m_hideMainContributor)).booleanValue();
return ((Boolean) get(m_hideMainContributor)).booleanValue();
}
public final boolean getHideEventType() {
return ((Boolean) get(m_hideEventType)).booleanValue();
return ((Boolean) get(m_hideEventType)).booleanValue();
}
public final boolean getHideLinkToMap() {
return ((Boolean) get(m_hideLinkToMap)).booleanValue();
return ((Boolean) get(m_hideLinkToMap)).booleanValue();
}
public final boolean getHideCost() {
return ((Boolean) get(m_hideCost)).booleanValue();
return ((Boolean) get(m_hideCost)).booleanValue();
}
public final boolean getUseHtmlDateDescription() {
return ((Boolean) get(m_useHtmlDateDescription)).booleanValue();
return ((Boolean) get(m_useHtmlDateDescription)).booleanValue();
}
public final int getStartYear() {
return ((Integer) get(m_startYear)).intValue();
}
public final int getEndYearDelta() {
return ((Integer) get(m_endYearDelta)).intValue();
}
}

View File

@ -27,3 +27,14 @@ com.arsdigita.cms.contenttypes.event.use_html_date_description.title=Use HTML fo
com.arsdigita.cms.contenttypes.event.use_html_date_description.purpose=Use the HTML Editor to edit the Date Description. Current default is true for backwards compatibility, but may be false in future releases.
com.arsdigita.cms.contenttypes.event.use_html_date_description.example=true
com.arsdigita.cms.contenttypes.event.use_html_date_description.format=[boolean]
com.arsdigita.cms.contenttypes.event.start_year.title=Start Year
com.arsdigita.cms.contenttypes.event.start_year.purpose=Start year for the year select box
com.arsdigita.cms.contenttypes.event.start_year.example=2008
com.arsdigita.cms.contenttypes.event.start_year.format=[integer]
com.arsdigita.cms.contenttypes.event.end_year_delta.title=End Year
com.arsdigita.cms.contenttypes.event.end_year_delta.purpose=End year delta for the year select box
com.arsdigita.cms.contenttypes.event.end_year_delta.example=3
com.arsdigita.cms.contenttypes.event.end_year_delta.format=[integer]

View File

@ -41,6 +41,8 @@ import com.arsdigita.cms.contenttypes.Event;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil;
import com.arsdigita.cms.ui.CMSDHTMLEditor;
import java.util.Calendar;
import java.util.GregorianCalendar;
/**
* Form to edit the basic properties of an <code>Event</code> object. Used by
@ -127,6 +129,9 @@ public class EventPropertyForm extends BasicPageForm
// Use bebop date instead of java.util.date
com.arsdigita.bebop.form.Date startDate
= new com.arsdigita.bebop.form.Date(eventStartDateParam);
// Set the upper und lower boundary of the year select box
startDate.setYearRange(Event.getConfig().getStartYear(),
GregorianCalendar.getInstance().get(Calendar.YEAR) + Event.getConfig().getEndYearDelta());
add(startDate);
ParameterModel eventStartTimeParam = new TimeParameter(START_TIME);
@ -143,6 +148,8 @@ public class EventPropertyForm extends BasicPageForm
// 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(),
GregorianCalendar.getInstance().get(Calendar.YEAR) + Event.getConfig().getEndYearDelta());
add(endDate);
ParameterModel eventEndTimeParam = new TimeParameter(END_TIME);