在2022-05-25 17:59上被ybq sz修改

Hide last authors
ybq sz 1.1 1 {{velocity}}
2 #if ($hasGlobalAdmin)
3 #set ($descriptor = $services.wiki.currentWikiDescriptor)
4 #set ($sheetDocName = 'AdminWikiDescriptorSheet')
5 #set ($sheetDocFullName = "WikiManager.${sheetDocName}")
6 ##
7 #if ($request.ajax == 'true' && $xcontext.action == 'get')
8 ##
9 ## Handle AJAX requests.
10 ##
11 #set ($prettyName = "$!request.prettyName")
12 #set ($description = "$!request.description")
13 #set ($owner = "$!request.owner")
14 #set ($homepage = "$!request.homepage")
15 #if ("$!homepage" != '' && $services.csrf.isTokenValid("$!{request.form_token}"))
16 #if ("$!owner" != '')
17 ## There is a security check in $services.wiki.saveDescriptor() to avoid an admin who is not the current owner
18 ## to take the ownership of the wiki.
19 ## So we can fill the descriptor safely.
20 #set ($discard = $descriptor.setOwnerId($owner))
21 #end
22 #set ($discard = $descriptor.setPrettyName($prettyName))
23 #set ($discard = $descriptor.setDescription($description))
24 #set ($homepageReference = $services.model.resolveDocument($homepage))
25 #set ($discard = $descriptor.setMainPageReference($homepageReference))
26 ##
27 #set ($discard = $services.wiki.saveDescriptor($descriptor))
28 #if ($services.wiki.lastError)
29 $response.setStatus(500)
30 #set ($responseText = $!{services.wiki.lastError.message})
31 #if ("$!responseText" == '')
32 #set ($responseText = $!{services.wiki.lastError.class})
33 #end
34 $responseText
35 #end
36 #else
37 $response.setStatus(400)
38 #if (!$services.csrf.isTokenValid("$!{request.form_token}"))
39 $services.localization.render('platform.wiki.admin.wiki.csrfInvalidError')
40 #else
41 $services.localization.render('platform.wiki.admin.wiki.requiredFieldsError')
42 #end
43 #end
44 #else
45 ##
46 ## Display the UI.
47 ##
48 #set ($discard = $xwiki.jsfx.use('js/xwiki/actionbuttons/actionButtons.js', true))
49 #if ($doc.documentReference.name != $sheetDocName)
50 #set ($discard = $xwiki.jsx.use($sheetDocFullName))
51 #set ($discard = $xwiki.ssx.use($sheetDocFullName))
52 #end
53 {{html}}
54 <div class='xform'>
55 <form method='post' action="$xwiki.getURL($sheetDocFullName, 'get', 'outputSyntax=plain')">
56 <fieldset>
57 <dl>
58 <dt>
59 <label for='prettyName'>$services.localization.render('platform.wiki.sheet.prop.wikiprettyname')</label>
60 <span class='xHint'>$services.localization.render('platform.wiki.sheet.desc.wikiprettyname')</span>
61 </dt>
62 <dd>
63 <input id='prettyName' name='prettyName' type='text' size='30' value="$!{escapetool.xml($descriptor.prettyName)}" />
64 </dd>
65
66 <dt>
67 <label for='description'>$services.localization.render('platform.wiki.sheet.prop.description')</label>
68 <span class='xHint'>$services.localization.render('platform.wiki.sheet.desc.description')</span>
69 </dt>
70 <dd>
71 <textarea id='description' name='description'>$!{escapetool.xml($descriptor.description)}</textarea>
72 </dd>
73
74 <dt>
75 <label for='homepage'>
76 $services.localization.render('platform.wiki.sheet.prop.homepage') <span class="xRequired">$services.localization.render('core.validation.required')</span>
77 </label>
78 <span class='xHint'>$services.localization.render('platform.wiki.sheet.desc.homepage')</span>
79 </dt>
80 <dd>
81 #if ($descriptor.mainPageReference)
82 #set ($homepage = $services.model.serialize($descriptor.mainPageReference, 'local'))
83 #else
84 #set ($homepage = '')
85 #end
86 <input id='homepage' name='homepage' type='text' size='30' class='suggestDocuments' value="$!{escapetool.xml($homepage)}" />
87 </dd>
88
89 ## Only show the owner change form element if the current user is the current owner or a global admin (has edit on the wiki's descriptor document).
90 #set ($currentUserString = $services.model.serialize($xcontext.userReference, 'default'))
91 #set ($descriptorReference = $services.model.createDocumentReference($services.wiki.mainWikiId, 'XWiki', "XWikiServer${stringtool.capitalize($descriptor.id)}"))
92 #set ($descriptorFullName = $services.model.serialize($descriptorReference))
93 #set ($hasEditOnDescriptor = $xwiki.hasAccessLevel('edit', $currentUserString, $descriptorFullName))
94 #if ($currentUserString == "$!{services.wiki.currentWikiDescriptor.ownerId}" || $hasEditOnDescriptor)
95 <dt>
96 <label for='owner'>
97 $services.localization.render('platform.wiki.sheet.prop.owner') <span class="xRequired">$services.localization.render('core.validation.required')</span>
98 </label>
99 <span class='xHint'>$services.localization.render('platform.wiki.sheet.desc.owner')</span>
100 </dt>
101 <dd>
102 #set ($userPickerParams = {
103 'id': 'owner',
104 'name': 'owner',
105 'value': $descriptor.ownerId
106 })
107 #userPicker(false $userPickerParams)
108 </dd>
109
110 <dd class='warning'>
111 <label for='owner'>
112 <span class='xErrorMsg'>$services.localization.render('platform.wiki.admin.wiki.ownerWarning')</span>
113 </label>
114 </dd>
115 #end
116
117 </dl>
118 </fieldset>
119
120 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
121
122 <span class="buttonwrapper">
123 <input name='action_saveandcontinue' type='submit' class='button' value="$services.localization.render('admin.save')" />
124 </span>
125 </form>
126 </div>
127 {{/html}}
128 #end
129 #else
130 {{html}}
131 #xwikimessageboxstart($services.localization.render('error') $services.localization.render('notallowed'))
132 #xwikimessageboxend()
133 {{/html}}
134 #end
135 {{/velocity}}