diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
index 30a2351112..24986a09db 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
@@ -1286,7 +1286,7 @@
searchable: false,
orderable: false,
render: function (data, type, row, meta) {
- return ''.format(row.suggestion_id);
+ return ''.format(escape_str(row.suggestion_id));
},
},
{
@@ -1294,19 +1294,19 @@
searchable: true,
orderable: true,
render: function (data, type, row, meta) {
- let a = ''.format(row.suggestion_id, _("suggestion"));
- let node = a + (row.author ? a + _("%s, by %s").format(row.title.escapeHtml(), row.author.escapeHtml()) : row.title.escapeHtml());
+ let node = '%s'.format(escape_str(row.suggestion_id), escape_str(_("suggestion")), escape_str(row.title));
+ if (row.author) node += ", by %s".format(escape_str(row.author));
node += "
";
- if (row.copyright_date) node += ' © %s'.format(row.copyright_date);
- if (row.volume_desc) node += '; %s:%s'.format(_("Volume"), row.volume_desc);
- if (row.isbn) node += '; %s:%s'.format(_("ISBN"), row.isbn);
- if (row.publisher_code) node += '; %s %s'.format(_("Published by"), row.publisher_code);
- if (row.publication_year && row.publication_year != 0) node += '; %s'.format(row.publication_year);
- if (row.publication_place) node += '; %s'.format(row.publication_place);
- if (row.collection_title) node += '; %s'.format(row.collection_title);
- if (row.item_type && row._strings.item_type.str) node += '; %s'.format(row._strings.item_type.str);
- if (row.note) node += '
%s
'.format(row.note);
- if (row.archived) node += '
%s'.format(_("Archived"));
+ if (row.copyright_date) node += ' © %s'.format(escape_str(row.copyright_date));
+ if (row.volume_desc) node += '; %s:%s'.format(escape_str(_("Volume")), escape_str(row.volume_desc));
+ if (row.isbn) node += '; %s:%s'.format(escape_str(_("ISBN")), escape_str(row.isbn));
+ if (row.publisher_code) node += '; %s %s'.format(escape_str(_("Published by")), escape_str(row.publisher_code));
+ if (row.publication_year && row.publication_year != 0) node += '; %s'.format(escape_str(row.publication_year));
+ if (row.publication_place) node += '; %s'.format(escape_str(row.publication_place));
+ if (row.collection_title) node += '; %s'.format(escape_str(row.collection_title));
+ if (row.item_type && row._strings.item_type.str) node += '; %s'.format(escape_str(row._strings.item_type.str));
+ if (row.note) node += '%s
'.format(escape_str(row.note));
+ if (row.archived) node += '
%s'.format(escape_str(_("Archived")));
return node;
},
},
@@ -1317,9 +1317,9 @@
render: function (data, type, row, meta) {
let suggester = row.suggester;
if (suggester) {
- let node = '%s'.format(suggester.patron_id, suggester.surname);
- if (suggester.firstname) node += ", %s".format(suggester.firstname);
- if (suggester.cardnumber) node += " (%s)".format(suggester.cardnumber);
+ let node = '%s'.format(escape_str(suggester.patron_id), escape_str(suggester.surname));
+ if (suggester.firstname) node += ", %s".format(escape_str(suggester.firstname));
+ if (suggester.cardnumber) node += " (%s)".format(escape_str(suggester.cardnumber));
node += "";
return node;
}
@@ -1356,8 +1356,8 @@
orderable: true,
render: function (data, type, row, meta) {
if (row.manager) {
- let node = '%s'.format(row.manager?.patron_id, row.manager?.surname);
- if (row.manager?.firstname) node += ", %s".format(row.manager?.firstname);
+ let node = '%s'.format(escape_str(row.manager?.patron_id), escape_str(row.manager?.surname));
+ if (row.manager?.firstname) node += ", %s".format(escape_str(row.manager?.firstname));
node += "";
return node;
}
@@ -1378,8 +1378,8 @@
orderable: true,
render: function (data, type, row, meta) {
if (row.last_modifier) {
- let node = '%s'.format(row.last_modifier?.patron_id, row.last_modifier?.surname);
- if (row.last_modifier?.firstname) node += ", %s".format(row.last_modifier?.firstname);
+ let node = '%s'.format(escape_str(row.last_modifier?.patron_id), escape_str(row.last_modifier?.surname));
+ if (row.last_modifier?.firstname) node += ", %s".format(escape_str(row.last_modifier?.firstname));
node += "";
return node;
}
@@ -1432,16 +1432,16 @@
orderable: true,
render: function (data, type, row, meta) {
let node = "";
- if (row.status === "ASKED") node += '%s'.format(_("Pending"));
- else if (row.status === "ACCEPTED") node += '%s'.format(_("Accepted"));
- else if (row.status === "ORDERED") node += '%s'.format(_("Ordered"));
- else if (row.status === "REJECTED") node += '%s'.format(_("Rejected"));
- else if (row.status === "CHECKED") node += '%s'.format(_("Checked"));
- else if (row.status === "AVAILABLE") node += '%s'.format(_("Available"));
- else if (row._strings.status.str) node += '%s'.format(row._strings.status.str);
- else node += '%s'.format(_("Status unknown"));
+ if (row.status === "ASKED") node += '%s'.format(escape_str(_("Pending")));
+ else if (row.status === "ACCEPTED") node += '%s'.format(escape_str(_("Accepted")));
+ else if (row.status === "ORDERED") node += '%s'.format(escape_str(_("Ordered")));
+ else if (row.status === "REJECTED") node += '%s'.format(escape_str(_("Rejected")));
+ else if (row.status === "CHECKED") node += '%s'.format(escape_str(_("Checked")));
+ else if (row.status === "AVAILABLE") node += '%s'.format(escape_str(_("Available")));
+ else if (row._strings.status.str) node += '%s'.format(escape_str(row._strings.status.str));
+ else node += '%s'.format(escape_str(_("Status unknown")));
if (row.reason) {
- node += '(' + row.reason + ")
";
+ node += '(' + escape_str(row.reason) + ")
";
}
return node;
},
@@ -1454,23 +1454,28 @@
if (Koha.permissions.CAN_user_suggestions_suggestions_manage) {
let node = '';
node += '
%s'.format(
- row.suggestion_id,
- _("Edit")
+ escape_str(row.suggestion_id),
+ escape_str(_("Edit"))
);
- node += '
'.format(row.suggestion_id);
- node += '
";
return node;
} else if (Koha.permissions.CAN_user_suggestions_suggestions_delete) {
- return ''.format(row.suggestion_id, _("Delete"));
+ return ''.format(
+ escape_str(row.suggestion_id),
+ escape_str(_("Delete"))
+ );
}
},
createdCell: function (cell, cellData, rowData, rowIndex, colIndex) {