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.runtime.AbstractConfig;
import com.arsdigita.util.parameter.Parameter; import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.BooleanParameter; 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 { public class EventConfig extends AbstractConfig {
@ -30,6 +33,8 @@ public class EventConfig extends AbstractConfig {
private final Parameter m_hideLinkToMap; private final Parameter m_hideLinkToMap;
private final Parameter m_hideCost; private final Parameter m_hideCost;
private final Parameter m_useHtmlDateDescription; private final Parameter m_useHtmlDateDescription;
private final Parameter m_startYear;
private final Parameter m_endYearDelta;
public EventConfig() { public EventConfig() {
m_hideDateDescription = new BooleanParameter( m_hideDateDescription = new BooleanParameter(
@ -62,12 +67,24 @@ public class EventConfig extends AbstractConfig {
Parameter.REQUIRED, Parameter.REQUIRED,
new Boolean(true)); // depricated, may be false in future releases 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_hideDateDescription);
register(m_hideMainContributor); register(m_hideMainContributor);
register(m_hideEventType); register(m_hideEventType);
register(m_hideLinkToMap); register(m_hideLinkToMap);
register(m_hideCost); register(m_hideCost);
register(m_useHtmlDateDescription); register(m_useHtmlDateDescription);
register(m_startYear);
register(m_endYearDelta);
loadInfo(); loadInfo();
} }
@ -90,5 +107,11 @@ public class EventConfig extends AbstractConfig {
public final boolean getUseHtmlDateDescription() { 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.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.example=true
com.arsdigita.cms.contenttypes.event.use_html_date_description.format=[boolean] 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.ui.authoring.BasicPageForm;
import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil; import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil;
import com.arsdigita.cms.ui.CMSDHTMLEditor; 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 * 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 // Use bebop date instead of java.util.date
com.arsdigita.bebop.form.Date startDate com.arsdigita.bebop.form.Date startDate
= new com.arsdigita.bebop.form.Date(eventStartDateParam); = 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); add(startDate);
ParameterModel eventStartTimeParam = new TimeParameter(START_TIME); ParameterModel eventStartTimeParam = new TimeParameter(START_TIME);
@ -143,6 +148,8 @@ public class EventPropertyForm extends BasicPageForm
// Use bebop date instead of java.util.date // Use bebop date instead of java.util.date
com.arsdigita.bebop.form.Date endDate com.arsdigita.bebop.form.Date endDate
= new com.arsdigita.bebop.form.Date(eventEndDateParam); = new com.arsdigita.bebop.form.Date(eventEndDateParam);
endDate.setYearRange(Event.getConfig().getStartYear(),
GregorianCalendar.getInstance().get(Calendar.YEAR) + Event.getConfig().getEndYearDelta());
add(endDate); add(endDate);
ParameterModel eventEndTimeParam = new TimeParameter(END_TIME); ParameterModel eventEndTimeParam = new TimeParameter(END_TIME);