Bug 9684 : Correct path to compact.xsl
authorColin Campbell <colin.campbell@ptfs-europe.com>
Fri, 26 Apr 2013 16:11:37 +0000 (17:11 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Sat, 27 Apr 2013 11:08:13 +0000 (07:08 -0400)
When try to display card view of retrieved record
error occurred as compact.xsl could not be found
script was constructing path as though it was opac

Also added fallback to en version if no xsl file
found under current lang as done in opac-showmarc.pl

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Test plan:

* Set sys pref to use CCSR
* Do a Z39.50 Search
* Click 'card' on one of the results
* confirm that there is no error.

All test pass

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I am astonished that opacthemes affects Z39.50 search in
staff so this might be fixing a bigger problem.

Checked that clicking on Card works for both themes now
correctly after I confirmed the bug.
Also all views in OPAC were checked for both themes.

All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>

catalogue/showmarc.pl

index 1c453c4..0ee70c5 100755 (executable)
@@ -52,10 +52,13 @@ else {
 }
 
 if($view eq 'card') {
-    my $themelang = '/' . C4::Context->preference("opacthemes") .  '/' . C4::Templates::_current_language();
+    my $themelang =  '/' . C4::Templates::_current_language();
     my $xmlrecord= $importid? $record->as_xml(): GetXmlBiblio($biblionumber);
     my $xslfile =
-      C4::Context->config('intrahtdocs') . $themelang . "/xslt/compact.xsl";
+      C4::Context->config('intrahtdocs') . '/prog' . $themelang . "/xslt/compact.xsl";
+    if ( ! -f $xslfile && $themelang ne '/en' ) {
+        $xslfile=~s#$themelang#/en#;
+    }
     my $parser       = XML::LibXML->new();
     my $xslt         = XML::LibXSLT->new();
     my $source       = $parser->parse_string($xmlrecord);