%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/skins/flamingo/
Upload File :
Create Path :
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

Zerion Mini Shell 1.0