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) {