Bug 14510: Allow column visibility in additem.pl to be customized
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / additem.tt
index 1cc8402..988d1ec 100644 (file)
@@ -1,9 +1,12 @@
+[% USE ColumnsSettings %]
+
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Cataloging &rsaquo; [% title |html %] [% IF ( author ) %] by [% author %][% END %] (Record #[% biblionumber %]) &rsaquo; Items</title>
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'datatables.inc' %]
 <script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
+[% INCLUDE 'columns_settings.inc' %]
 [% INCLUDE 'browser-strings.inc' %]
 <!--[if lt IE 9]>
 <script type="text/javascript" src="[% interface %]/lib/shims/json2.min.js"></script>
     browser.show();
 
 $(document).ready(function(){
+
+    // Remove the onclick event defined in browser.js,
+    // otherwise the deletion confirmation will not work correctly
+    $('a[href*="biblionumber="]').off('click');
+
     [% IF (popup) %]
         [% IF (opisadd) %]
             window.close();
         [% END %]
     [% END %]
             $("fieldset.rows input, fieldset.rows select").addClass("noEnterSubmit");
-               /* Inline edit/delete links */
-               var biblionumber = $("input[name='biblionumber']").attr("value");
-        $("tr.editable td").click(function(event){
-                       var $tgt = $(event.target);
-                       if($tgt.is("a")||$tgt.is(":first-child")||$tgt.is(":nth-child(2)")){ return true; } else {
-                       var rowid = $(this).parent().attr("id");
-                       num_rowid = rowid.replace("row","");
-                       $(".linktools").remove();
-                       $(this).append("<span class=\"linktools\"><a href=\"/cgi-bin/koha/cataloguing/additem.pl?op=edititem&frameworkcode=[% frameworkcode %]&biblionumber=[% biblionumber %]&itemnumber="+num_rowid+"#edititem\">" + _("Edit item") + "</a> <a href=\"/cgi-bin/koha/cataloguing/additem.pl?op=delitem&frameworkcode=[% frameworkcode %]&biblionumber=[% biblionumber %]&itemnumber="+num_rowid+"\" onclick=\"confirm_deletion([% biblionumber %],"+num_rowid+"); return false;\">" + _("Delete item") + "</a></span>");
-               }
-               });
+            /* Inline edit/delete links */
+            var biblionumber = $("input[name='biblionumber']").attr("value");
+            $("tr.editable").each(function(){
+                $(this).find("td:not(:first)").on('click', function(){
+                    var rowid = $(this).parent().attr("id");
+                    num_rowid = rowid.replace("row","");
+                    $(".linktools").remove();
+                    var edit_link = $('<a href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&frameworkcode=[% frameworkcode %]&biblionumber=[% biblionumber %]&itemnumber='+num_rowid+'&searchid=[% searchid %]#edititem">' + _("Edit item") + '</a>');
+                    var delete_link = $('<a href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&frameworkcode=[% frameworkcode %]&biblionumber=[% biblionumber %]&itemnumber='+num_rowid+'&searchid=[% searchid %]">' + _("Delete item") + '</a></span>');
+                    $(delete_link).on('click', function(e) {
+                        return confirm_deletion();
+                    });
+                    var tools_node = $('<span class="linktools"></span>');
+                    $(tools_node).append(edit_link);
+                    $(tools_node).append(delete_link);
+                    $(this).append(tools_node);
+                });
+            });
 
-    var itemst = $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
+    var columns_settings = [% ColumnsSettings.GetColumns( 'cataloguing', 'additem', 'itemst', 'json' ) %]
+       // Skip the first column
+       columns_settings.unshift( { cannot_be_toggled: "1" } );
+
+    var itemst = KohaTable("#itemst", {
         "aoColumnDefs": [
           { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
         ],
         'bPaginate': false,
         'bInfo': false,
         "bAutoWidth": false
-    } ) );
+    }, columns_settings);
 
 });
-function active(numlayer)
-{
-    for (i=10; i < 11 ; i++ ) {
-        ong = i+"XX";
-            link = "link"+i;
-        if (numlayer==i) {
-            document.getElementById(ong).style.visibility="visible";
-            document.getElementById(link).style.backgroundColor="#11AA11";
-            document.getElementById(link).style.backgroundImage="url([% themelang %]/images/background-mem.gif)";
-        } else {
-            document.getElementById(ong).style.visibility="hidden";
-            document.getElementById(link).style.backgroundColor="#FFFFFF";
-            document.getElementById(link).style.backgroundImage="";
-        }
-    }
-}
 function Check(f) {
     var total_errors = CheckMandatorySubfields(f);
     if (total_errors==0) {
@@ -95,23 +98,10 @@ function Dopop(link,i) {
     newin=window.open(link+"&result="+defaultvalue,"valuebuilder",'width=500,height=400,toolbar=false,scrollbars=yes');
 }
 
-function confirm_deletion(biblionumber,itemnumber) {
-       var original = $("#row"+itemnumber).attr("class");
-       $("#row"+itemnumber).attr("class","confirm");
-    var is_confirmed = confirm(_("Are you sure you want to delete this item?"));
-    if (is_confirmed) {
-    window.location = "additem.pl?op=delitem&biblionumber="+biblionumber+"&itemnumber="+itemnumber;
-       } else {
-       $("#row"+itemnumber).attr("class","");
-    }
+function confirm_deletion() {
+    return confirm(_("Are you sure you want to delete this item?"));
 }
 
-$(document).ready(function() {
-    $("#cataloguing_additem_itemlist  tr").hover(
-        function () {$(this).addClass("highlight");},
-        function () {$(this).removeClass("highlight");}
-    );
-});
 //]]>
 </script>
 <link type="text/css" rel="stylesheet" href="[% themelang %]/css/addbiblio.css" />
@@ -151,9 +141,13 @@ $(document).ready(function() {
           <thead>
             <tr>
                 <th>&nbsp;</th>
-                [% FOREACH item_header_loo IN item_header_loop %]
-                    <th>
-                        [% item_header_loo.header_value %]
+                [% FOREACH item_header IN item_header_loop %]
+                    [% IF item_header.column_name %]
+                        <th data-colname="[% item_header.column_name %]">
+                    [% ELSE %]
+                        <th>
+                    [% END %]
+                        [% item_header.header_value %]
                     </th>
                 [% END %]
             </tr>
@@ -162,9 +156,9 @@ $(document).ready(function() {
                 [% FOREACH item_loo IN item_loop %]
                     [% IF ( item_loo.itemnumber == itemnumber) %]
                         [% IF item_loo.nomod %]
-                           <tr id="row[% item_loo.itemnumber %]" class="active">
+                           <tr id="row[% item_loo.itemnumber %]" class="active highlight">
                         [% ELSE %]
-                            <tr id="row[% item_loo.itemnumber %]" class="active editable">
+                            <tr id="row[% item_loo.itemnumber %]" class="active editable highlight">
                         [% END %]
                     [% ELSE %]
                         [% IF item_loo.nomod %]
@@ -178,13 +172,13 @@ $(document).ready(function() {
                     [% ELSE %]
                       <td>
                         [% IF ( item_loo.hostitemflag ) %]
-                          <a href="additem.pl?op=edititem&amp;biblionumber=[% item_loo.hostbiblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]#edititem">Edit in host</a> &nbsp; <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblionumber %]&amp;hostitemnumber=[% item_loo.itemnumber %]">Delink</a>
+                          <a href="additem.pl?op=edititem&amp;biblionumber=[% item_loo.hostbiblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]#edititem">Edit in host</a> &nbsp; <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblionumber %]&amp;hostitemnumber=[% item_loo.itemnumber %]&searchid=[% searchid %]">Delink</a>
                         [% ELSE %]
-                          <a href="additem.pl?op=edititem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]#edititem">Edit</a>
+                          <a href="additem.pl?op=edititem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]&searchid=[% searchid %]#edititem">Edit</a>
                           [% IF ( item_loo.countanalytics ) %]
                             <a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&amp;q=% item_loo.itemnumber %]">View analytics</a>
                           [% ELSE %]
-                            <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]" onclick="confirm_deletion([% biblionumber %],[% item_loo.itemnumber %]); return false;">Delete</a>
+                            <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]&searchid=[% searchid %]" onclick="return confirm_deletion();">Delete</a>
                           [% END %]
                         [% END %]
                       </td>
@@ -231,9 +225,9 @@ $(document).ready(function() {
                     <input type="hidden" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]">
                 [% ELSIF ( mv.type == 'select' ) %]
                     [% IF ( mv.readonlyselect ) %]
-                        <select name="[%- mv.name -%]" id="[%- mv.id -%]" size="1" class="input_marceditor" readonly="readonly" disabled="disabled">
+                        <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor" readonly="readonly" disabled="disabled">
                     [% ELSE %]
-                        <select name="[%- mv.name -%]" id="[%- mv.id -%]" size="1" class="input_marceditor">
+                        <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor">
                     [% END %]
                     [% FOREACH aval IN mv.values %]
                         [% IF aval == mv.default %]
@@ -246,7 +240,7 @@ $(document).ready(function() {
                 [% ELSIF ( mv.type == 'text_auth' ) %]
                     <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
                     [% SET dopop = "Dopop('/cgi-bin/koha/authorities/auth_finder.pl?authtypecode=\"${mv.authtypecode}\"&index=${mv.id}','${mv.id}')" %]
-                    <a href="#" class="buttonDot"  onclick="[%- dopop -%]; return false;" title="Tag Editor">...</a>
+                    <a href="#" class="buttonDot"  onclick="[%- dopop -%]; return false;" title="Tag editor">...</a>
                 [% ELSIF ( mv.type == 'text_plugin' ) %]
                     <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
                     [% IF ( mv.nopopup ) %]