Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt
Tomas Cohen Arazi 92f6f5b049 Bug 16759: Make OPAC holdings table configurable
This patch makes the holdings table in the OPAC biblio detail page
configurable using the Columns configuration tools.

This patch:
- Moves the holdingst table from plain DataTable to KohaTable
- Creates a sample yml colvis configuration for this table
  containing all the currently available columns

To test:
- Visit some record's detail page in the OPAC
- Apply this patch
- Reload
=> SUCCESS: The page shows the same information
- On the staff interface, go to:
  Home > Administration > Columns settings
=> SUCCESS: There's a new OPAC section containing the configuration for
   holdingst.
- Choose to hide some fields (both currently displayed and currently hidden).
- Reload the OPAC detail page
=> SUCCESS:
   - Required fields are hidden
   - It doesn't explode because of trying to hide stuff that is not there to start with
- Sign off :-D

Sponsored-by: DOVER

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Followed test plan, patch worked as described. Also passed QA test tool

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2017-10-25 12:14:40 -03:00

179 lines
7.2 KiB
Text

[% SET panel_id = 0 %]
[% BLOCK pagelist %]
<div class="pagelist">
<form method="post" action="/cgi-bin/koha/admin/columns_settings.pl">
<input type="hidden" name="action" value="save" />
<input type="hidden" name="module" value="[% modulename %]" />
<input type="hidden" name="panel" value="[% panel_id %]" />
[% SET panel_id = panel_id + 1 %]
[% IF module.keys and module.keys.size > 0 %]
[% FOR pagename IN module.keys %]
<h5>[% pagename %]</h5>
[% SET tables = module %]
[% IF tables.$pagename.keys and tables.$pagename.keys.size > 0 %]
[% FOR tablename IN tables.$pagename.keys.sort %]
[% IF pagename == 'additem' AND tablename == 'itemst' %]
<div class="alert">Changes made below will only apply to item subfields that are mapped to the 'items' table. <a href="/cgi-bin/koha/admin/koha2marclinks.pl?tablename=items">Go to Koha to MARC mapping</a></div>
[% END %]
<table>
<caption>
[% IF tablename == 'currencies-table' %]
Currency
[% ELSIF pagename == 'additem' AND tablename == 'itemst' %]
Items Editor
[% END %]
(id=[% tablename %])
</caption>
<thead><tr><th>Column name</th><th>Is hidden by default</th><th>Cannot be toggled</th></tr></thead>
<tbody>
[% FOR column IN tables.$pagename.$tablename %]
[% SET value = pagename _ '#' _ tablename _ '#' _ column.columnname %]
<tr>
<td>
[% column.columnname %]
<input type="hidden" name="columnid" value="[% value %]" />
</td>
<td>
[% IF column.is_hidden %]
[% IF column.cannot_be_modified %]
<input type="checkbox" name="[% value %]_hidden" value="1" checked="checked" disabled="disabled" />
<input type="hidden" name="[% value %]_hidden" value="1" />
[% ELSE %]
<input type="checkbox" name="[% value %]_hidden" value="1" checked="checked" />
[% END %]
[% ELSE %]
[% IF column.cannot_be_modified %]
<input type="checkbox" name="[% value %]_hidden" value="1" disabled="disabled" />
<input type="hidden" name="[% value %]_hidden" value="0" />
[% ELSE %]
<input type="checkbox" name="[% value %]_hidden" value="1" />
[% END %]
[% END %]
</td>
<td>
[% IF column.cannot_be_toggled %]
[% IF column.cannot_be_modified %]
<input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" checked="checked" disabled="disabled" />
<input type="hidden" name="[% value %]_cannot_be_toggled" value="1" />
[% ELSE %]
<input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" checked="checked" />
[% END %]
[% ELSE %]
[% IF column.cannot_be_modified %]
<input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" disabled="disabled" />
<input type="hidden" name="[% value %]_cannot_be_toggled" value="0" />
[% ELSE %]
<input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" />
[% END %]
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% END %]
<input type="submit" value="Save" />
[% ELSE %]
There is no table to configure for this module.
[% END %]
[% END %]
[% ELSE %]
There is no page using the table configuration in this module.
[% END %]
</form>
</div>
[% END %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Columns settings</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript">
$(document).ready( function() {
var accordion = $( "#modules" ).accordion({
collapsible: true,
autoHeight: false,
header: "h3",
[%- IF panel -%]
[%# we were asked to show a specific panel, usually on update %]
active: [%- panel -%]
[%- ELSE -%]
active: false
[%- END -%]
});
});
</script>
</head>
<body id="admin_tables" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'prefs-admin-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; Columns settings</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h2>Columns settings</h2>
<div id="modules">
<h3><a href="#acqui">Acquisition</a></h3>
<div id="acqui">
<h4>Acquisition tables</h4>
[% PROCESS pagelist module=modules.acqui modulename="acqui" %]
</div>
<h3><a href="#admin">Administration</a></h3>
<div id="admin">
<h4>Administration tables</h4>
[% PROCESS pagelist module=modules.admin modulename="admin" %]
</div>
<h3><a href="#authorities">Authorities</a></h3>
<div id="authorities">
<h4>Authorities tables</h4>
[% PROCESS pagelist module=modules.authorities modulename="authorities" %]
</div>
<h3><a href="#catalog">Catalog</a></h3>
<div id="catalogue">
<h4>Catalogue tables</h4>
[% PROCESS pagelist module=modules.catalogue modulename="catalogue" %]
</div>
<h3><a href="#cataloguing">Cataloging</a></h3>
<div id="cataloguing">
<h4>Cataloguing tables</h4>
[% PROCESS pagelist module=modules.cataloguing modulename="cataloguing" %]
</div>
<h3><a href="#circulation">Circulation</a></h3>
<div id="circulation">
<h4>Circulation tables</h4>
[% PROCESS pagelist module=modules.circ modulename="circ" %]
</div>
<h3><a href="#members">Patrons</a></h3>
<div id="members">
<h4>Patrons tables</h4>
[% PROCESS pagelist module=modules.members modulename="members" %]
</div>
<h3><a href="#opac">OPAC</a></h3>
<div id="opac">
<h4>OPAC tables</h4>
[% PROCESS pagelist module=modules.opac modulename="opac" %]
</div>
<h3><a href="#reports">Reports</a></h3>
<div id="reports">
<h4>Reports tables</h4>
[% PROCESS pagelist module=modules.reports modulename="reports" %]
</div>
</div>
</div>
</div>
<div class="yui-b">
[% INCLUDE 'admin-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]