commit ac4bec6185675121dc2a63f76bd709cb687c0934
parent b9d6a97b72ba8044ad59f9b9b3888f2b9ea9c62d
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date: Wed, 7 Aug 2024 19:06:08 -0700
Escape any special characters in username or floorplan name
Diffstat:
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/files/floorplans/main.css b/files/floorplans/main.css
@@ -45,6 +45,10 @@
opacity: 100%;
}
+.floorplan > header {
+ min-height: 25%;
+}
+
input.fp_name {
font-size: larger;
}
@@ -55,4 +59,5 @@ input.fp_address {
input {
display: block;
+ max-width: 80%;
}
diff --git a/files/floorplans/main.js b/files/floorplans/main.js
@@ -21,7 +21,7 @@ function init() {
)
)
- api.fetch("GET", "floorplans/" + localStorage.getItem("username"))
+ api.fetch("GET", "floorplans/" + etc.url_literal(localStorage.getItem("username")))
.then(show_floorplans)
}
@@ -76,7 +76,7 @@ function commit_editable_floorplan_func(element, data) {
return
}
- return api.fetch("PATCH", "floorplans/" + localStorage.getItem("username") + "/" + data.name, patches)
+ return api.fetch("PATCH", "floorplans/" + etc.url_literal(localStorage.getItem("username")) + "/" + etc.url_literal(data.name), patches)
.then(function(rdata) {
for (let i in rdata) {
data[i] = rdata[i]
@@ -103,7 +103,7 @@ function editable_floorplan_create_func(element) {
}
}
- return api.fetch("POST", "floorplans/" + localStorage.getItem("username"), data)
+ return api.fetch("POST", "floorplans/" + etc.url_literal(localStorage.getItem("username")), data)
.then(function(rdata) {
for (let i in rdata) {
data[i] = rdata[i]
@@ -184,7 +184,7 @@ function make_input(name, options) {
function delete_floorplan_func(item, floorplan) {
return function() {
- api.fetch("DELETE", "floorplans/" + floorplan.user + "/" + floorplan.name)
+ api.fetch("DELETE", "floorplans/" + etc.url_literal(floorplan.user) + "/" + etc.url_literal(floorplan.name))
.then(function() {
item.parentElement.remove()
})
diff --git a/files/lib/etc.js b/files/lib/etc.js
@@ -79,3 +79,7 @@ export function handle_wrap(func, on) {
}
}
}
+
+export function url_literal(text) {
+ return encodeURIComponent(text)
+}