%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/delete.vm

#######################################################
###              DELETE PAGE ACTION
###              ------------------
###
#######################################################
##
#######################################################
##                     GLOBALS
#######################################################
#set($fullmsg = '')
#set($quote = '"')
#set($hasInlinks = false)
#######################################################
##                     DISPLAY
#######################################################
#template('refactoringStatus_macros.vm')

#controller()
#macro(displayContent $content)
#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.delete.title', [$title]))
    <div class="xcontent">
      #template('contentheader.vm')
      $content
      <div class="clearfloats"></div>
    </div> ## xcontent
  </div>## mainContentArea
</div>## main
#template("endpage.vm")
#end
#######################################################
##                    CONTROLLER
#######################################################
#macro(controller)
  #if("$!{request.jobId}" != '')
    #set ($deleteJobStatus = $services.job.getJobStatus($request.jobId.split('/')))
    ## A delete job is running
    #if ($xcontext.action == 'get')
      #outputDeleteJobStatusJSON($deleteJobStatus)
    #else
      #set ($content = "#displayDeleteJobStatus($deleteJobStatus)")
      #displayContent($content)
    #end
  #else
    #if("$!{request.id}" != '')
      ## request.id means that we are deleting a document from the recycle bin
      #set ($content = "#displayCompletelyDeleteConfirmMessage()")
      #displayContent($content)
    #else
      #set ($content = "#displayConfirmationPage()")
      #displayContent($content)
    #end
  #end
#end

#macro (outputDeleteJobStatusJSON $deleteJobStatus)
  #getJobStatusJSON($deleteJobStatus $json)
  $response.setContentType('application/json')
  $jsontool.serialize($json)
#end

#######################################################
##            DISPLAY RUNNING JOB
#######################################################
#macro (displayDeleteJobStatus $deleteJobStatus)
  #set ($discard = $xwiki.jsfx.use('uicomponents/job/job.js', true))
  ## TODO: allows question templates to inject the web resources they need
  #set ($discard = $xwiki.linkx.use($services.webjars.url('org.xwiki.platform:xwiki-platform-tree-webjar', 'tree.min.css',
    {'evaluate': true}), {'type': 'text/css', 'rel': 'stylesheet'}))
  #set ($discard = $xwiki.jsfx.use("uicomponents/job/question/ExtensionBreakingQuestion.js", true))
  #set ($discard = $xwiki.jsfx.use("uicomponents/job/question/XClassBreakingQuestion.js", true))
  #set ($deleteJobState = $deleteJobStatus.state)
  #set ($finished = $deleteJobState == 'FINISHED')
  #set ($deleteJobRequest = $deleteJobStatus.request)
  #set ($jobStatusURL = $doc.getURL('get', $escapetool.url({
    'xpage': 'delete',
    'jobId': $request.jobId,
    'outputSyntax': 'plain'
  })))
  <div class="xcontent job-status" data-url="$jobStatusURL">
  <h2>$services.localization.render('core.delete.waitmessage')</h2>
  #if (!$finished)
    #displayJobProgressBar($deleteJobStatus)
    #displayJobQuestion($deleteJobStatus)
  #else
    #displayJobFinishedMessage($deleteJobStatus)
  #end
  #if ($isAdvancedUser || $isSuperAdmin)
    #displayJobStatusLog($deleteJobStatus true)
  #end
  </div>
#end

#######################################################
##            DISPLAY CONFIRMATION PAGE
#######################################################
#macro(displayConfirmationPage)
  <form action="$doc.getURL('delete', "$!{languageparams}")" method="post">
    #getChildren()
    #getBacklinks()
    #getChildren_legacy()
    #displayConfirmMessage()
  </form>
#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
#######################################################
##                    CHILDREN
#######################################################
#macro(getChildren)
  #if ($doc.documentReference.name == 'WebHome') ## terminal documents have no child
    #set($childCountXWQL = "WHERE doc.fullName LIKE :space AND doc.fullName <> :fullName")
    #set ($query = $services.query.xwql($childCountXWQL))
    #set ($query = $query.bindValue('space').literal("${doc.space}.").anyChars().query())
    #set ($query = $query.bindValue('fullName', $doc.fullName))
    #set($childCount = $query.addFilter('unique').count())
    #if ($childCount > 0)
      ## Check if we should propose by default to affect children when the only remaining children (after the delete) would be the WebPreferences document.
      #set ($webPreferencesDocumentReference = $services.model.createDocumentReference('WebPreferences', $doc.documentReference.lastSpaceReference))
      #if ($childCount == 1 && $xwiki.exists($webPreferencesDocumentReference))
        #set ($forceAffectChildren = " checked='checked'")
      #end
      #define($heading)
        <input name="affectChildren" id="affectChildren" type="checkbox" $!{forceAffectChildren}/><label for="affectChildren">Affect children</label> ($childCount)
      #end
      #define($body)
        ##
        ## List the documents to be deleted using a livetable
        ##
        #set ($collist = ['doc.title', 'doc.location', 'doc.date', 'doc.author'])
        #set ($colprops = {
          'doc.title'    : { 'link' : 'view' },
          'doc.location' : { 'type': 'text', 'filterable': true, 'html': true},
          'doc.author'   : { 'link' : 'author' }
        })
        #set ($urlParameters = "xpage=getdocuments&childrenOf=$escapetool.url($doc.space)&queryFilters=unique")
        #set ($options = { 
          'url' : "$doc.getURL('get', $urlParameters)",
          'translationPrefix' : 'platform.index.',
          'outputOnlyHtml' : true
        })
        #livetable('deleteSpaceIndex' $collist $colprops $options)
      #end
      #displayPanel('panel-children', 'panel-default', $heading, $body)
    #end
  #end
#end
#######################################################
##                 LEGACY CHILDREN
##
## Get the children document based on the legacy
## parent/child relationship.
#######################################################
#macro(getChildren_legacy)
  #if($services.parentchild.isParentChildMechanismEnabled())
    #set($childrenStatement = 'where doc.fullName <> :parentFullName and (doc.parent = :parentFullName or (doc.parent = :parentName and doc.space = :parentSpace))')
    #set($childrenQuery = $services.query.xwql($childrenStatement))
    #set($discard = $childrenQuery.bindValue('parentFullName', $doc.fullName).bindValue('parentName', $doc.documentReference.name).bindValue('parentSpace', $doc.space))
    #set($children = $childrenQuery.addFilter('unique').execute())
    #if($children && $children.size() > 0)
      #define($heading)
        <strong>Orphans</strong> ($children.size())
      #end
      #define($message)
        <ul>
          #foreach($docname in $children)
            #set($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
            <li><a href="$doc.getURL('view')">$escapetool.xml($rdoc.getPlainTitle())</a></li>
          #end
        </ul>
      #end
      #set($body = $services.localization.render('core.delete.orphansWarning', [$message]))
      #displayPanel('panel-legacy-children', 'panel-default', $heading, $body)
    #end
  #end
#end
#######################################################
##                 GET BACKLINKS
##
## Get the documents having some links to the current 
## one.
#######################################################
#macro(getBacklinks)
  #set($links = $doc.getBacklinks())
  #if($links && $links.size() > 0)
    #define($heading)
     <strong>Backlinks</strong> ($links.size())
    #end
    #define($message)
      <ul>
      #foreach($docname in $links)
        #set($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
        <li><a href="$rdoc.getURL('view')">$escapetool.xml($rdoc.getPlainTitle())</a></li>
      #end
      </ul>
    #end
    #set($body = $services.localization.render('core.delete.backlinksWarning', [$message]))
    #displayPanel('panel-backlinks', 'panel-default', $heading, $body)
    #set($hasInlinks = true)
  #end
#end
#######################################################
##              DISPLAY CONFIRM MESSAGE
#######################################################
#macro(displayConfirmMessage)
  #if($xwiki.hasRecycleBin())
    #if($hasInlinks)
      <p><strong>$services.localization.render('core.recyclebin.confirmWithInlinks')</strong></p>
    #else
      <p>$services.localization.render('core.recyclebin.confirm')</p>
    #end
  #else
    #if($hasInlinks)
      <p><strong>$services.localization.render('core.delete.confirmWithInlinks')</strong></p>
    #else
      <p>$services.localization.render('core.delete.confirm')</p>
    #end
  #end
  <div class="hidden">
    <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
    <input type="hidden" name="confirm" value="1"/>
    <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-danger confirm">$services.localization.render('delete')</button>
  #if("$!{request.xredirect}" != '')
    #set($cancelUrl = "$request.xredirect")
  #else
    #set($cancelUrl = $doc.getURL())
  #end
  <a class="btn btn-default cancel" href="$!{escapetool.xml(${cancelUrl})}">$services.localization.render('cancel')</a>
#end
#######################################################
##      DISPLAY DELETE COMPLETELY CONFIRM MESSAGE
##
## Display a confirmation message when the user wants 
## to delete a page from the recycle bin.
#######################################################
#macro(displayCompletelyDeleteConfirmMessage)
  #xwikimessageboxstart($services.localization.render('core.delete') $services.localization.render('core.recyclebin.completelyDeleteConfirm'))
    <form action="$xwiki.relativeRequestURL" method="post">
      <div class="hidden">
        ## CSRF prevention
        <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
        <input type="hidden" name="confirm" value="1"/>
        <input type="hidden" name="id" value="$!{escapetool.xml($request.id)}"/>
        #if("$!{request.xredirect}" != '')
          <input type="hidden" name="xredirect" value="$!{escapetool.xml($request.xredirect)}"/>
        #end
      </div>
      <input type="submit" class="btn btn-primary" value="$services.localization.render('yes')"/>
      #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('no')</a>
    </form>
  #xwikimessageboxend()
#end

Zerion Mini Shell 1.0