Changes for page Macros

Last modified by Jip-jan Alunkel on April 15, 18:09

From version 2.106
edited by Jip-jan Alunkel
on June 28, 23:39
Change comment: Update document after refactoring.
To version 2.99
edited by Jip-jan Alunkel
on June 28, 20:27
Change comment: Update document after refactoring.

Summary

Details

Page properties
Content
... ... @@ -60,8 +60,6 @@
60 60   #createNumberElement($elementDataObj $elementType)
61 61   #elseif($elementType == "email")
62 62   #createEmailElement($elementDataObj $elementType)
63 - #elseif($elementType == "password")
64 - #createPasswordElement($elementDataObj $elementType)
65 65   #elseif($elementType == "range")
66 66   #if($elementDataObj.range-minmax)
67 67   #set($minmax = $elementDataObj.range-minmax.split('-'))
... ... @@ -139,27 +139,26 @@
139 139   #set($codespace = "code")
140 140   #end
141 141  
142 - #if(!$isGuest)
143 - ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options.
144 - #set($nameExcludeRef = $codespace)
145 - #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1'))
146 - #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name"))
147 - #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute())
148 - #foreach($item in $result_add_xobj)
149 - #set($doc = $xwiki.getDocument("${space}.${item}.WebHome"))
150 - #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true))
151 - #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count))
152 - #set($discard = $doc.save())
153 - #end
140 + #set($nameExcludeRef = $codespace)
141 + #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1'))
142 + #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name"))
143 +
144 + ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options.
145 + #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute())
146 + #foreach($item in $result_add_xobj)
147 + #set($doc = $xwiki.getDocument("${space}.${item}.WebHome"))
148 + #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true))
149 + #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count))
150 + #set($discard = $doc.save())
154 154   #end
155 155  
156 156   #set($spaceExcludeRef = $space.replaceAll('([%_!])', '!$1').concat(".${codespace}"))
157 157   #set($spaceLikeRef = $space.replaceAll('([%_!])', '!$1').concat('.%'))
158 158   #set($query = $services.query.xwql("from doc.object(assets.pagemaker.pagemakerClass) met where doc.space like :space and doc.space <> :spaceExclude and doc.name <> 'WebPreferences' order by met.pmSpaceOrder asc"))
159 - #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute())
160 160  
161 161   ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass.
162 162   ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-json' attribute.
159 + #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute())
163 163   #foreach($item in $result)
164 164   #set($doc = $xwiki.getDocument($item))
165 165   <option value="$doc.space">$doc.getTitle()</option>