%PDF- %PDF-
Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/ |
Current File : //home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/rename.vm |
### ### Rename document template ### #if (!$xwiki.checkAccess($doc.fullName, 'delete') && "$!request.renameId" == '') #template("accessdenied.vm") #elseif ($xcontext.action == 'get' && "$!request.renameId" != '') ## AJAX request for rename status update. #template("renameStatus.vm") #else #template("startpage.vm") #if ("$!step" == '') #set ($step = "$!request.step") #if ("$!step" == '') #set ($step = '1') #end #end <div class="main layoutsubsection"> <div id="mainContentArea"> #if ("$!request.renameId" != '') ## Display the rename status #template("renameStatus.vm") #elseif ($doc.isNew()) $response.setStatus(404) #error($services.localization.render('core.rename.nonexistingDocument')) #elseif ($step == 1) ## Display the rename form #template("renameStep1.vm") #elseif (!$services.csrf.isTokenValid($request.form_token)) ## CSRF protection $response.sendRedirect("$!services.csrf.resubmissionURL") #else ## Do the rename. It's the form in renameStep1.vm page that calls this page with step=2. #if ("$!request.newPageName.trim()" == '') $response.setStatus(400) #error($services.localization.render('core.rename.emptyName')) #template("renameStep1.vm") #else #template('refactoring_macros.vm') ## Determine if the new document should be terminal. #isTargetDocumentTerminal($doc.documentReference.name) #getNestedDocumentReference($request.newWikiName $request.newSpaceName $request.newPageName $NULL $terminal $newDocReference) #set ($newDocReferenceAsString = $services.model.serialize($newDocReference)) ## Allow users to overwrite existing documents if they are redirect placeholders. #if ($xwiki.exists($newDocReference) && !$xwiki.getDocument($newDocReference).getObject('XWiki.RedirectClass')) $response.setStatus(409) #error($services.localization.render('core.rename.alreadyExists', [${escapetool.xml($newDocReferenceAsString)}, $xwiki.getURL($newDocReference)])) #template("renameStep1.vm") #elseif (!$xwiki.hasAccessLevel('edit', $xcontext.user, $newDocReferenceAsString)) $response.setStatus(403) #error($services.localization.render('core.rename.targetNotWritable', [${escapetool.xml($newDocReferenceAsString)}])) #template('renameStep1.vm') #else #set ($renameRequest = $services.refactoring.requestFactory.createRenameRequest($doc.documentReference, $newDocReference)) ## We can't rename the children if the new page is terminal. #set ($deep = $request.deep == 'true' && !$terminal) #set ($discard = $renameRequest.setDeep($deep)) #set ($updateLinks = $request.updateLinks == 'true') #set ($discard = $renameRequest.setUpdateLinks($updateLinks)) #set ($autoRedirect = $request.autoRedirect == 'true') #set ($discard = $renameRequest.setAutoRedirect($autoRedirect)) ## Rename operation relies on copy. #maybeUpdateTitleAfterCopy($renameRequest $doc.documentReference 'newPageTitle') #if ($request.async == 'true') ## We may be asked a question (we assume that async also imply we want it interactive) #set ($discard = $renameRequest.setInteractive(true)) #end #set ($renameJob = $services.refactoring.rename($renameRequest)) #if ($request.async != 'true') #try() #set ($discard = $renameJob.join()) #end #end $response.sendRedirect($doc.getURL($xcontext.action, $escapetool.url({ 'xpage': 'rename', 'renameId': $renameRequest.id.get($mathtool.sub($renameRequest.id.size(), 1)) }))) #end #end #end <div class="clearfloats"></div> </div>## mainContentArea </div>## main #template("endpage.vm") #end