Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From version 2.107
edited by Jip-jan Alunkel
on June 28, 23:45
on June 28, 23:45
Change comment:
Update document after refactoring.
To version 2.104
edited by Jip-jan Alunkel
on June 28, 23:35
on June 28, 23:35
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -147,12 +147,12 @@ 147 147 #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute()) 148 148 #foreach($item in $result_add_xobj) 149 149 #set($doc = $xwiki.getDocument("${space}.${item}.WebHome")) 150 + #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass")) 150 150 #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) 151 151 #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) 152 152 #set($discard = $doc.save()) 153 153 #end 154 154 #end 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")) ... ... @@ -168,29 +168,28 @@ 168 168 #set($json = $O_elementData.select-json) 169 169 #foreach($key in $json.keySet()) 170 170 #set($spaceDocTitle = $json.get($key)) 171 - #if(!$isGuest) 172 - #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 173 - #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 174 - #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 175 - #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 176 - #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 177 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 178 - #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 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) 174 + #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 175 + #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 176 + #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 177 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 178 + #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 179 + #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 180 + #set($discard = $spaceDoc.save()) 181 + #else 182 + #if($title_error) ## Doc did exist but the title did not match with the JSON value. 183 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 184 + #end 185 + #if($order_error) ## Either the property does not exist or the value is incorrect. 179 179 #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 187 + #end 188 + #if($title_error || $order_error) ## Save only if changed 180 180 #set($discard = $spaceDoc.save()) 181 - #else 182 - #if($title_error) ## Doc did exist but the title did not match with the JSON value. 183 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 184 - #end 185 - #if($order_error) ## Either the property does not exist or the value is incorrect. 186 - #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 187 - #end 188 - #if($title_error || $order_error) ## Save only if changed 189 - #set($discard = $spaceDoc.save()) 190 - #end 191 191 #end 192 192 #end 193 - <option value="$key">$s paceDocTitle</option>192 + <option value="$key">$json.get($key)</option> 194 194 #end 195 195 #end 196 196 </select>