From 25382684af51922d87075a0253af18a1682223e7 Mon Sep 17 00:00:00 2001
From: Chris Hallberg <crhallberg@gmail.com>
Date: Tue, 7 Feb 2017 14:37:31 -0500
Subject: [PATCH] PR#903 - Fav action direct download.

---
 module/VuFind/src/VuFind/Controller/CartController.php | 5 ++++-
 themes/bootstrap3/js/lightbox.js                       | 8 +++++++-
 themes/bootstrap3/templates/cart/export-success.phtml  | 2 +-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/module/VuFind/src/VuFind/Controller/CartController.php b/module/VuFind/src/VuFind/Controller/CartController.php
index 71e5355dfd9..d3ad3fe8a9b 100644
--- a/module/VuFind/src/VuFind/Controller/CartController.php
+++ b/module/VuFind/src/VuFind/Controller/CartController.php
@@ -339,7 +339,10 @@ class CartController extends AbstractBase
             $msg = [
                 'translate' => false, 'html' => true,
                 'msg' => $this->getViewRenderer()->render(
-                    'cart/export-success.phtml', ['url' => $url]
+                    'cart/export-success.phtml', [
+                        'url' => $url,
+                        'exportType' => $export->getBulkExportType($format)
+                    ]
                 )
             ];
             return $this->redirectToSource('success', $msg);
diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js
index ca4019a59a5..9c82c9d3a86 100644
--- a/themes/bootstrap3/js/lightbox.js
+++ b/themes/bootstrap3/js/lightbox.js
@@ -72,7 +72,13 @@ VuFind.register('lightbox', function Lightbox() {
     var htmlDiv = $('<div/>').html(content);
     var alerts = htmlDiv.find('.flash-message.alert-success');
     if (alerts.length > 0) {
-      showAlert(alerts[0].innerHTML, 'success');
+      var href = alerts.find('.download').attr('href');
+      if (typeof href !== 'undefined') {
+        location.href = href;
+        _modal.modal('hide');
+      } else {
+        showAlert(alerts[0].innerHTML, 'success');
+      }
       return;
     }
     // Deframe HTML
diff --git a/themes/bootstrap3/templates/cart/export-success.phtml b/themes/bootstrap3/templates/cart/export-success.phtml
index 913f259893c..d3b57410399 100644
--- a/themes/bootstrap3/templates/cart/export-success.phtml
+++ b/themes/bootstrap3/templates/cart/export-success.phtml
@@ -1,4 +1,4 @@
 <div class="text-center">
   <?=$this->transEsc('export_success')?>&nbsp;&mdash;&nbsp;
-  <a class="btn btn-primary" href="<?=$this->escapeHtmlAttr($this->url)?>"><?=$this->transEsc('export_download')?></a>
+  <a class="btn btn-primary <?=$this->exportType?>" href="<?=$this->escapeHtmlAttr($this->url)?>"><?=$this->transEsc('export_download')?></a>
 </div>
-- 
GitLab