0 Votes

Wiki source code of Livetable Results

Last modified by Ryan C on 2025/03/06 18:00

Hide last authors
Ryan C 1.1 1 {{include reference="WikiManager.WikisLiveTableResultsMacros" /}}
2
3 {{velocity wiki="false"}}
4 #set($from = "")
5 #set($extra = "")
6 #set($params = [])
7 ## Restrict to the list of wiki I can see
8 #set ($extra = "${extra} and doc.name IN (")
9 #set ($separator = "")
10 #foreach ($wiki in $services.wiki.getAll())
11 #try("wikisListException")
12 ## XWiki.XWikiComments is a mandatory document that it must exists and we should have acces to it
13 #set ($testPageReference = $services.model.createDocumentReference($wiki.id, 'XWiki', 'XWikiComments'))
14 #if ($xwiki.hasAccessLevel('view', $xcontext.user, $testPageReference) ||
15 ($services.wiki.user.getUserScope($wiki.id) != 'LOCAL_ONLY' && $services.wiki.user.getMembershipType($wiki.id) != 'INVITE') ||
16 $services.wiki.user.hasPendingInvitation($xcontext.userReference, $wiki.id))
17 #set ($extra = "${extra}${separator}'XWikiServer${stringtool.capitalize($wiki.id)}'")
18 #set ($separator = ",")
19 #end
20 #end
21 #if ("$!wikisListException" != '')
22 $services.logging.getLogger("WikiManager.WikisLiveTableResultsMacros")
23 .warn("An error occurred while listing wiki [${wiki.id}].", $wikisListException)
24 #end
25 #end
26 #set ($extra = "${extra})")
27 ## Restrict to templates only
28 #if("$!request.onlyTemplates" == '1')
29 #set($from = "${from}, BaseObject objTemplate, IntegerProperty propTemplate")
30 #set($extra = "${extra} AND doc.fullName = objTemplate.name AND objTemplate.className='WikiManager.WikiTemplateClass' AND objTemplate.id = propTemplate.id AND propTemplate.name='iswikitemplate' AND propTemplate.value='1'")
31 #end
32 #set($columns = [])
33 #foreach($c in $request.collist.split(","))
34 #if($c != 'membershipType')
35 #set($discard = $columns.add($c))
36 #end
37 #end
38 #gridresultwithfilter("$!request.classname" $columns "${from}" "${extra}" $params)
39 {{/velocity}}