Bug 18655: Correct the choose link in unimarc_field_210c value builder
authorBaptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Tue, 23 May 2017 08:54:00 +0000 (08:54 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Mon, 15 Oct 2018 13:33:19 +0000 (13:33 +0000)
- Link 'choose' is now a button.
- It doesn't call directly javascript anymore (use of listener).
- field to load stored in html on the page (less escaping needed).

Test plan :
1) Use UNIMARC catalog
2) Define unimarc_field_210c value builder on 210$c
3) Define an autority type EDITORS with heading on 200$b
4) Create an autority of this type with a single quote in heading, ie : l'avenir
5) Index this new autority
6) Edit a biblio record and launch 210$c value builder
7) Search for new autority
8) Click on 'Choose'
=> Heading should be pasted in 210$c

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_210c.tt

index c4970e5..0ce0861 100644 (file)
                         <td>[% PROCESS authresult summary=resul.summary %]</td>
                         <td>[% resul.used | html %] times</td>
                         <td>
-                [% IF ( resul.to_report ) %]
-                            <a href="javascript:report('[% resul.to_report |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') | html %]')"><img alt="choose" src="[% interface | html %]/[% theme | html %]/images/arrow.gif" width="32" /></a>
-                [% END %]
+                        [% IF ( resul.to_report ) %]
+                            <button class="choosebt">Choose</button>
+                            <p class="toreport" style="display:none">[% resul.to_report |replace('\n', '\\n') |replace('\r', '\\r') |html %]</p>
+                        [% END %]
                         </td>
                     </tr>
                 [% END %]
 
 [% MACRO jsinclude BLOCK %]
     <script type="text/javascript">
+        $(document).ready(function(){
+            $(".choosebt").on("click",function(){
+                var toreport = $(this).siblings(".toreport").text();
+                report(toreport);
+            });
+        });
         function report(summary){
             var doc   = opener.document;
             var field = doc.getElementById('[% index | html %]');