Skip to content

Commit 2cae47b

Browse files
committed
Ref #36652: update cleanhtml in templates
1 parent 3410f1d commit 2cae47b

5 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/main/java/eu/openanalytics/shinyproxy/controllers/AppController.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import eu.openanalytics.containerproxy.model.runtime.runtimevalues.PortMappingsKey;
3737
import eu.openanalytics.containerproxy.model.runtime.runtimevalues.PublicPathKey;
3838
import eu.openanalytics.containerproxy.model.runtime.runtimevalues.RuntimeValue;
39+
import eu.openanalytics.containerproxy.model.spec.ParameterDefinition;
3940
import eu.openanalytics.containerproxy.model.spec.ProxySpec;
4041
import eu.openanalytics.containerproxy.service.AsyncProxyService;
4142
import eu.openanalytics.containerproxy.service.InvalidParametersException;
@@ -80,6 +81,7 @@
8081
import javax.annotation.PostConstruct;
8182
import javax.inject.Inject;
8283
import java.io.IOException;
84+
import java.util.HashMap;
8385
import java.util.List;
8486
import java.util.Map;
8587
import java.util.Optional;
@@ -169,6 +171,11 @@ private ModelAndView app(ModelMap map, HttpServletRequest request, String appNam
169171
map.put("parameterValues", allowedParametersForUser.getValues());
170172
map.put("parameterDefaults", allowedParametersForUser.getDefaultValue());
171173
map.put("parameterDefinitions", spec.getParameters().getDefinitions());
174+
Map<ParameterDefinition, String> cleanedAppParameterDescriptions = new HashMap<>();
175+
for (ParameterDefinition parameterDefinition : spec.getParameters().getDefinitions()) {
176+
cleanedAppParameterDescriptions.put(parameterDefinition, thymeleaf.cleanHtml(parameterDefinition.getDescription()));
177+
}
178+
map.put("cleanedAppParameterDescriptions", cleanedAppParameterDescriptions);
172179
map.put("parameterIds", spec.getParameters().getIds());
173180

174181
if (spec.getParameters().getTemplate() != null) {

src/main/java/eu/openanalytics/shinyproxy/controllers/BaseController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ protected void prepareMap(ModelMap map, HttpServletRequest request, ProxySpec pr
185185
map.put("pauseSupported", backend.supportsPause());
186186
map.put("spInstance", identifierService.instanceId);
187187
map.put("allowTransferApp", allowTransferApp);
188-
map.put("notificationMessage", environment.getProperty("proxy.notification-message"));
188+
map.put("notificationMessage", thymeleaf.cleanHtml(environment.getProperty("proxy.notification-message")));
189189
map.put("bodyClasses", bodyClasses);
190190

191191
List<ProxySpec> apps = proxyService.getUserSpecs();

src/main/java/eu/openanalytics/shinyproxy/controllers/IndexController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,15 @@ private Object index(ModelMap map, HttpServletRequest request) {
9999

100100
Map<ProxySpec, Boolean> openSwitchInstanceInsteadOfApp = new HashMap<>();
101101
Map<ProxySpec, String> appUrl = new HashMap<>();
102+
Map<ProxySpec, String> cleanDescription = new HashMap<>();
102103
for (ProxySpec app : apps) {
103104
openSwitchInstanceInsteadOfApp.put(app, thymeleaf.openSwitchInstanceInsteadOfApp(app));
104105
appUrl.put(app, thymeleaf.getAppUrl(app));
106+
cleanDescription.put(app, thymeleaf.cleanHtml(app.getDescription()));
105107
}
106108
map.put("openSwitchInstanceInsteadOfApp", openSwitchInstanceInsteadOfApp);
107109
map.put("appUrl", appUrl);
110+
map.put("cleanDescription", cleanDescription);
108111

109112
// navbar
110113
map.put("page", "index");

src/main/resources/templates/app.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ <h2>Choose the parameters for this app</h2>
154154
th:text="${value}"></option>
155155
</select>
156156
<span class="help-block" th:if="${parameterDefinition.getDescription() != null}"
157-
th:utext="${@thymeleaf.cleanHtml(parameterDefinition.getDescription())}"></span>
157+
th:utext="${cleanedAppParameterDescriptions.get(parameterDefinition)}"></span>
158158
</div>
159159
</div>
160160

src/main/resources/templates/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
</th:block>
6464
<span class="app-list-title app-list-title-after" th:text="${app.displayName == null} ? ${app.id} : ${app.displayName}"></span>
6565
</a>
66-
<span class="app-list-description" th:if="${app.description != null}" th:utext="${@thymeleaf.cleanHtml(app.description)}"></span>
66+
<span class="app-list-description" th:if="${app.description != null}" th:utext="${cleanDescription.get(app)}"></span>
6767
</div>
6868
</th:block>
6969
</th:block>
@@ -75,7 +75,7 @@
7575
th:class="${myAppsMode == 'Inline' ? 'col-xs-12 col-md-4 col-md-offset-3 col-lg-5 col-lg-offset-3' : 'col-lg-6 col-lg-offset-3'}">
7676
<div class="alert alert-warning notification-message" role="alert" th:if="${notificationMessage != null}">
7777
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
78-
<p th:utext="${@thymeleaf.cleanHtml(notificationMessage)}"> </p>
78+
<p th:utext="${notificationMessage}"> </p>
7979
</div>
8080
<div class="alert alert-info" role="alert"
8181
th:if="${groupedApps.isEmpty() && ungroupedApps.isEmpty()}">

0 commit comments

Comments
 (0)