%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