Changes for page Import-Test-App-01

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

From version 2.1
edited by Ophion Admin
on 2026/10/06 14:23
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
... ... @@ -2,10 +2,9 @@
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 = ['doc', 'faq', 'howto'])
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))
... ... @@ -27,6 +27,10 @@
27 27   {{error}}$errorMsg{{/error}}
28 28  #end
29 29  {{html clean="false"}}
37 +<style>
38 + /* Hide the default AWM "Add new entry" button */
39 + ul.actions a.action.add, a.action.add { display: none !important; }
40 +</style>
30 30  <form action="$doc.getURL()" method="get" class="form-inline">
31 31   <input type="hidden" name="createEntry" value="1"/>
32 32   <select name="prefix" class="form-control">