Wiki source code of WikiCreationJobStatusService

Last modified by shahzad kazama on 2023/12/18 18:57

Hide last authors
shahzad kazama 1.1 1 {{velocity}}
2 #if($xcontext.action == 'get' && "$!{request.outputSyntax}" == 'plain')
3 #set($wikiId = $request.wikiId)
4 #set($status = $services.wiki.creationjob.getJobStatus($wikiId))
5 #set($lastError = $status.logTail.getLastLogEvent('ERROR'))
6 #set($hasErrorLog = false)
7 #if ($lastError)
8 #set($hasErrorLog = true)
9 #end
10 #set($errorMessage = "")
11 #if ($status.error)
12 ## The last error log is what actually stopped the job
13 #set($errorMessage = $lastError.getFormattedMessage())
14 #end
15 ## Log
16 #template('logging_macros.vm')
17 #template('extension.vm')
18 ## Hack to be able to use macros from extension.vm that are supposed to be used inside Extension Manager
19 #set ($olddoc = $doc)
20 #set ($doc = $xwiki.getDocument('XWiki.AddExtensions'))
21 ## Note: it's important for the state to be the same when calling `printLogs` and for the `status` field of $map,
22 ## otherwise if the state is changed to FINISHED while `printLogs` is called, a spinner will be displayed on the last
23 ## item, even tough the job is finished.
24 #set ($state = $status.state)
25 #set ($loading = $state != 'FINISHED')
26 #set ($logs = "#printLogs($status.logTail $loading)")
27 #set ($doc = $olddoc)
28 #set ($map = {
29 'wikiId': $wikiId,
30 'progress': $status.progress.offset,
31 'status': $state,
32 'error': $errorMessage,
33 'hasErrorLog': $hasErrorLog,
34 'logs': $logs
35 })
36 #jsonResponse($map)
37 #end
38 {{/velocity}}