From 344a043aa41afa18e1efb65f9b8146f2b827e101 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Tue, 2 Feb 2021 14:10:49 +0000 Subject: [PATCH] Bug 27594: Add access to public download link for publicly-accessible uploads This patch adds a link to the display of publicly-accessible uploads so that the user can copy the public link. This will hopefully lead to easier use of sound file uploads in the Audio Alerts system. To test, apply the patch and go to Tools -> Upload. - If necessary, upload a file with the "Allow public downloads" checkbox checked. - Upon upload you should be shown the results of your upload in a table with the file details. - In the "Public" column you should see that "Yes" is a link. - When you hover your mouse over the link you should see a tooltip, "Copy link to this file." - When you click the link the tooltip should say "Link copied to the clipboard." - Verify that the correct link has been copied. - Test uploading a file which is not publicly-accessible. - Confirm that the information in the "Public" column says "No" and is not a link. --- .../intranet-tmpl/prog/en/modules/tools/upload.tt | 20 +++++++++++++++++++- koha-tmpl/intranet-tmpl/prog/js/staff-global.js | 15 ++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload.tt index 3ed10dcae3..620fc02d13 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload.tt @@ -170,7 +170,13 @@ [% record.hashvalue | html %] [% record.uploadcategorycode | html %] [% IF !plugin %] - [% IF record.public %]Yes[% ELSE %]No[% END %] + + [% IF record.public %] + Yes + [% ELSE %] + No + [% END %] + [% IF record.permanent %]No[% ELSE %]Yes[% END %] [% END %] @@ -425,6 +431,18 @@ e.preventDefault(); SubmitMe('new'); }); + + $(".get-file").on("click", function(e){ + e.preventDefault(); + copyToClipboard( $(this).attr("href") ); + $(this).attr("data-original-title", _( "Link copied to the clipboard" ) ) + .tooltip("show"); + }); + $(".get-file").tooltip({ + delay: { "show": 100, "hide": 500 } + }).on("hidden.bs.tooltip", function(){ + $(this).attr("data-original-title", _( "Copy link to this file" ) ); + }); }); [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/js/staff-global.js index 4f06af9465..7411567556 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js +++ b/koha-tmpl/intranet-tmpl/prog/js/staff-global.js @@ -1,5 +1,5 @@ /* global shortcut delCookie delBasket Sticky */ -/* exported paramOfUrl addBibToContext delBibToContext */ +/* exported paramOfUrl addBibToContext delBibToContext copyToClipboard */ if ( KOHA === undefined ) var KOHA = {}; function _(s) { return s; } // dummy function for gettext @@ -358,3 +358,16 @@ function saveOrClearSimpleSearchParams() { localStorage.setItem('cat_search_pulldown_selection', pulldown_selection ); localStorage.setItem('searchbox_value', searchbox_value ); } + +// https://hackernoon.com/copying-text-to-clipboard-with-javascript-df4d4988697f +function copyToClipboard( text ){ + var el = document.createElement("textarea"); // Create a