General Actions:
Log-in
Register
Wiki:
games
▼
:
Document Index
»
Space:
XWiki
▼
:
Document Index
»
Page:
DeletedDocumentsJSON
Search
default
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Wiki Home
»
Documents on this Wiki
»
Deleted Documents
»
JSON Generation for the Deleted Documents Livetable
Wiki source code of
JSON Generation for the Deleted Documents Livetable
Last modified by
Administrator
on 2011/11/06 20:09
Content
·
Comments
(0)
·
Annotations
(0)
·
Attachments
(0)
·
History
·
Information
Show line numbers
{{velocity wiki="false"}} #if($request.list) ## ============================================================================================ ## This page is called from live table via Ajax with the argument xpage=plain. It returns a ## set of results serialized in JSON. ## @programming This service page needs to be saved by a user with the programming access level ## to work as expected ## ============================================================================================ #if("$!{request.get('xpage')}" == 'plain') $response.setContentType('application/json') #set($offset = $util.parseInt($request.get('offset'))) ## offset starts from 0 in velocity and 1 in javascript #set($offset = $offset - 1) #set($limit = $util.parseInt($request.get('limit'))) #set($docNameFilter = $request.get('ddoc.fullName')) #set($deleterFilter = $request.get('ddoc.deleter')) #set($sql = '') #if("$!{docNameFilter}" != '') #set($sql = "and lower(ddoc.fullName) like '%${docNameFilter.trim().toLowerCase()}%' ") #end #if("$!{deleterFilter}" != '') #set($sql = $sql + "and lower(ddoc.deleter) like '%${deleterFilter.trim().toLowerCase()}%' ") #end #if("$!{request.sort}" != '') #set($order = $request.sort) #else #set($order = 'ddoc.id') #end #if("$!{request.dir}" != '') #set($dir = $request.dir) #else #set($dir = 'asc') #end #set($selectSql = "select ddoc.id from XWikiDeletedDocument as ddoc where 1=1 " + $sql + " order by $order $dir") #set($countSql = "select count(*) from XWikiDeletedDocument as ddoc where 1=1 " + $sql) #set($items = $xwiki.search($selectSql, $limit, $offset)) #set($totalItems = $xwiki.search($countSql).get(0)) #set($returnedItems = $items.size()) ## ============================================== ## json starts ## ============================================== { "totalrows": $totalItems, "returnedrows": $returnedItems, "offset": ${request.get('offset')}, "reqNo": ${request.reqNo}, "rows": [ #foreach($item in $items) #set($ddoc = $xwiki.getDeletedDocument('', '', "$item")) #if($velocityCount > 1) , #end { #set($originalDocument = $ddoc.getDocument()) "fullname" : "$escapetool.javascript($originalDocument.fullName)", "title" : "$escapetool.javascript($originalDocument.displayTitle)", "url" : "$escapetool.javascript($originalDocument.getURL('view', "viewer=recyclebin&id=${item}"))", "originalUrl" : "$escapetool.javascript($originalDocument.getURL())", "canDelete" : $ddoc.canDelete(), "deleteUrl" : "$escapetool.javascript($originalDocument.getURL('delete', "id=${item}&form_token=$!{services.csrf.getToken()}"))", "canRestore" : $ddoc.canUndelete(), "alreadyExists" : !$xwiki.getDocument($ddoc.fullName).isNew(), "restoreUrl" : "$escapetool.javascript($originalDocument.getURL('undelete', "id=${item}&form_token=$!{services.csrf.getToken()}"))", "date" : "$escapetool.javascript($xwiki.formatDate($ddoc.date, $dateFormat))", "deleter" : "$escapetool.javascript($ddoc.deleter)", "deletername" : "$escapetool.javascript($xwiki.getUserName($ddoc.deleter, false))", "deleterurl" : "$escapetool.javascript($xwiki.getURL($ddoc.deleter, 'view'))" } #end ]} ## ============================================== ## json ended ## ============================================== #end## xpage=plain #end## request.list {{/velocity}}