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
Hide line numbers
1: {{velocity wiki="false"}} 2: #if($request.list) 3: ## ============================================================================================ 4: ## This page is called from live table via Ajax with the argument xpage=plain. It returns a 5: ## set of results serialized in JSON. 6: ## @programming This service page needs to be saved by a user with the programming access level 7: ## to work as expected 8: ## ============================================================================================ 9: #if("$!{request.get('xpage')}" == 'plain') 10: $response.setContentType('application/json') 11: #set($offset = $util.parseInt($request.get('offset'))) 12: ## offset starts from 0 in velocity and 1 in javascript 13: #set($offset = $offset - 1) 14: #set($limit = $util.parseInt($request.get('limit'))) 15: #set($docNameFilter = $request.get('ddoc.fullName')) 16: #set($deleterFilter = $request.get('ddoc.deleter')) 17: #set($sql = '') 18: #if("$!{docNameFilter}" != '') 19: #set($sql = "and lower(ddoc.fullName) like '%${docNameFilter.trim().toLowerCase()}%' ") 20: #end 21: #if("$!{deleterFilter}" != '') 22: #set($sql = $sql + "and lower(ddoc.deleter) like '%${deleterFilter.trim().toLowerCase()}%' ") 23: #end 24: #if("$!{request.sort}" != '') 25: #set($order = $request.sort) 26: #else 27: #set($order = 'ddoc.id') 28: #end 29: #if("$!{request.dir}" != '') 30: #set($dir = $request.dir) 31: #else 32: #set($dir = 'asc') 33: #end 34: #set($selectSql = "select ddoc.id from XWikiDeletedDocument as ddoc where 1=1 " + $sql + " order by $order $dir") 35: #set($countSql = "select count(*) from XWikiDeletedDocument as ddoc where 1=1 " + $sql) 36: #set($items = $xwiki.search($selectSql, $limit, $offset)) 37: #set($totalItems = $xwiki.search($countSql).get(0)) 38: #set($returnedItems = $items.size()) 39: ## ============================================== 40: ## json starts 41: ## ============================================== 42: { 43: "totalrows": $totalItems, 44: "returnedrows": $returnedItems, 45: "offset": ${request.get('offset')}, 46: "reqNo": ${request.reqNo}, 47: "rows": [ 48: #foreach($item in $items) 49: #set($ddoc = $xwiki.getDeletedDocument('', '', "$item")) 50: #if($velocityCount > 1) , #end 51: { 52: #set($originalDocument = $ddoc.getDocument()) 53: "fullname" : "$escapetool.javascript($originalDocument.fullName)", 54: "title" : "$escapetool.javascript($originalDocument.displayTitle)", 55: "url" : "$escapetool.javascript($originalDocument.getURL('view', "viewer=recyclebin&id=${item}"))", 56: "originalUrl" : "$escapetool.javascript($originalDocument.getURL())", 57: "canDelete" : $ddoc.canDelete(), 58: "deleteUrl" : "$escapetool.javascript($originalDocument.getURL('delete', "id=${item}&form_token=$!{services.csrf.getToken()}"))", 59: "canRestore" : $ddoc.canUndelete(), 60: "alreadyExists" : !$xwiki.getDocument($ddoc.fullName).isNew(), 61: "restoreUrl" : "$escapetool.javascript($originalDocument.getURL('undelete', "id=${item}&form_token=$!{services.csrf.getToken()}"))", 62: "date" : "$escapetool.javascript($xwiki.formatDate($ddoc.date, $dateFormat))", 63: "deleter" : "$escapetool.javascript($ddoc.deleter)", 64: "deletername" : "$escapetool.javascript($xwiki.getUserName($ddoc.deleter, false))", 65: "deleterurl" : "$escapetool.javascript($xwiki.getURL($ddoc.deleter, 'view'))" 66: } 67: #end 68: ]} 69: ## ============================================== 70: ## json ended 71: ## ============================================== 72: #end## xpage=plain 73: #end## request.list 74: {{/velocity}}