Changes for page Create Application
Last modified by Administrator on 2020/09/21 16:05
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui-7.2]
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Admin1 +XWiki.ssams - Content
-
... ... @@ -22,19 +22,26 @@ 22 22 {{/html}} 23 23 #end 24 24 25 -#macro(getAppDescriptor $app Name)25 +#macro(getAppDescriptor $appReference) 26 26 #set($appDescriptorClassName = 'AppWithinMinutes.LiveTableClass') 27 27 #set($appDescriptorStatement = "from doc.object($appDescriptorClassName) as obj where doc.space = :space") 28 - #set($appDescriptors = $services.query.xwql($appDescriptorStatement).bindValue('space', $appName).execute()) 28 + #set($localSpaceReference = $services.model.serialize($appReference, 'local')) 29 + #set($appDescriptors = $services.query.xwql($appDescriptorStatement).bindValue('space', $localSpaceReference).execute()) 29 29 #if($appDescriptors.size() > 0) 30 30 #set($appDescriptor = $xwiki.getDocument($appDescriptors.get(0))) 31 31 #end 32 32 #end 33 33 34 -#macro(processStep) 35 +#macro (processStep) 35 35 ## Check if the application already exists. 36 - #set($appName = $request.appName) 37 - #getAppDescriptor($appName) 37 + #if ($request.resolve == 'true') 38 + #set ($appReference = $services.model.resolveSpace($request.appName)) 39 + #else 40 + #set ($appReference = $services.model.createSpaceReference($request.appName, 41 + $doc.documentReference.wikiReference)) 42 + #end 43 + #set ($appName = $appReference.name) 44 + #getAppDescriptor($appReference) 38 38 #if($appDescriptor) 39 39 ## Edit an existing application. Use the configured class name. 40 40 #set($classStringRef = $appDescriptor.getObject($appDescriptorClassName).getProperty('class').value) ... ... @@ -45,21 +45,26 @@ 45 45 #set($className = "#toXMLName($appName)") 46 46 #set($classRef = $services.model.createDocumentReference($doc.wiki, "${className}Code", "${className}Class")) 47 47 #end 48 - #set($queryString = 'wizard =true')55 + #set($queryString = {'wizard': true}) 49 49 #if(!$xwiki.exists($classRef)) 50 - #set($classTitle = "$appName Class") 51 - #set($appHomeRef = $services.model.createDocumentReference($doc.wiki, $appName, 'WebHome')) 52 - #set($classParent = $services.model.serialize($appHomeRef)) 53 - #set($queryString = "$queryString&editor=inline&template=AppWithinMinutes.ClassTemplate&parent=$escapetool.url($classParent)&title=$escapetool.url($classTitle)&AppWithinMinutes.MetadataClass_0_dataSpaceName=$escapetool.url($appName)") 57 + #set($appHomeRef = $services.model.resolveDocument('', 'default', $appReference)) 58 + #set($discard = $queryString.putAll({ 59 + 'editor': 'inline', 60 + 'template': 'AppWithinMinutes.ClassTemplate', 61 + 'parent': $services.model.serialize($appHomeRef), 62 + 'title': "$appName Class", 63 + 'AppWithinMinutes.MetadataClass_0_dataSpaceName': $appName 64 + })) 54 54 #end 55 - $response.sendRedirect($xwiki.getURL($classRef, 'edit', $queryString)) 66 + $response.sendRedirect($xwiki.getURL($classRef, 'edit', $escapetool.url($queryString))) 56 56 #end 57 57 58 58 #macro(validateAppName $appName) 59 - #getAppDescriptor("$!appName") 70 + #set ($appReference = $services.model.createSpaceReference($appName, 71 + $doc.documentReference.wikiReference)) 72 + #getAppDescriptor($appReference) 60 60 #if($appDescriptor) 61 61 ## Edit an existing application. 62 - #set($appHomeRef = $appDescriptor.documentReference) 63 63 #set($classStringRef = $appDescriptor.getObject($appDescriptorClassName).getProperty('class').value) 64 64 ## The class string reference is relative to the document holding the application descriptor. 65 65 #set($appClassRef = $services.model.resolveDocument($classStringRef, 'explicit', $appDescriptor.documentReference)) ... ... @@ -69,9 +69,9 @@ 69 69 #if($className == '') 70 70 (% class="xErrorMsg" %)$services.localization.render('platform.appwithinminutes.appNameInvalidClassNameError') 71 71 #end 72 - #set($appHomeRef = $services.model.createDocumentReference($doc.wiki, $appName, 'WebHome')) 73 73 #set($appClassRef = $services.model.createDocumentReference($doc.wiki, "$!{className}Code", "$!{className}Class")) 74 74 #end 86 + #set($appHomeRef = $services.model.resolveDocument('', 'default', $appReference)) 75 75 #set($appHomeURL = $stringtool.removeEnd($xwiki.getDocument($appHomeRef).getExternalURL(), 'WebHome')) 76 76 ; $services.localization.render('platform.appwithinminutes.appNamePreviewHomePageUrlLabel') 77 77 : {{{$!appHomeURL}}}