Bug 17109: Remove second authentication from (opac-)sendbasket
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Thu, 11 Aug 2016 11:10:21 +0000 (13:10 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 9 Sep 2016 13:37:46 +0000 (13:37 +0000)
Patch deals with opac and intranet variant.
If we authenticated the first time, it is not necessary to do it
a second time rightaway.

Replaces a call to get_template_and_user (including checkauth) by
gettemplate.

Also removes duplicate use C4::Biblio statements.

Test plan:
[1] Put a few books in the cart.
[2] Send the cart from OPAC.
[3] Send the cart from intranet.

Tested 3 patches together. Works as expected.
Signed-off-by: Marc VĂ©ron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

basket/sendbasket.pl
opac/opac-sendbasket.pl

index 14c9882..16155d7 100755 (executable)
@@ -15,8 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use Encode qw(encode);
@@ -29,7 +28,7 @@ use C4::Biblio;
 use C4::Items;
 use C4::Auth;
 use C4::Output;
-use C4::Biblio;
+use C4::Templates ();
 use Koha::Email;
 
 my $query = new CGI;
@@ -53,15 +52,13 @@ if ( $email_add ) {
     my $email = Koha::Email->new();
     my %mail = $email->create_message_headers({ to => $email_add });
     my $comment    = $query->param('comment');
-    my ( $template2, $borrowernumber, $cookie ) = get_template_and_user(
-        {
-            template_name   => "basket/sendbasket.tt",
-            query           => $query,
-            type            => "intranet",
-            authnotrequired => 0,
-            flagsrequired   => { catalogue => 1 },
-        }
+
+    # Since we are already logged in, no need to check credentials again
+    # We only need to add OPACBaseURL
+    my $template2 = C4::Templates::gettemplate(
+        'basket/sendbasket.tt', 'intranet', $query,
     );
+    $template2->param( OPACBaseURL => C4::Context->preference('OPACBaseURL') );
 
     my @bibs = split( /\//, $bib_list );
     my @results;
index 97b64fd..baa88b5 100755 (executable)
@@ -17,8 +17,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use Encode qw(encode);
@@ -31,8 +30,8 @@ use C4::Biblio;
 use C4::Items;
 use C4::Auth;
 use C4::Output;
-use C4::Biblio;
 use C4::Members;
+use C4::Templates ();
 use Koha::Email;
 
 my $query = new CGI;
@@ -67,14 +66,12 @@ if ( $email_add ) {
     });
     $mail{'X-Abuse-Report'} = C4::Context->preference('KohaAdminEmailAddress');
 
-    my ( $template2, $borrowernumber, $cookie ) = get_template_and_user(
-        {
-            template_name   => "opac-sendbasket.tt",
-            query           => $query,
-            type            => "opac",
-            authnotrequired => 0,
-        }
+    # Since we are already logged in, no need to check credentials again
+    # We only need to add OPACBaseURL
+    my $template2 = C4::Templates::gettemplate(
+        'opac-sendbasket.tt', 'opac', $query,
     );
+    $template2->param( OPACBaseURL => C4::Context->preference('OPACBaseURL') );
 
     my @bibs = split( /\//, $bib_list );
     my @results;