Wiki source code of Administration
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #set ($configurationPageReference = $services.model.resolveDocument("XWiki.EntityNameValidation.Configuration")) | ||
3 | #set ($manager = $services.modelvalidation.manager) | ||
4 | #set ($config = $services.modelvalidation.configuration) | ||
5 | #set ($replaceCharacterConfig = $services.modelvalidation.replaceCharacterEntityNameValidationConfiguration) | ||
6 | #set ($configurationPage = $xwiki.getDocument($configurationPageReference)) | ||
7 | #if ($configurationPage.isNew() || !$configurationPage.getObject('XWiki.EntityNameValidation.ConfigurationClass')) | ||
8 | #set($configObject = $configurationPage.newObject('XWiki.EntityNameValidation.ConfigurationClass')) | ||
9 | #set($discard = $configurationPage.save()) | ||
10 | #end | ||
11 | |||
12 | #macro (createReplacementCharacterModal) | ||
13 | <div class="modal" id="createReplacementCharacterModal" tabindex="-1" role="dialog" aria-labelledby="createReplacementCharacterModal-label" | ||
14 | data-backdrop="static" data-keyboard="false"> | ||
15 | <div class="modal-dialog" role="document"> | ||
16 | <div class="modal-content"> | ||
17 | <div class="modal-header"> | ||
18 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | ||
19 | <span aria-hidden="true">×</span> | ||
20 | </button> | ||
21 | <div class="modal-title" id="createReplacementCharacterModal-label"> | ||
22 | $escapetool.xml($services.localization.render('entitynamevalidation.replacementCharacter.addNewCharacter')) | ||
23 | </div> | ||
24 | </div> | ||
25 | <div class="modal-body"> | ||
26 | <dl> | ||
27 | <dt> | ||
28 | <label for="newForbiddenCharacter">$services.localization.render('entitynamevalidation.replacementCharacter.newForbiddenCharacter.label')</label> | ||
29 | <span class='xHint'>$services.localization.render('entitynamevalidation.replacementCharacter.newForbiddenCharacter.hint')</span> | ||
30 | </dt> | ||
31 | <dd> | ||
32 | <input type="text" placeholder="$services.localization.render('entitynamevalidation.replacementCharacter.newForbiddenCharacter.placeholder')" id="newForbiddenCharacter" /> | ||
33 | </dd> | ||
34 | </dl> | ||
35 | <dl> | ||
36 | <dt> | ||
37 | <label for="newReplacementCharacter">$services.localization.render('entitynamevalidation.replacementCharacter.newReplacementCharacter.label')</label> | ||
38 | <span class='xHint'>$services.localization.render('entitynamevalidation.replacementCharacter.newReplacementCharacter.hint')</span> | ||
39 | </dt> | ||
40 | <dd> | ||
41 | <input type="text" placeholder="$services.localization.render('entitynamevalidation.replacementCharacter.newReplacementCharacter.placeholder')" id="newReplacementCharacter" /> | ||
42 | </dd> | ||
43 | </dl> | ||
44 | </div> | ||
45 | <div class="modal-footer"> | ||
46 | <button type="button" class="btn btn-default" data-dismiss="modal"> | ||
47 | $escapetool.xml($services.localization.render('cancel')) | ||
48 | </button> | ||
49 | <button type="button" class="btn btn-primary" disabled="disabled"> | ||
50 | $escapetool.xml($services.localization.render('entitynamevalidation.replacementCharacter.add')) | ||
51 | </button> | ||
52 | </div> | ||
53 | </div> | ||
54 | </div> | ||
55 | </div> | ||
56 | #end | ||
57 | |||
58 | #macro (removeReplacementCharacterModal) | ||
59 | <div class="modal" id="removeReplacementCharacterModal" tabindex="-1" role="dialog" aria-labelledby="removeReplacementCharacterModal-label" | ||
60 | data-backdrop="static" data-keyboard="false"> | ||
61 | <div class="modal-dialog" role="document"> | ||
62 | <div class="modal-content"> | ||
63 | <div class="modal-header"> | ||
64 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | ||
65 | <span aria-hidden="true">×</span> | ||
66 | </button> | ||
67 | <div class="modal-title" id="removeReplacementCharacterModal-label"> | ||
68 | $escapetool.xml($services.localization.render('entitynamevalidation.replacementCharacter.removeCharacter')) | ||
69 | </div> | ||
70 | </div> | ||
71 | <div class="modal-body"> | ||
72 | $services.localization.render('entitynamevalidation.replacementCharacter.removeCharacter.warning') | ||
73 | </div> | ||
74 | <div class="modal-footer"> | ||
75 | <button type="button" class="btn btn-default" data-dismiss="modal"> | ||
76 | $escapetool.xml($services.localization.render('cancel')) | ||
77 | </button> | ||
78 | <button type="button" class="btn btn-danger"> | ||
79 | $escapetool.xml($services.localization.render('entitynamevalidation.replacementCharacter.removeCharacter.remove')) | ||
80 | </button> | ||
81 | </div> | ||
82 | </div> | ||
83 | </div> | ||
84 | </div> | ||
85 | #end | ||
86 | |||
87 | #set ($discard = $xwiki.jsx.use('XWiki.EntityNameValidation.Administration')) | ||
88 | #set ($selectedStrategy = $config.getEntityNameValidation()) | ||
89 | {{html clean="false"}} | ||
90 | <form method="post" id="entityNameValidationConfigForm" action="${xwiki.getURL('XWiki.EntityNameValidation.Configuration', 'save')}" class='xform'> | ||
91 | <div class="hidden"> | ||
92 | <input type='hidden' name='form_token' value="$!{services.csrf.getToken()}" /> | ||
93 | <input type='hidden' name='xredirect' value="$xwiki.getRequestURL()" /> | ||
94 | </div> | ||
95 | <dl> | ||
96 | <dt> | ||
97 | <label for="XWiki.EntityNameValidation.ConfigurationClass_0_currentStrategy">$services.localization.render('entitynamevalidation.currentStrategy.label')</label> | ||
98 | <span class='xHint'>$services.localization.render('entitynamevalidation.currentStrategy.hint')</span> | ||
99 | </dt> | ||
100 | <dd> | ||
101 | <select name="XWiki.EntityNameValidation.ConfigurationClass_0_currentStrategy" id="XWiki.EntityNameValidation.ConfigurationClass_0_currentStrategy"> | ||
102 | #foreach ($nameStrategy in $manager.getAvailableEntityNameValidations()) | ||
103 | <option value="${nameStrategy}" #if($nameStrategy == $selectedStrategy)selected='selected'#end> | ||
104 | $services.localization.render("entitynamevalidation.${nameStrategy}.name") | ||
105 | </option> | ||
106 | #end | ||
107 | </select> | ||
108 | </dd> | ||
109 | </dl> | ||
110 | <dl> | ||
111 | <dt> | ||
112 | <label for="XWiki.EntityNameValidation.ConfigurationClass_0_useTransformation">$services.localization.render('entitynamevalidation.useTransformation.label')</label> | ||
113 | <span class='xHint'>$services.localization.render('entitynamevalidation.useTransformation.hint')</span> | ||
114 | <dt> | ||
115 | <dd> | ||
116 | <select name="XWiki.EntityNameValidation.ConfigurationClass_0_useTransformation" id="XWiki.EntityNameValidation.ConfigurationClass_0_useTransformation"> | ||
117 | <option value="0" #if(!$config.useTransformation())selected="selected"#end>$services.localization.render('disabled')</option> | ||
118 | <option value="1" #if($config.useTransformation())selected="selected"#end>$services.localization.render('enabled')</option> | ||
119 | </select> | ||
120 | </dd> | ||
121 | </dl> | ||
122 | <dl> | ||
123 | <dt> | ||
124 | <label for="XWiki.EntityNameValidation.ConfigurationClass_0_useValidation">$services.localization.render('entitynamevalidation.useValidation.label')</label> | ||
125 | <span class='xHint'>$services.localization.render('entitynamevalidation.useValidation.hint')</span> | ||
126 | <dt> | ||
127 | <dd> | ||
128 | <select name="XWiki.EntityNameValidation.ConfigurationClass_0_useValidation" id="XWiki.EntityNameValidation.ConfigurationClass_0_useValidation"> | ||
129 | <option value="0" #if(!$config.useValidation())selected="selected"#end>$services.localization.render('disabled')</option> | ||
130 | <option value="1" #if($config.useValidation())selected="selected"#end>$services.localization.render('enabled')</option> | ||
131 | </select> | ||
132 | </dd> | ||
133 | </dl> | ||
134 | <div id="character-replacement-options" class="hidden"> | ||
135 | <h3>$services.localization.render('entitynamevalidation.replacementCharacter.configuration')</h3> | ||
136 | #set($ltOptions = { | ||
137 | "rowCount": 10, | ||
138 | "resultPage": "XWiki.EntityNameValidation.AdministrationJSON", | ||
139 | "outputOnlyHtml": true, | ||
140 | "translationPrefix" : "entitynamevalidation.replacementCharacter.livetable.", | ||
141 | "pageSize": false, | ||
142 | "queryFilters": "" | ||
143 | }) | ||
144 | #set($columns = ["forbiddenCharacter", "replacementCharacter", "_actions"]) | ||
145 | #set($columnsProperties = { | ||
146 | "forbiddenCharacter": { "type": "text" }, | ||
147 | "replacementCharacter": { "type": "text" }, | ||
148 | "_actions": { "actions": ["delete"] } | ||
149 | }) | ||
150 | #livetable("replacementCharacters" $columns $columnsProperties $ltOptions) | ||
151 | #createReplacementCharacterModal() | ||
152 | #removeReplacementCharacterModal() | ||
153 | <div class='buttonwrapper'> | ||
154 | <input id="addNewCharacter" value="$services.localization.render('entitynamevalidation.replacementCharacter.add')" class='button hidden' type='button' data-toggle="modal" data-target="${escapetool.h}createReplacementCharacterModal"> | ||
155 | </div> | ||
156 | </div> | ||
157 | <dl> | ||
158 | <dt> | ||
159 | <label for="testNameStrategy">$services.localization.render('entitynamevalidation.testStrategy.label')</label> | ||
160 | <span class='xHint'>$services.localization.render('entitynamevalidation.testStrategy.hint')</span> | ||
161 | <dt> | ||
162 | <dd> | ||
163 | <input type="text" placeholder="$services.localization.render('entitynamevalidation.testStrategy.placeholder')" id="testNameStrategy" /> | ||
164 | </dd> | ||
165 | </dl> | ||
166 | <dl class="hidden test-strategy"> | ||
167 | <dt> | ||
168 | $services.localization.render('entitynamevalidation.testStrategy.validName') | ||
169 | </dt> | ||
170 | <dd> | ||
171 | <span id="testNameStrategyIsValid_true" class="hidden">$services.localization.render('yes')</span> | ||
172 | <span id="testNameStrategyIsValid_false" class="hidden">$services.localization.render('no')</span> | ||
173 | </dd> | ||
174 | </dl> | ||
175 | <dl class="hidden test-strategy"> | ||
176 | <dt> | ||
177 | $services.localization.render('entitynamevalidation.testStrategy.transformedName') | ||
178 | </dt> | ||
179 | <dd> | ||
180 | <span id="testNameStrategyTransformedName"></span> | ||
181 | </dd> | ||
182 | </dl> | ||
183 | <div class='buttonwrapper'> | ||
184 | <input value="$services.localization.render('admin.save')" class='button' type='submit'> | ||
185 | </div> | ||
186 | </form> | ||
187 | {{/html}} | ||
188 | {{/velocity}} |