Wiki source code of MembershipJson
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
3.26 | 1 | {{velocity output="false"}} |
| |
3.20 | 2 | $response.setContentType('application/json') |
| |
3.6 | 3 | #set($query = $services.query.xwql("from doc.object(Collaboratory.Apps.Membership.MembershipRequest.Code.MembershipRequestClass) as requests")) |
| |
3.4 | 4 | #set($memberships = $query.execute()) |
| |
3.26 | 5 | {{/velocity}} |
| 6 | {{velocity wiki="false"}} | ||
| |
3.7 | 7 | { |
| |
3.28 | 8 | "row": [ |
| |
3.22 | 9 | ##foreach($membershipDoc of $memberships) |
| 10 | ##set($m = $xwiki.getDocument($membershipDoc)) | ||
| 11 | ##{ | ||
| 12 | ##hello: "world" | ||
| |
3.21 | 13 | ##"title": "$m.title", |
| |
3.20 | 14 | ##"target": "$m.target", |
| |
3.16 | 15 | ##username: '$m.username', |
| |
3.20 | 16 | ##"status": "$m.status", |
| 17 | ##"date": "$m.date" | ||
| |
3.22 | 18 | ##}#if( $foreach.hasNext ), #end |
| 19 | ##end | ||
| |
3.28 | 20 | ] |
| |
3.7 | 21 | } |
| |
1.1 | 22 | {{/velocity}} |
| |
3.28 | 23 | {{velocity wiki="false"}} |
| 24 | #if("$!{request.xpage}" == 'plain') | ||
| 25 | $response.setContentType('application/json') | ||
| 26 | #end | ||
| 27 | ##============================== | ||
| 28 | ## Offset = item # at which to start displaying data | ||
| 29 | ##============================== | ||
| 30 | #set($offset = $numbertool.toNumber($request.get('offset'))) | ||
| 31 | ## offset starts from 0 in velocity and 1 in javascript | ||
| 32 | #set($offset = $offset - 1) | ||
| 33 | #if($offset < 0) | ||
| 34 | #set($offset = 0) | ||
| 35 | #end | ||
| 36 | ##================== | ||
| 37 | ## Limit = # of items to display | ||
| 38 | ##================== | ||
| 39 | #set($limit = $numbertool.toNumber($request.get('limit'))) | ||
| 40 | ##================== | ||
| 41 | ## Tag = one parameter per tag | ||
| 42 | ##================== | ||
| 43 | #if($request.tag) | ||
| 44 | #foreach($tag in $request.getParameterValues('tag')) | ||
| 45 | ## TODO: Add code to filter items based on the selected tags | ||
| 46 | #end | ||
| 47 | #end | ||
| 48 | ##========== | ||
| 49 | ## Sort direction | ||
| 50 | ##========== | ||
| 51 | #set($order = "$!request.sort") | ||
| 52 | #if($order != '') | ||
| 53 | #set($orderDirection = "$!{request.get('dir').toLowerCase()}") | ||
| 54 | #if("$!orderDirection" != '' && "$!orderDirection" != 'asc') | ||
| 55 | #set($orderDirection = 'desc') | ||
| 56 | #end | ||
| 57 | #end | ||
| 58 | ## =========== | ||
| 59 | ## Filter Data here... | ||
| 60 | ## =========== | ||
| 61 | ## TODO: Add code to filter data | ||
| 62 | ## Each column can be filtered and the filter for a column can be retrieved with: | ||
| 63 | ## #set($filterValue = "$!{request.get(<columnname>)}") | ||
| 64 | |||
| 65 | ## === | ||
| 66 | ## JSON | ||
| 67 | ## === | ||
| 68 | { | ||
| 69 | "totalrows": 1, | ||
| 70 | "matchingtags": {}, | ||
| 71 | "tags" : [], | ||
| 72 | "returnedrows": 1, | ||
| 73 | "offset": 1, | ||
| 74 | "reqNo": $util.parseInt($request.reqNo), | ||
| 75 | "rows": [{ | ||
| 76 | "doc_viewable" : true, | ||
| 77 | "user" : "vincent", | ||
| 78 | "message" : "my message" | ||
| 79 | }] | ||
| 80 | } | ||
| 81 | {{/velocity}} |