Hi Joris
I think there is no "good" solution in Velocity. I would do it in a
Java component. If you do not want to write a component you could use
Groovy alternatively. There you have the possibility of while.
If it has to be Velocity you could write a DB query which gets you all
your IssueXYZ documents. From those you can get the highest number and
increment your result.
Hope this helps
Edo
On Wed, Jan 11, 2012 at 3:36 PM, Joris Dirks <joris(a)user.stekje.nl> wrote:
One of the use cases I have for my wiki is storing
'issues', where
each issue should have a serial number consisting of year + subsequent
number.
I was thinking about a script like this, but one of the problems is:
there is no 'while' function in Velocity.
How would you create a form for this? Thanks for your ideas!
Joris
#set($space="Issues"}
#set($template="AppSpace.IssueTemplate")
#set($parent=$space.WebHome)
#set($year= ${xwiki.formatDate($datetool.date, 'yyyy')})
#set($partID="0"
#set($genericID=$space"."$year)
#while($xwiki.exists($space.$issueID'')
{
#set($partID=$partID+1)
#set($issueID=$year"-"$partID)
}
#if(!$xwiki.exists($issueID) && $xwiki.hasAccessLevel('edit',
$context.user, $issueID))
$response.sendRedirect($xwiki.getURL($ID, 'inline',
"template=$template}&parent=$parent"))
## Stop processing, since we already sent a redirect.
#stop
#end
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users