4 [% USE AuthorisedValues %]
6 [% USE ColumnsSettings %]
8 [% INCLUDE 'doc-head-open.inc' %]
9 <title>Koha › Administration › Item types [% IF op == 'add_form' %]›
11 Modify item type '[% itemtype.itemtype | html %]'
16 [% IF op == 'delete_confirm' %]›
18 Cannot delete item type '[% itemtype.itemtype | html %]'
20 Delete item type '[% itemtype.itemtype | html %]'?
23 [% IF op == 'delete_confirmed' %]›
27 [% INCLUDE 'doc-head-close.inc' %]
29 fieldset.rows div.toptabs li { clear:none;margin-right:.5em;padding-bottom:0;width:auto; }
30 fieldset.rows div.toptabs .ui-tabs-nav li.ui-tabs-active {background-color : #F4F8F9; }
31 fieldset.rows .ui-tabs-panel { margin-right : 10px; margin-left : 10px;margin-bottom:10px;}
32 fieldset.rows .ui-tabs-nav { margin-left : 10px; }
36 <body id="admin_itemtypes" class="admin">
37 [% INCLUDE 'header.inc' %]
38 [% INCLUDE 'prefs-admin-search.inc' %]
40 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF op == 'add_form' %]
42 <a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a> › Modify item type '[% itemtype.itemtype | html %]'
44 <a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a> › Add item type
47 [% IF op == 'delete_confirm' %]
49 <a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a> › Cannot delete item type '[% itemtype.itemtype | html %]'
51 <a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a> › Delete item type '[% itemtype.itemtype | html %]'?
54 [% IF op == 'delete_confirmed' %]
55 <a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a> ›Data deleted
58 Item types administration
61 <div class="main container-fluid">
63 <div class="col-sm-10 col-sm-push-2">
66 [% IF op == 'list' %]<div id="toolbar" class="btn-toolbar">
67 <a class="btn btn-default" id="newitemtype" href="/cgi-bin/koha/admin/itemtypes.pl?op=add_form"><i class="fa fa-plus"></i> New item type</a>
70 [% FOREACH m IN messages %]
71 <div class="dialog [% m.type | html %]">
73 [% CASE 'error_on_update' %]
74 An error occurred when updating this item type. Perhaps the value already exists.
75 [% CASE 'error_on_insert' %]
76 An error occurred when inserting this item type. Perhaps the value already exists.
77 [% CASE 'error_on_delete' %]
78 An error occurred when deleting this item type. Check the logs.
79 [% CASE 'success_on_update' %]
80 Item type updated successfully.
81 [% CASE 'success_on_insert' %]
82 Item type inserted successfully.
83 [% CASE 'success_on_delete' %]
84 Item type deleted successfully.
85 [% CASE 'already_exists' %]
86 This item type already exists.
87 [% CASE 'cannot_be_deleted' %]
88 Cannot delete this item type. <p><strong>This record is in use</strong>. Deletion is not possible.</p>
96 [% IF op == 'add_form' %]
98 <h3>Modify item type</h3>
100 <h3>Add item type</h3>
102 <form action="/cgi-bin/koha/admin/itemtypes.pl" name="Aform" method="post" id="itemtypeentry">
103 <input type="hidden" name="op" value="add_validate" />
104 <fieldset class="rows">
108 <input type="hidden" name="is_a_modif" value="1" />
109 <span class="label">Item type: </span> <input type="hidden" name="itemtype" value="[% itemtype.itemtype | html %]" />
110 [% itemtype.itemtype | html %]
114 <label for="itemtype" class="required">Item type: </label>
115 <input type="text" id="itemtype" name="itemtype" size="10" maxlength="10" required="required" /> <span class="required">Required</span>
119 <label for="description" class="required">Description: </label>
120 <input type="text" id="description" name="description" size="48" value="[% itemtype.description | html %]" required="required" /> <span class="required">Required</span>
121 [% IF can_be_translated %]
122 <a href="/cgi-bin/koha/admin/localization.pl?entity=itemtypes&code=[% itemtype.itemtype | uri %]" title="Translate item type [% itemtype.itemtype | html %]" rel="gb_page_center[600,500]"><i class="fa fa-pencil"></i> Translate into other languages</a>
126 <span class="label">Search category</span>
127 <select id="searchcategory" name="searchcategory">
128 <option value="">None</option>
129 [% FOREACH cat IN searchcategory %]
130 [% IF cat.authorised_value == itemtype.searchcategory %]
131 <option value="[% cat.authorised_value | html %]" selected="selected">
135 <option value="[% cat.authorised_value | html %]" >
141 <span class="hint">Options are defined as the authorized values for the ITEMTYPECAT category.</span>
143 [% IF Koha.Preference('noItemTypeImages') %]
145 <span class="label">Image: </span>Item type images are disabled. To enable them, turn off the <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=noItemTypeImages">noItemTypeImages system preference</a>
149 [% UNLESS Koha.Preference('noItemTypeImages') %]
150 <div id="icons" class="toptabs" style="clear:both">
151 <h5 style="margin-left:10px;">Choose an icon:</h5>
153 <li><a href="#none">None</a></li>
154 [% FOREACH imageset IN imagesets %]
155 [% IF ( imageset.imagesetactive ) %]
156 <li class="ui-tabs-active">
160 <a href="#[% imageset.imagesetname | uri %]">[% imageset.imagesetname | html %]</a>
163 [% IF itemtype.image_location('intranet').match('^http') %]<li class="ui-tabs-active">[% ELSE %]<li>[% END %]<a href="#remote">Remote image</a></li>
167 <li><label for="noimage">No image: </label><input type="radio" name="image" id="noimage" value="removeImage" /></li>
172 [% FOREACH imageset IN imagesets %]
173 <div id="[% imageset.imagesetname | html %]">
175 [% FOREACH image IN imageset.images %]
176 <li style="float: none; display: inline-block; clear : none; width: auto;">
178 [% IF image.StaffImageUrl %]
179 <img src="[% image.StaffImageUrl | html %]" alt="[% image.StaffImageUrl | html %]" title="[% image.StaffImageUrl | html %]" />
181 [% IF image.checked %]
182 <input type="radio" name="image" value="[% image.KohaImage | html %]" checked="checked" />
183 [% ELSIF image.KohaImage %] <!-- to delete the radio button if there is no image after -->
184 <input type="radio" name="image" value="[% image.KohaImage | html %]" />
197 <label for="remote_image_check"> Remote image:</label>
198 [% IF itemtype.imageurl %]
199 <input type="radio" id="remote_image_check" name="image" value="remoteImage" checked="checked" />
201 <input type="radio" id="remote_image_check" name="image" value="remoteImage" />
203 <input type="text" name="remoteImage" size="48" maxlength="200" value="[% itemtype.imageurl | html %]" onmousedown="document.getElementById('remote_image_check').checked = true;" />
204 [% IF itemtype.imageurl %]
205 <img src="[% itemtype.imageurl | html %]" alt="" />
213 <ol class="oladditemtype">
215 <label for="hideinopac">Hide in OPAC: </label>
216 [% IF ( itemtype.hideinopac ) %]
217 <input type="checkbox" id="hideinopac" name="hideinopac" checked="checked" value="1" />
219 <input type="checkbox" id="hideinopac" name="hideinopac" value="1" />
221 <span class="hint">If checked, items of this type will be hidden as filters in OPAC's advanced search.</span>
224 <label for="notforloan">Not for loan: </label>
225 [% IF itemtype.notforloan %]
226 <input type="checkbox" id="notforloan" name="notforloan" checked="checked" value="1" />
228 <input type="checkbox" id="notforloan" name="notforloan" value="1" />
230 <span class="hint">If checked, no item of this type can be issued. If not checked, every item of this type can be issued unless notforloan is set for a specific item.</span>
233 <label for="rentalcharge">Rental charge: </label>
234 <input type="text" id="rentalcharge" name="rentalcharge" size="10" value="[% itemtype.rentalcharge | $Price on_editing => 1 %]" />
235 <span class="hint">This fee is charged once per checkout/renewal per item</span>
238 <label for="rentalcharge_daily">Daily rental charge: </label>
239 <input type="text" id="rentalcharge_daily" name="rentalcharge_daily" size="10" value="[% itemtype.rentalcharge_daily | $Price on_editing => 1 %]" />
240 <span class="hint">This fee is charged at checkout/renewal time for each day between the checkout/renewal date and due date for loans specified in days.</span>
243 <label for="rentalcharge_hourly">Hourly rental charge: </label>
244 <input type="text" id="rentalcharge_hourly" name="rentalcharge_hourly" size="10" value="[% itemtype.rentalcharge_hourly | $Price on_editing => 1 %]" />
245 <span class="hint">This fee is charged at checkout/renewal time for each hour between the checkout/renewal date and due date for loans specifie in hours.</span>
248 <label for="defaultreplacecost">Default replacement cost: </label>
249 <input type="text" id="defaultreplacecost" name="defaultreplacecost" size="10" value="[% itemtype.defaultreplacecost | html %]" />
252 <label for="processfee">Processing fee (when lost): </label>
253 <input type="text" id="processfee" name="processfee" size="10" value="[% itemtype.processfee | html %]" />
256 <label for="checkinmsg">Checkin message: </label>
257 <textarea id="checkinmsg" name="checkinmsg" cols="55" rows="5">[% itemtype.checkinmsg | html %]</textarea>
260 <label for="checkinmsgtype">Checkin message type: </label>
261 <select type="text" id="checkinmsgtype" name="checkinmsgtype">
262 [% IF itemtype.checkinmsgtype == 'message' %]
263 <option value="message" selected="selected">Message</option>
265 <option value="message">Message</option>
267 [% IF itemtype.checkinmsgtype == 'alert' %]
268 <option value="alert" selected="selected">Alert</option>
270 <option value="alert">Alert</option>
275 <label for="sip_media_type">SIP media type: </label>
276 <select id="sip_media_type" name="sip_media_type">
277 <option value=""></option>
278 [% FOREACH a IN AuthorisedValues.Get('SIP_MEDIA_TYPE') %]
279 [% IF a.authorised_value == itemtype.sip_media_type %]
280 <option value="[% a.authorised_value | html %]" selected="selected">[% a.lib | html %]</option>
282 <option value="[% a.authorised_value | html %]">[% a.lib | html %]</option>
287 <li><label for="branches">Library limitation: </label>
288 <select id="branches" name="branches" multiple size="10">
289 <option value="">All libraries</option>
290 [% FOREACH branch IN branches_loop %]
291 [% IF ( branch.selected ) %]
292 <option selected="selected" value="[% branch.branchcode | html %]">[% branch.branchname | html %]</option>
294 <option value="[% branch.branchcode | html %]">[% branch.branchname | html %]</option>
298 <span>Select 'All libraries' if this authorized value must be displayed all the time. Otherwise select libraries you want to associate with this value.</span>
301 <label for="summary">Summary: </label>
302 <textarea id="summary" name="summary" cols="55" rows="5">[% itemtype.summary | html %]</textarea>
303 <p>Enter a summary that will overwrite the default one in search results lists. Example, for a website itemtype : </p>
304 <p><b><a href="[856u]">open site</a></b> will show the link just below the title</p>
309 <fieldset class="action">
310 <input type="submit" value="Save changes" />
311 <a href="/cgi-bin/koha/admin/itemtypes.pl" class="cancel">Cancel</a>
316 [% IF op == 'delete_confirm' %]
317 <div class="dialog alert">
318 <h3>Delete item type '[% itemtype.itemtype | html %]'?</h3>
321 <th scope="row">Item type</th>
322 <td>[% itemtype.itemtype | html %]</td>
324 <tr><th scope="row">Description</th><td>[% itemtype.translated_description | html %]</td></tr>
325 [% UNLESS Koha.Preference('noItemTypeImages') %]
327 <th scope="row">Image</th>
329 [% SET image_location = itemtype.image_location('intranet') %]
330 [% IF image_location %]<img src="[% image_location | html %]" alt="" />[% END %]
334 <tr><th scope="row">Rental charge</th><td>[% itemtype.rentalcharge | $Price %]</td></tr>
336 <form action="/cgi-bin/koha/admin/itemtypes.pl" method="post">
337 <input type="hidden" name="op" value="delete_confirmed" /><input type="hidden" name="itemtype" value="[% itemtype.itemtype | html %]" />
338 <button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete this item type</button>
340 <form action="/cgi-bin/koha/admin/itemtypes.pl" method="post">
341 <button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
346 [% IF op == 'list' %]
347 <h2>Item types administration</h2>
349 <table id="table_item_type">
351 [% UNLESS Koha.Preference('noItemTypeImages') %]<th class="noExport">Image</th>[% END %]
354 <th>Search category</th>
355 <th>Not for loan</th>
356 <th>Hide in OPAC</th>
357 <th>Rental charge</th>
358 <th>Daily rental charge</th>
359 <th>Hourly rental charge</th>
360 <th>Default replacement cost</th>
361 <th>Processing fee (when lost)</th>
362 <th>Checkin message</th>
363 <th>Library limitations</th>
364 <th class="noExport">Actions</th>
366 [% FOREACH itemtype IN itemtypes %]
368 [% UNLESS Koha.Preference('noItemTypeImages') %]
370 [% SET image_location = itemtype.image_location('intranet') %]
371 [% IF image_location %]<img src="[% image_location | html %]" alt="" />[% ELSE %] [% END %]
375 <a href="/cgi-bin/koha/admin/itemtypes.pl?op=add_form&itemtype=[% itemtype.itemtype | uri %]">
376 [% itemtype.itemtype | html %]
380 [% IF itemtype.translated_descriptions.size %]
381 [% itemtype.description | html %] (default)<br/>
382 [% FOR description IN itemtype.translated_descriptions %]
383 [% IF description.translation == itemtype.translated_description %]
384 <b>[% description.translation | html %]</b>
386 [% description.translation | html %] ([% description.lang | html %])
391 [% itemtype.description | html %]
394 <td>[% itemtype.searchcategory | html %]</td>
395 <td>[% IF ( itemtype.notforloan ) %]Yes[% ELSE %] [% END %]</td>
396 <td>[% IF ( itemtype.hideinopac ) %]Yes[% ELSE %] [% END %]</td>
398 [% UNLESS ( itemtype.notforloan ) %]
399 [% itemtype.rentalcharge | $Price %]
403 [% UNLESS ( itemtype.notforloan ) %]
404 [% itemtype.rentalcharge_daily | $Price %]
408 [% UNLESS ( itemtype.notforloan ) %]
409 [% itemtype.rentalcharge_hourly | $Price %]
413 <td>[% itemtype.defaultreplacecost | $Price %]</td>
414 <td>[% itemtype.processfee | $Price %]</td>
415 <td>[% itemtype.checkinmsg | html_line_break | $raw %]</td>
417 [% IF itemtype.branches.size > 0 %]
418 [% branches_str = "" %]
419 [% FOREACH branch IN itemtype.branches %]
420 [%- IF loop.first -%]
421 [% branches_str = branch.branchname _ " (" _ branch.branchcode _ ")" %]
423 [% branches_str = branches_str _ "\n" _ branch.branchname _ " (" _ branch.branchcode _ ")" %]
426 <span class="library_limitation" title="[% branches_str | html %]">
427 [% IF itemtype.branches.size > 1 %]
428 [% itemtype.branches.size | html %] library limitations
430 [% itemtype.branches.size | html %] library limitation
437 <a href="/cgi-bin/koha/admin/itemtypes.pl?op=add_form&itemtype=[% itemtype.itemtype | uri %]" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
438 <a href="/cgi-bin/koha/admin/itemtypes.pl?op=delete_confirm&itemtype=[% itemtype.itemtype | uri %]" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a>
444 <div class="dialog message">There are no itemtypes defined</div>
449 </div> <!-- /.col-sm-10.col-sm-push-2 -->
451 <div class="col-sm-2 col-sm-pull-10">
453 [% INCLUDE 'admin-menu.inc' %]
455 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
456 </div> <!-- /.row -->
458 [% MACRO jsinclude BLOCK %]
459 [% Asset.js("js/admin-menu.js") | $raw %]
460 [% INCLUDE 'greybox.inc' %]
461 [% INCLUDE 'datatables.inc' %]
462 [% INCLUDE 'columns_settings.inc' %]
464 $(document).ready(function() {
466 var columns_settings = [% ColumnsSettings.GetColumns( 'admin', 'itemtypes', 'table_item_type', 'json' ) | $raw %];
467 [% IF Koha.Preference('noItemTypeImages') %]
468 columns_settings.shift(); // Remove item type image column from configuration
471 $(document).ready(function() {
472 KohaTable("table_item_type", {
474 { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
476 "aaSorting": [[ 2, "asc" ]],
477 "iDisplayLength": 10,
478 "sPaginationType": "full"
479 }, columns_settings);
482 $( "#itemtypeentry" ).validate({
484 itemtype: { required: true },
485 description: { required: true },
486 rentalcharge: { number: true }
489 $("#itemtype").on("blur",function(){
492 $(".library_limitation").tooltip();
497 [% INCLUDE 'intranet-bottom.inc' %]