Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From version 2.99
edited by Jip-jan Alunkel
on June 28, 20:27
on June 28, 20:27
Change comment:
Update document after refactoring.
To version 2.106
edited by Jip-jan Alunkel
on June 28, 23:39
on June 28, 23:39
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -60,6 +60,8 @@ 60 60 #createNumberElement($elementDataObj $elementType) 61 61 #elseif($elementType == "email") 62 62 #createEmailElement($elementDataObj $elementType) 63 + #elseif($elementType == "password") 64 + #createPasswordElement($elementDataObj $elementType) 63 63 #elseif($elementType == "range") 64 64 #if($elementDataObj.range-minmax) 65 65 #set($minmax = $elementDataObj.range-minmax.split('-')) ... ... @@ -137,26 +137,27 @@ 137 137 #set($codespace = "code") 138 138 #end 139 139 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()) 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 151 151 #end 152 152 153 153 #set($spaceExcludeRef = $space.replaceAll('([%_!])', '!$1').concat(".${codespace}")) 154 154 #set($spaceLikeRef = $space.replaceAll('([%_!])', '!$1').concat('.%')) 155 155 #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()) 156 156 157 157 ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass. 158 158 ## 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()) 160 160 #foreach($item in $result) 161 161 #set($doc = $xwiki.getDocument($item)) 162 162 <option value="$doc.space">$doc.getTitle()</option>