diff --git a/webapp/web/templates/freemarker/widgets/edit/DateTimeWithPrecision.ftl b/webapp/web/templates/freemarker/widgets/edit/DateTimeWithPrecision.ftl new file mode 100644 index 000000000..403d909a9 --- /dev/null +++ b/webapp/web/templates/freemarker/widgets/edit/DateTimeWithPrecision.ftl @@ -0,0 +1,276 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- This is an example of how we could call this macro from a custom form if we end up +implementing this like the other freemarker "widgets". For now I just have this here as +an example and I didn't really see any other way to get the jsp custom forms to call +this at the moment. Needless to say, we need to be able to call the macro and pass +parameters from within the original custom form --> + +<@dateTime specificity="${precision}" required="${requiredMinimumPrecision}" /> + +<#macro dateTime specificity="full" required=specificity> + <#assign specLevel = 10 /> + <#assign reqLevel = 10 /> + <#if specificity == "${precisions.year}"> + <#assign specLevel = 1 /> + <#elseif specificity == "${precisions.month}"> + <#assign specLevel = 2 /> + <#-- allow to specify year, month and day using "date" --> + <#elseif specificity == "${precisions.day}" || specificity == "date"> + <#assign specLevel = 3 /> + <#elseif specificity == "${precisions.hour}"> + <#assign specLevel = 4 /> + <#-- allow to specify hours and minutes using "time" --> + <#elseif specificity == "${precisions.minute}" || specificity == "time"> + <#assign specLevel = 5 /> + <#elseif specificity == "${precisions.second}"> + <#assign specLevel = 6 /> + #if> + <#if required == "${precisions.year}"> + <#assign reqLevel = 1 /> + <#elseif required == "${precisions.month}"> + <#assign reqLevel = 2 /> + <#-- allow to require year, month and day using "date" --> + <#elseif required == "${precisions.day}" || required == "date"> + <#assign reqLevel = 3 /> + <#elseif required == "${precisions.hour}"> + <#assign reqLevel = 4 /> + <#-- allow to require hours and minutes using "time" --> + <#elseif required == "${precisions.minute}" || required == "time"> + <#assign reqLevel = 5 /> + <#elseif required == "${precisions.second}"> + <#assign reqLevel = 6 /> + <#elseif required == "${precisions.none}"> + <#assign reqLevel = 0 /> + #if> + +
+#macro> \ No newline at end of file