%PDF- %PDF-
Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/skins/flamingo/ |
Current File : //home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/skins/flamingo/restore.vm |
####################################################### ### RESTORE (UNDELETE) PAGE ACTION ### ------------------ ### ####################################################### ## ####################################################### ## GLOBALS ####################################################### #set($fullmsg = '') #set($quote = '"') #set($hasInlinks = false) ####################################################### ## DISPLAY ####################################################### #if ($xcontext.action == 'get' && "$!request.jobId" != '') #handleStatusRequest() #else #template("startpage.vm") <div class="main"> <div id="mainContentArea"> #define($title)<a href="$doc.getURL('view')">$!escapetool.xml($doc.plainTitle)</a>#end #set($titleToDisplay = $services.localization.render('core.restore.title', [$title])) <div class="xcontent"> #template('contentheader.vm') #controller() <div class="clearfloats"></div> </div> ## xcontent </div>## mainContentArea </div>## main #template("endpage.vm") #end ####################################################### ## CONTROLLER ####################################################### #macro(controller) #if("$!{request.jobId}" != '') ## A restore job is running #displayProgressBar() #elseif("$!{request.showBatch}" == 'true') ## showBatch=true means that we are displaying the other documents that were deleted in the same batch as the ## current one, which we might want to restore as well. #displayConfirmationPage() #end #end ####################################################### ## DISPLAY CONFIRMATION PAGE ####################################################### #macro(displayConfirmationPage) <form action="$xwiki.relativeRequestURL" method="post"> #getBatch() #displayConfirmMessage() </form> #end ####################################################### ## DISPLAY PROGRESS BAR ####################################################### #macro(displayProgressBar) #handleStatusRequest() #end #macro (handleStatusRequest) #template('job_macros.vm') #set ($jobStatus = $services.job.getJobStatus($stringtool.split($request.jobId, '/'))) #if ($jobStatus) #if ($xcontext.action == 'get') #outputJobStatusJSON($jobStatus) #else #displayJobStatus($jobStatus) #end #else $response.setStatus(404) <div class="box errormessage"> $services.localization.render('core.restore.status.notFound') </div> #end #end #macro (displayJobStatus $jobStatus) #set ($discard = $xwiki.jsfx.use('uicomponents/job/job.js', true)) #set ($jobState = $jobStatus.state) #set ($finished = $jobState == 'FINISHED') #set ($jobRequest = $jobStatus.request) ## FIXME: refactor jobs to use the /rest/jobstatus and /rest/joblog resources. #set ($jobStatusURL = $doc.getURL('get', $escapetool.url({ 'xpage': 'restore', 'outputSyntax': 'plain', 'jobId': $stringtool.join($jobRequest.id, '/') }))) <div class="job-status" data-url="$jobStatusURL"> #if (!$finished) <p>$services.localization.render('core.restore.waitmessage')</p> #displayJobProgressBar($jobStatus) #else #displayJobFinishedMessage($jobStatus) #end #if ($isAdvancedUser || $isSuperAdmin) #displayJobStatusLog($jobStatus true) #end </div> #end #macro (outputJobStatusJSON $jobStatus) #getJobStatusJSON($jobStatus $json) #set ($json.message = "#displayJobFinishedMessage($jobStatus)") $response.setContentType('application/json') $jsontool.serialize($json) #end #macro (displayJobFinishedMessage $jobStatus) #template('refactoringStatus_macros.vm') #displayRefactoringJobFinishedMessage($jobStatus 'core.restore.status.success' 'core.restore.status.failure') #end ####################################################### ## DISPLAY PANEL ####################################################### #macro(displayPanel $panelId $panelClass $heading $body) <div class="panel $!panelClass"> <div class="panel-heading"> $heading <div class="pull-right"><a class="panel-collapse-carret" role="button" data-toggle="collapse" href="#$panelId" aria-expanded="false" aria-controls="$panelId"><span class="caret"></span></a></div> </div> <div class="panel-body collapse" id="$panelId"> $body </div> </div> #end ####################################################### ## BATCH ####################################################### #macro(getBatch) #set ($deletedDocument = $xwiki.getDeletedDocument($request.get('id'))) #set ($batchDeletedDocuments = $xwiki.getDeletedDocuments($deletedDocument.batchId)) ## Only propose to restore the batch if it also contains other documents than the current one. #if ($batchDeletedDocuments.size() > 1) #define($heading) <input name="includeBatch" id="includeBatch" type="checkbox" value="true"/><label for="includeBatch">$services.localization.render('core.restore.includeBatch')</label> ($batchDeletedDocuments.size()) #end #define($body) ## ## Batch details. ## <div class="row"> <div class="col-xs-12 col-lg-4"> <div><b>$services.localization.render('core.restore.deleter')</b></div> $xwiki.getUserName($deletedDocument.deleter) </div> <div class="col-xs-12 col-lg-4"> <div><b>$services.localization.render('core.restore.deleteDate')</b></div> $xwiki.formatDate($deletedDocument.date) </div> <div class="col-xs-12 col-lg-4"> <div><b>$services.localization.render('core.restore.batchId')</b></div> $deletedDocument.batchId </div> </div> ## ## List the deleted documents in the batch using a livetable. ## #set ($collist = ['doc.name', 'doc.location', '_actions']) #set ($colprops = { 'doc.name' : { 'link' : 'view', 'filterable': false, 'sortable' : 'false' }, 'doc.location' : { 'type' : 'text', 'link' : false, 'filterable': true, 'html': true}, '_actions' : { 'actions' : ['restore', 'delete'] } }) #set ($urlParameters = "xpage=getdeleteddocuments&doc.batchId=$!{escapetool.url($deletedDocument.batchId)}") #set ($options = { 'url' : "$doc.getURL('get', $urlParameters)", 'translationPrefix' : 'core.restore.batch.', 'outputOnlyHtml' : true, 'selectedColumn' : 'doc.location' }) #livetable('deletedBatch' $collist $colprops $options) #end #displayPanel('panel-batch', 'panel-default', $heading, $body) #end #end ####################################################### ## DISPLAY CONFIRM MESSAGE ####################################################### #macro(displayConfirmMessage) <div class="hidden"> <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" /> <input type="hidden" name="confirm" value="true"/> <input type="hidden" name="async" value="true"/> #if("$!{request.xredirect}" != '') <input type="hidden" name="xredirect" value="$!{escapetool.xml($request.xredirect)}"/> #end </div> <button class="btn btn-primary">$services.localization.render('core.restore.confirm.yes')</button> #if("$!{request.xredirect}" != '') #set($cancelUrl = "$request.xredirect") #else #set($cancelUrl = $doc.getURL()) #end <a class="btn btn-default" href="$!{escapetool.xml(${cancelUrl})}">$services.localization.render('core.restore.confirm.no')</a> #end