mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-30 20:55:42 +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
This commit is contained in:
		| @@ -228,7 +228,7 @@ function loadAttachmentTable(url, options) { | |||||||
|  |  | ||||||
|                         var html = `<span class='fas ${icon}'></span> ${filename}`; |                         var html = `<span class='fas ${icon}'></span> ${filename}`; | ||||||
|  |  | ||||||
|                         return renderLink(html, value); |                         return renderLink(html, value, {download: true}); | ||||||
|                     } else if (row.link) { |                     } else if (row.link) { | ||||||
|                         var html = `<span class='fas fa-link'></span> ${row.link}`; |                         var html = `<span class='fas fa-link'></span> ${row.link}`; | ||||||
|                         return renderLink(html, row.link); |                         return renderLink(html, row.link); | ||||||
|   | |||||||
| @@ -1358,7 +1358,8 @@ function loadStockTestResultsTable(table, options) { | |||||||
|                     var html = value; |                     var html = value; | ||||||
|  |  | ||||||
|                     if (row.attachment) { |                     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; |                     return html; | ||||||
|   | |||||||
| @@ -184,6 +184,13 @@ function renderLink(text, url, options={}) { | |||||||
|  |  | ||||||
|     var max_length = options.max_length || -1; |     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 |     // Shorten the displayed length if required | ||||||
|     if ((max_length > 0) && (text.length > max_length)) { |     if ((max_length > 0) && (text.length > max_length)) { | ||||||
|         var slice_length = (max_length - 3) / 2; |         var slice_length = (max_length - 3) / 2; | ||||||
| @@ -194,7 +201,7 @@ function renderLink(text, url, options={}) { | |||||||
|         text = `${text_start}...${text_end}`; |         text = `${text_start}...${text_end}`; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return '<a href="' + url + '">' + text + '</a>'; |     return `<a href='${url}'${extra}>${text}</a>`; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user