diff --git a/ccm-sci-project-navigation/web/themes/freemarker/ccm-sci-project-navigation.ftl b/ccm-sci-project-navigation/web/themes/freemarker/ccm-sci-project-navigation.ftl index 2bde7a60a..fc14cfe6b 100644 --- a/ccm-sci-project-navigation/web/themes/freemarker/ccm-sci-project-navigation.ftl +++ b/ccm-sci-project-navigation/web/themes/freemarker/ccm-sci-project-navigation.ftl @@ -114,11 +114,11 @@ <#function getProjectMemberSurname member> - <#return member["./surname"]> + <#return member["./@surname"]> <#function getProjectMemberGivenname member> - <#return member["./givenname"]> + <#return member["./@givenname"]> diff --git a/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java b/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java index 1166b7d8e..77c9f5c9c 100644 --- a/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java +++ b/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java @@ -20,10 +20,12 @@ import freemarker.cache.TemplateLoader; import freemarker.cache.WebappTemplateLoader; import freemarker.ext.dom.NodeModel; import freemarker.template.Configuration; +import freemarker.template.SimpleNumber; import freemarker.template.Template; import freemarker.template.TemplateException; import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; +import freemarker.template.TemplateNumberModel; import freemarker.template.TemplateScalarModel; import org.libreccm.theming.manifest.DateFormat; import org.libreccm.theming.manifest.ThemeManifest; @@ -463,31 +465,55 @@ public class FreeMarkerPresentationManager implements PresentationManager { final String style = ((TemplateScalarModel) list .get(0)) .getAsString(); - final String yearParam = ((TemplateScalarModel) list - .get(1)) - .getAsString(); - final String monthParam = ((TemplateScalarModel) list - .get(2)) - .getAsString(); - final String dayOfMonthParam = ((TemplateScalarModel) list - .get(3)) - .getAsString(); - final String hourParam = ((TemplateScalarModel) list - .get(4)) - .getAsString(); - final String minuteParam = ((TemplateScalarModel) list - .get(5)) - .getAsString(); - final String secondParam = ((TemplateScalarModel) list - .get(6)) - .getAsString(); +// final String yearParam = ((TemplateScalarModel) list +// .get(1)) +// .getAsString(); +// final String monthParam = ((TemplateScalarModel) list +// .get(2)) +// .getAsString(); +// final String dayOfMonthParam = ((TemplateScalarModel) list +// .get(3)) +// .getAsString(); +// final String hourParam = ((TemplateScalarModel) list +// .get(4)) +// .getAsString(); +// final String minuteParam = ((TemplateScalarModel) list +// .get(5)) +// .getAsString(); +// final String secondParam = ((TemplateScalarModel) list +// .get(6)) +// .getAsString(); - final int year = Integer.parseInt(yearParam); - final int month = Integer.parseInt(monthParam); - final int dayOfMonth = Integer.parseInt(dayOfMonthParam); - final int hour = Integer.parseInt(hourParam); - final int minute = Integer.parseInt(minuteParam); - final int second = Integer.parseInt(secondParam); +// final int year = Integer.parseInt(yearParam); +// final int month = Integer.parseInt(monthParam); +// final int dayOfMonth = Integer.parseInt(dayOfMonthParam); +// final int hour = Integer.parseInt(hourParam); +// final int minute = Integer.parseInt(minuteParam); +// final int second = Integer.parseInt(secondParam); + final int year = ((TemplateNumberModel) list + .get(1)) + .getAsNumber() + .intValue(); + final int month = ((TemplateNumberModel) list + .get(2)) + .getAsNumber() + .intValue(); + final int dayOfMonth = ((TemplateNumberModel) list + .get(3)) + .getAsNumber() + .intValue(); + final int hour = ((TemplateNumberModel) list + .get(4)) + .getAsNumber() + .intValue(); + final int minute = ((TemplateNumberModel) list + .get(5)) + .getAsNumber() + .intValue(); + final int second = ((TemplateNumberModel) list + .get(6)) + .getAsNumber() + .intValue(); final String format = findFormat(dateFormats, style, locale) .orElse("YYYY-MM-dd"); diff --git a/ccm-themedirector/web/themes/freemarker/utils.ftl b/ccm-themedirector/web/themes/freemarker/utils.ftl index a2402f223..b6b424b7d 100644 --- a/ccm-themedirector/web/themes/freemarker/utils.ftl +++ b/ccm-themedirector/web/themes/freemarker/utils.ftl @@ -35,11 +35,11 @@ <#function formatDateTime style date> - <#assign year = (date["./@year"]?size > 0)?then(date["./@year"], 0)> - <#assign month = (date["./@month"]?size > 0)?then(date["./@month"], 0)> - <#assign day = (date["./@day"]?size > 0)?then(date["./@day"], 0)> - <#assign hour = (date["./@hour"]?size > 0)?then(date["./@hour"], 0)> - <#assign minute = (date["./@minute"]?size > 0)?then(date["./@minute"], 0)> - <#assign second = (date["./@second"]?size > 0)?then(date["./@second"], 0)> + <#assign year = (date["./@year"]?size > 0)?then(date["./@year"]?number, 0)> + <#assign month = (date["./@month"]?size > 0)?then(date["./@month"]?number + 1, 0)> + <#assign day = (date["./@day"]?size > 0)?then(date["./@day"]?number, 0)> + <#assign hour = (date["./@hour"]?size > 0)?then(date["./@hour"]?number, 0)> + <#assign minute = (date["./@minute"]?size > 0)?then(date["./@minute"]?number, 0)> + <#assign second = (date["./@second"]?size > 0)?then(date["./@second"]?number, 0)> <#return _formatDateTime(style, year, month, day, hour, minute, second)> \ No newline at end of file