Changes for page Import-Test-App-01

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

From version 4.1
edited by Ophion Admin
on 2026/10/06 14:24
Change comment: There is no comment for this version
To version 7.1
edited by Ophion Admin
on 2026/10/06 14:27
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,7 +2,7 @@
2 2  #set ($appSpace = 'Import-Test-App-01')
3 3  #set ($templateRef = 'Import-Test-App-01.Code.Import-Test-App-01Template')
4 4  ## Allowed values for the first part of the page name
5 -#set ($prefixes = ['variable-1', 'variable-1', 'variable-1'])
5 +#set ($prefixes = ['variable-1', 'variable-2', 'variable-3'])
6 6  #set ($errorMsg = '')
7 7  #if ("$!request.createEntry" == '1')
8 8   #set ($prefix = "$!request.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
15 + #set ($baseName = "${prefix}-${suffix}")
16 + #set ($name = $baseName)
17 17   #set ($ref = $services.model.createDocumentReference('', [$appSpace, $name], 'WebHome'))
18 + ## Append a running number until the page name is free: name-1, name-2, ...
19 + #foreach ($i in [1..999])
20 + #if (!$xwiki.exists($ref))
21 + #break
22 + #end
23 + #set ($name = "${baseName}-${i}")
24 + #set ($ref = $services.model.createDocumentReference('', [$appSpace, $name], 'WebHome'))
25 + #end
18 18   #if ($xwiki.exists($ref))
19 - #set ($errorMsg = "Page '${name}' already exists.")
27 + #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))