Bug 10678 - Allow framework selection when creating from Z39.50
authorTomas Cohen Arazi <tomascohen@gmail.com>
Fri, 2 Aug 2013 18:22:43 +0000 (15:22 -0300)
committerGalen Charlton <gmc@esilibrary.com>
Sun, 8 Sep 2013 22:31:09 +0000 (22:31 +0000)
If we are creating a new record, we are forced to use the default framework
and then change it after we have the cataloguing form filled. This patch
adds the option to choose (from a splitted button dropdown) which framework
to use.

To test:
- Apply the patch.
- Go to More > Cataloguing
- Check there's a nice split button that says "New from Z39.50"
a) Click the button, the usual Z39.50 search popup should appear and work as expected
   (check the URL parameters and see frameworkcode= has no value
b) Click on the dropdown arrow, choose a framework and the usual Z39.50 search popup should
   appear, this time frameworkcode= should have the chosen value.

Edit: fixed a small bug that prevented the default framework to be called. Thanks Owen for testing.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Notes on second patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt

index 3889df8..d2ab6a8 100644 (file)
@@ -7,21 +7,26 @@
 
      $(document).ready(function() {
         $("#z3950search").click(function(){
-            PopupZ3950();
+            PopupZ3950("");
+            return false;
+        });
+
+        $(".z3950searchFw").click(function(){
+            PopupZ3950($(this).prop('id'));
             return false;
         });
      });
 
     /* this function open a popup to search on z3950 server.  */
-    function PopupZ3950() {
-        var strQuery = GetZ3950Terms();
+    function PopupZ3950(fw) {
+        var strQuery = GetZ3950Terms(fw);
         if(strQuery){
             window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber %]"+strQuery,"z3950search",'width=760,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
         }
     }
     /* provide Z3950 search points */
-    function GetZ3950Terms(){
-        var strQuery="&frameworkcode=";
+    function GetZ3950Terms(fw){
+        var strQuery="&frameworkcode=" + fw;
         [% FOREACH z3950_search_param IN z3950_search_params %]
             strQuery += "&" + "[% z3950_search_param.name %]" + "=" + "[% z3950_search_param.encvalue %]";
         [% END %]
                 [% END %]
             </ul>
         </div>
-        <div class="btn-group"><a id="z3950search" class="btn btn-small" href="/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=[% FOREACH z3950_search_param IN z3950_search_params %]&amp;[% z3950_search_param.name %]=[% z3950_search_param.encvalue %][% END %]"><i class="icon-search"></i> Z39.50 search</a></div>
+        <div class="btn-group">
+            <button class="btn btn-small" id="z3950search"><i class="icon-search"></i> New from Z39.50</button>
+            <button class="btn btn-small dropdown-toggle" data-toggle="dropdown">
+                <span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu">
+                <li id="" class="z3950searchFw"><a href="#">Default framework</a></li>
+                [% FOREACH frameworkcodeloo IN frameworkcodeloop %]
+                <li id="[% frameworkcodeloo.value %]" class="z3950searchFw"><a href="#">[% frameworkcodeloo.frameworktext %]</a></li>
+                [% END %]
+            </ul>
+        </div>
   </div>
 [% END %]