Cambios para el documento Macros
Última modificación por Jip-jan Alunkel el abril 15, 18:09
Desde la versión 2.104
editado por Jip-jan Alunkel
el junio 28, 23:35
el junio 28, 23:35
Cambiar el comentario:
Update document after refactoring.
Hasta la versión 2.102
editado por Jip-jan Alunkel
el junio 28, 22:29
el junio 28, 22:29
Cambiar el comentario:
Update document after refactoring.
Resumen
-
Propiedades de página (1 modificado, 0 añadido, 0 eliminado)
Detalles
- Propiedades de página
-
- Contenido
-
... ... @@ -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")) 151 - #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) 152 - #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) 153 - #set($discard = $doc.save()) 154 - #end 155 - #end 142 + #set($nameExcludeRef = $codespace) 143 + #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1')) 144 + #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")) 145 + 146 + #* Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options. 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*# 154 + 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. 161 + #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> ... ... @@ -169,8 +169,7 @@ 169 169 #foreach($key in $json.keySet()) 170 170 #set($spaceDocTitle = $json.get($key)) 171 171 #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 172 - #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass")) ## Get the needed object if it exists. 173 - #if($spaceXObj) 171 + #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 174 174 #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 175 175 #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 176 176 #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale.