mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Merge pull request from GHSA-fr2w-mp56-g4xp
* Enforce file download for attachments table(s) * Enforce file download for attachment in 'StockItemTestResult' table (cherry picked from commit 76aa3a75f2e5b93877a229e29326b8b4ea815aea)
This commit is contained in:
parent
9bdbb0137f
commit
1a42be3166
InvenTree/templates/js/translated
@ -149,7 +149,7 @@ function loadAttachmentTable(url, options) {
|
||||
|
||||
var html = `<span class='fas ${icon}'></span> ${filename}`;
|
||||
|
||||
return renderLink(html, value);
|
||||
return renderLink(html, value, {download: true});
|
||||
} else if (row.link) {
|
||||
var html = `<span class='fas fa-link'></span> ${row.link}`;
|
||||
return renderLink(html, row.link);
|
||||
|
@ -1306,7 +1306,8 @@ function loadStockTestResultsTable(table, options) {
|
||||
var html = value;
|
||||
|
||||
if (row.attachment) {
|
||||
html += `<a href='${row.attachment}'><span class='fas fa-file-alt float-right'></span></a>`;
|
||||
var text = `<span class='fas fa-file-alt float-right'></span>`;
|
||||
html += renderLink(text, row.attachment, {download: true});
|
||||
}
|
||||
|
||||
return html;
|
||||
|
@ -92,6 +92,13 @@ function renderLink(text, url, options={}) {
|
||||
|
||||
var max_length = options.max_length || -1;
|
||||
|
||||
var extra = '';
|
||||
|
||||
if (options.download) {
|
||||
var fn = url.split('/').at(-1);
|
||||
extra += ` download='${fn}'`;
|
||||
}
|
||||
|
||||
// Shorten the displayed length if required
|
||||
if ((max_length > 0) && (text.length > max_length)) {
|
||||
var slice_length = (max_length - 3) / 2;
|
||||
@ -102,7 +109,7 @@ function renderLink(text, url, options={}) {
|
||||
text = `${text_start}...${text_end}`;
|
||||
}
|
||||
|
||||
return '<a href="' + url + '">' + text + '</a>';
|
||||
return `<a href='${url}'${extra}>${text}</a>`;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user