Koha/opac
Marcel de Rooy 83ea49a009 Bug 14321: Integrate Upload.pm into Koha
This patch makes the following changes to achieve that:
[1] Use Upload.pm in stage-marc-import.pl, upload-cover-image.pl,
    offline_circ/process_koc.pl and enqueue_koc.pl.
[2] A new file-upload.js replaces file-upload.inc in the associated template.
    We now use ajax to get progress figures instead of launching perl script
    upload-file-progress.
    The js changes now also allow for aborting a file upload.
[3] Adds a tools/upload script and template. It allows to upload multiple
    files at once.
[4] Makes upload-file return error messages in JSON. For a multiple upload,
    we could have some files with errors and others without errors.
    The upload is now marked as Failed only if there was no upload at all.
[5] The upload plugin is converted to use tools/upload with plugin param.
    Deleting an upload is now presented via the search results form.

NOTE: In editing the process_koc.tt I noticed that the form enqueuefile was
hidden and no longer used (with associated code in process_koc.pl). When a
file has been uploaded, I display the form again (with the Apply directly
button). The code still works.

NOTE: We fix an error in upload-file from one of the patches of bug 6874.
The userid of the Koha admin user is passed to haspermission, but we
should pick the userid from the session.

NOTE: Bug 14686 will add a specific permission for tools/upload.pl, and
will add the tools/upload script to the Tools menu.
For now, you need edit_catalogue to start upload.pl and you will
additionally need a permission like upload_local_cover_images
to successfully upload a new file.

Test plan:
[1] Upload a marc file in stage-marc-import. (This is temp storage.)
[2] Check new entry in table uploaded_files. Look for the file in your
    temporary directory (/tmp ?), subfolder koha_upload.
    Bonus: Remove permissions on this subfolder. Retry, check error and
    restore permissions again.
[3] Upload another (larger) file and abort the upload. Check table and
    directory again. You should have a partial file, but no record.
[4] Verify that Stage for import still works as expected.
[5] Test Upload local cover image. (Enable OPACLocalCoverImages.) You can
    test an individual image or a zip file including images and a file
    called datalink.txt (with lines biblionumber,filename).
[6] Test uploading a offline circulation file:
    Enable AllowOfflineCirculation, and create a koc file (plain text):
    Line1: Version=1.0\tA=1\tB=2
    Line2: 2015-08-06 08:00:00 345\treturn\t[barcode]
    Note: Replace tabs and barcode. The number of tabs is essential!
    Checkout the item with your barcode.
    Go to Offline circulation file upload. Upload and click Apply directly.
    Checkout again. Upload again, click Add to offline circulation queue.
[7] Upload three files via tools/upload.pl with a category and marked as
    public. Check the results in the table.
    Verify that you can download the file in OPAC without being logged in.
[8] Pick one new file and one of the files of step 7. Upload them in the
    same category. One upload should succeed. Check for reported error.
[9] Connect upload.pl to field 856$u.
    Goto Cataloguing editor.
    In an empty 856$u, click the tag editor. Upload a file and click Choose.
    Save the record. Open the record in the OPAC and click the link.
    Copy this link to your clipboard for next step.
[A] Go back to editor. Click the tag editor on the same 856 field.
    Choose for Delete.
    Open the link in your clipboard again. Error message?
[B] Check the process of upload, search, download and delete of an upload
    with some diacritical characters in the filename. (Bonus points for
    adding special chars in the category code.)
    Note: You can add categories via authorized values, UPLOAD key.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Bug 14321: [QA Follow-up] Perltidy upload.pl

Run perltidy -pro=xt/perltidyrc on tools/upload.pl.
No other changes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-09-25 12:02:52 -03:00
..
errors Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
rss adding file just for creating the rss directory 2007-08-02 08:50:43 +00:00
sco Bug 14298: Use the new permission in the sco scripts 2015-09-25 11:15:48 -03:00
svc Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
ilsdi.pl Revert "Bug 6679: Fixing code so it passes basic Perl:::Critic tests" 2015-05-26 14:16:31 -03:00
maintenance.pl Bug 13758: Move the Koha version from kohaversion.pl 2015-05-07 11:39:04 -03:00
oai.pl Bug 12252: (follow-up) Include item data only in extended mode 2015-09-17 11:02:30 -03:00
opac-account.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-addbybiblionumber.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-alert-subscribe.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-authorities-home.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-authoritiesdetail.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-basket.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-blocked.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac-browser.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-changelanguage.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-course-details.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-course-reserves.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-detail.pl Bug 14496: Improving opac-detail.pl performances 2015-07-10 10:53:48 -03:00
opac-discharge.pl Bug 14280: Add branches fields to discharges letters 2015-06-11 13:12:32 -03:00
opac-downloadcart.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-downloadshelf.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-export.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-ics.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-idref.pl Bug 8992: Interfacing with the Idref webservice 2015-04-28 15:46:26 -03:00
opac-image.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-imageviewer.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-ISBDdetail.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-main.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-MARCdetail.pl Bug 10938: Item columns displayed in random order - OPAC 2015-06-05 14:13:39 -03:00
opac-memberentry.pl Bug 14675: Don't update details if no changes made 2015-08-20 13:42:04 -03:00
opac-messaging.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
opac-modrequest-suspend.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-modrequest.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-mymessages.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-news-rss.pl Bug 7843: (QA followup) Make news selection persistant 2015-04-30 16:33:21 -03:00
opac-overdrive-search.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac-passwd.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-patron-image.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-privacy.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
opac-ratings-ajax.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-ratings.pl Bug 14440: get_template_and_user can not have an empty template_name (opac-ratings.pl) 2015-06-25 14:41:21 -03:00
opac-readingrecord.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-registration-verify.pl Bug 11693: Default emailing preferences not loaded for self registering patron 2015-07-24 13:44:39 -03:00
opac-renew.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-reserve.pl Bug 9809: [QA Follow-up] Remove an erroneous call to GetReserveFee 2015-08-26 10:26:54 -03:00
opac-restrictedpage.pl Bug 13485: Use the Koha template plugin to access syspref values 2015-08-11 15:15:36 -03:00
opac-retrieve-file.pl Bug 14321: Integrate Upload.pm into Koha 2015-09-25 12:02:52 -03:00
opac-review.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-search-history.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-search.pl Bug 14371: Facets should be sorted by label (displayed) not title (link value) 2015-06-22 11:49:01 -03:00
opac-sendbasket.pl Bug 14330: Remove unused email_sender from sendbasket/sendshelf 2015-06-08 10:38:08 -03:00
opac-sendshelf.pl Bug 14330: Remove unused email_sender from sendbasket/sendshelf 2015-06-08 10:38:08 -03:00
opac-serial-issues.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-shareshelf.pl Bug 5010: Fix OPACBaseURL to include protocol 2015-06-04 10:00:04 -03:00
opac-shelves.pl Bug 13986: Implement fix for OPAC 2015-05-15 16:01:47 -03:00
opac-showmarc.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac-showreviews.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-suggestions.pl Bug 4137: Fix the OPACViewOthersSuggestions behavior 2015-06-19 11:34:27 -03:00
opac-tags.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-tags_subject.pl Bug 14412: SQL injection possible 2015-06-22 11:00:10 -03:00
opac-topissues.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-user.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
tracklinks.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
unapi Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00