Wiki source code of VerifyTestRightsPage

Last modified by Ludovic Dubost on 2010/02/03 10:11

Show last authors
1 #info("The tables below allow to view the rights configured in this wiki")
2 #warning("True means 'has the rights' and False means 'does not have the rights'")
3
4
5 <%
6 println "Add this specific user to the rights view: "
7
8 println "<form action='' method='get'>"
9 if (xwiki.isVirtual()) {
10 def url = doc.getURL("view","xpage=uorgsuggest&classname=XWiki.XWikiUsers&wiki=global&uorg=user&")
11 println "<input type='text' name='user' autocomplete='off' value='' size='40' onfocus=\"new ajaxSuggest(this, { script: '${url}&', varname:'input' })\" />"
12 } else {
13 def sql = ", BaseObject as obj, StringProperty as fprop, StringProperty as lprop where doc.fullName=obj.name and obj.className='XWiki.XWikiUsers' and obj.id=fprop.id.id and fprop.id.name='first_name' and lprop.id.id=obj.id and lprop.id.name='last_name' order by fprop.value, lprop.value"
14 println "<select name='user'>"
15 for (item in xwiki.searchDocuments(sql)) {
16 def username = xwiki.getUserName(item, false)
17 println "<option value='${item}'>${username}</option>"
18 }
19 println "</select>"
20 }
21
22 println "<input type='submit' value='go'/></form>"
23
24
25 def showUserLine(text, user, page) { return showLine(text,user,page,true) }
26 def showGroupLine(text, user, page) { return showLine(text,user,page,false) }
27 def showLine(text, user, page, isuser) {
28 rights = ["view", "comment", "edit", "admin"];
29 str = text;
30 for(right in rights) {
31 str += " | "
32 if (isuser) { str += xwiki.hasAccessLevel(right, user, page ) } else { str += xwiki.getXWiki().rightService.hasAccessLevel(right, user, page, false, context.context) }
33 }
34 return str
35 }
36
37 def showUserTable(page) {
38 str = "{table}\n"
39 str += "Group or User|VIEW|COMMENT|EDIT|ADMIN\n"
40 str += "\n"
41 str += showUserLine("*Guests*", "XWiki.XWikiGuest", page)
42 str += "\n"
43 str += showGroupLine("*Members of All Group*", "XWiki.XWikiAllGroup", page)
44 str += "\n"
45 if (xwiki.isVirtual()) {
46 str += showGroupLine("*Members of Global All Group*", "xwiki:XWiki.XWikiAllGroup", page)
47 str += "\n"
48 }
49 str += showGroupLine("*Admins*", "XWiki.XWikiAdminGroup", page)
50 str += "\n"
51 if (xwiki.isVirtual()) {
52 str += showGroupLine("*Global Admins*", "xwiki:XWiki.XWikiAdminGroup", page)
53 str += "\n"
54 }
55 if (request.user) {
56 str += showUserLine("*User ${request.user}*", request.user, page)
57 str += "\n"
58 } else {
59 str += showUserLine("*User xwiki:XWiki.FlorinCiubotaru*", "xwiki:XWiki.FlorinCiubotaru", page)
60 str += "\n"
61 }
62 if (request.group) {
63 str += showGroupLine("*Group ${request.group}*", request.group, page)
64 str += "\n"
65 } else {
66 str += showGroupLine("*Group XWiki.BadXWikiSASGroup*", "XWiki.BadXWikiSASGroup", page)
67 str += "\n"
68 }
69 str += "{table}\n"
70 return str
71 }
72 %>
73
74 1.1 Page Test.TestRightsPage
75
76 <%
77 println showUserTable("Test.TestRightsPage")
78 %>