Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From version 2.137
edited by Jip-jan Alunkel
on July 03, 22:32
on July 03, 22:32
Change comment:
Update document after refactoring.
To version 2.140
edited by Jip-jan Alunkel
on July 04, 13:23
on July 04, 13:23
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -170,26 +170,28 @@ 170 170 #elseif($O_elementData.select-json) 171 171 #set($json = $O_elementData.select-json) 172 172 #foreach($key in $json.keySet()) 173 - #set($spaceDocTitle = $json.get($key)) 174 - #if(!$isGuest) 175 - #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 176 - #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 177 - #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 178 - #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 179 - #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 180 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 181 - #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 182 - #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 183 - #set($discard = $spaceDoc.save()) 184 - #else 185 - #if($title_error) ## Doc did exist but the title did not match with the JSON value. 186 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 187 - #end 188 - #if($order_error) ## Either the property does not exist or the value is incorrect. 173 + #if($O_elementData.select-json-spaces == "true") 174 + #set($spaceDocTitle = $json.get($key)) 175 + #if(!$isGuest) 176 + #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 177 + #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 178 + #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 179 + #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 180 + #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 181 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 182 + #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 189 189 #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 190 - #end 191 - #if($title_error || $order_error) ## Save only if changed 192 192 #set($discard = $spaceDoc.save()) 185 + #else 186 + #if($title_error) ## Doc did exist but the title did not match with the JSON value. 187 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 188 + #end 189 + #if($order_error) ## Either the property does not exist or the value is incorrect. 190 + #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 191 + #end 192 + #if($title_error || $order_error) ## Save only if changed 193 + #set($discard = $spaceDoc.save()) 194 + #end 193 193 #end 194 194 #end 195 195 #end