Changes for page Import-Test-App-01

Last modified by Ophion Admin on 2026/10/06 14:27

From version 5.1
edited by Ophion Admin
on 2026/10/06 14:24
Change comment: There is no comment for this version
To version 6.1
edited by Ophion Admin
on 2026/10/06 14:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -5,7 +5,6 @@
5 5  #set ($prefixes = ['variable-1', 'variable-2', 'variable-3'])
6 6  #set ($errorMsg = '')
7 7  #if ("$!request.createEntry" == '1')
8 - #set ($prefix = "$!request.prefix")
9 9   #set ($suffix = "$!request.suffix")
10 10   #if (!$prefixes.contains($prefix))
11 11   #set ($errorMsg = 'Invalid prefix.')
... ... @@ -12,11 +12,19 @@
12 12   #elseif (!$suffix.matches('[a-z0-9_-]+'))
13 13   #set ($errorMsg = 'Only lowercase letters, digits, hyphen and underscore are allowed.')
14 14   #else
15 - #set ($name = "${prefix}-${suffix}")
16 - ## Nested page: Import-Test-App-01.<name>.WebHome
14 + #set ($baseName = "${prefix}-${suffix}")
15 + #set ($name = $baseName)
17 17   #set ($ref = $services.model.createDocumentReference('', [$appSpace, $name], 'WebHome'))
17 + ## Append a running number until the page name is free: name-1, name-2, ...
18 + #foreach ($i in [1..999])
19 + #if (!$xwiki.exists($ref))
20 + #break
21 + #end
22 + #set ($name = "${baseName}-${i}")
23 + #set ($ref = $services.model.createDocumentReference('', [$appSpace, $name], 'WebHome'))
24 + #end
18 18   #if ($xwiki.exists($ref))
19 - #set ($errorMsg = "Page '${name}' already exists.")
26 + #set ($errorMsg = "No free page name found for '${baseName}'.")
20 20   #else
21 21   #set ($qs = $escapetool.url({'template': $templateRef, 'parent': "${appSpace}.WebHome", 'title': $name}))
22 22   $response.sendRedirect($xwiki.getURL($ref, 'edit', $qs))