Changes for page Macros

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

From version 2.135
edited by Jip-jan Alunkel
on July 03, 13:57
Change comment: Update document after refactoring.
To version 2.141
edited by Jip-jan Alunkel
on July 04, 14:22
Change comment: Update document after refactoring.

Summary

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