<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
-<title>Koha › Cataloging › Items for Bibliographic Record <!-- TMPL_VAR name="biblionumber" --></title>
+<title>Koha › Cataloging › <!-- TMPL_VAR name="title" escape="html" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->) › Items</title>
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<script type="text/javascript">
//<![CDATA[
+$(document).ready(function(){
+ $("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
+ /* Inline edit/delete links */
+ var biblionumber = $("input[name='biblionumber']").attr("value");
+ $("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=<!-- TMPL_VAR NAME="frameworkcode" -->&biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber="+num_rowid+"#edititem\">Edit Item</a> <a href=\"/cgi-bin/koha/cataloguing/additem.pl?op=delitem&frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->&biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber="+num_rowid+"\" onclick=\"confirm_deletion(<!-- TMPL_VAR NAME="biblionumber" -->,"+num_rowid+"); return false;\">Delete Item</a></span>");
+ }
+ });
+});
function active(numlayer)
{
for (i=10; i < 11 ; i++ ) {
}
}
function Check(f) {
+
var total_errors=0;
// alert(f.field_value.length);
for (i=0 ; i<f.field_value.length ; i++) {
}
var alertString2;
if (total_errors==0) {
- document.f.submit();
+ return true;
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += "\n- "+ total_errors+_(" mandatory fields empty (see bold subfields)");
alert(alertString2);
+ return false;
+ }
+}
+function CheckMultipleAdd(f) {
+
+ if (!f || isNaN(f) || !parseInt(f) == f || f <= 0) {
+ alert(_("Please enter a number of items to create."));
+ return false;
}
}
function Dopop(link,i) {
defaultvalue=document.forms[0].field_value[i].value;
- newin=window.open(link+"&result="+defaultvalue,"value builder",'width=500,height=400,toolbar=false,scrollbars=yes');
+ newin=window.open(link+"&result="+defaultvalue,"valuebuilder",'width=500,height=400,toolbar=false,scrollbars=yes');
}
+
function confirm_deletion(biblionumber,itemnumber) {
- var is_confirmed = confirm(_('Are you sure you want to delete this item?'));
+ 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","");
}
}
var old_id = original.getAttribute('id');
old_id=old_id.substr(12);
var new_id = old_id+new_key;
-
+
// set the attribute for the new 'div' subfields
var inputs = clone.getElementsByTagName('input');
var selects = clone.getElementsByTagName('select');
var textareas = clone.getElementsByTagName('textarea');
-
+
// input
var id_input = "";
for(var i=0,len=inputs.length; i<len ; i++ ){
inputs[i].setAttribute('id',id_input);
inputs[i].setAttribute('name',inputs[i].getAttribute('name'));
}
-
- // select
+
+ // select
for(var i=0,len=selects.length; i<len ; i++ ){
id_input = selects[i].getAttribute('id')+new_key;
selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
selects[i].setAttribute('name',selects[i].getAttribute('name'));
}
-
+
// textarea
for(var i=0,len=textareas.length; i<len ; i++ ){
id_input = textareas[i].getAttribute('id')+new_key;
textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
textareas[i].setAttribute('name',textareas[i].getAttribute('name'));
}
-
+
<!-- TMPL_UNLESS NAME='advancedMARCEditor' -->
// when cloning a subfield, reset its label too.
var label = clone.getElementsByTagName('label')[0];
label.setAttribute('for',id_input);
<!-- /TMPL_UNLESS -->
-
+
// setting a new if for the parent div
clone.setAttribute('id',new_id);
-
+
var CloneButtonPlus;
try {
var spans = clone.getElementsByTagName('span');
}
}
catch(e){
- // do nothig if ButtonPlus & CloneButtonPlus don't exist.
+ // do nothing if ButtonPlus & CloneButtonPlus don't exist.
}
// insert this line on the page
original.parentNode.insertBefore(clone,original.nextSibling);
}
/**
- * This function create a random number
+ * This function creates a random number
*/
function CreateKey(){
return parseInt(Math.random() * 100000);
}
+$(document).ready(function() {
+ $("#cataloguing_additem_itemlist tr").hover(
+ function () {$(this).attr("class","highlight");},
+ function () {$(this).attr("class","" );}
+ );
+});
+function set_to_today(id, force) {
+ if (! id) { alert("Bad id " + id + " sent to set_to_today()"); return 0; }
+ if ($("#" + id).val() == '' || $("#" + id).val() == '0000-00-00' || force) {
+ $("#" + id).val("<!-- TMPL_VAR NAME="today_iso" -->");
+ }
+}
//]]>
</script>
+<link type="text/css" rel="stylesheet" href="<!-- TMPL_VAR NAME="themelang" -->/css/addbiblio.css" />
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloguing</a> › Items for <!-- TMPL_VAR name="title" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->)</div>
+<div id="breadcrumbs">
+ <a href="/cgi-bin/koha/mainpage.pl">Home</a>
+ › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>
+ › Edit <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR name="title" escape="html" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->)</a>
+ › <a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Items</a>
+</div>
<div id="doc3" class="yui-t2">
-
+
<div id="bd">
<div id="yui-main">
<div class="yui-b">
-<h1>Items for <!-- TMPL_VAR name="title" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->)</h1>
+<h1>Items for <!-- TMPL_VAR name="title" escape="html" --> <!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> (Record #<!-- TMPL_VAR NAME="biblionumber" -->)</h1>
+
+<!-- TMPL_IF NAME="barcode_not_unique" --><div class="dialog alert"><strong>Error saving item</strong>: Barcode must be unique.</div><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="no_next_barcode" --><div class="dialog alert"><strong>Error saving items</strong>: Unable to automatically determine values for barcodes. No item has been inserted.</div><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="book_on_loan" --><div class="dialog alert"><strong>Cannot Delete</strong>: item is checked out.</div><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="book_reserved" --><div class="dialogalert"><strong>Cannot Delete</strong>: item has a waiting hold.</div><!-- /TMPL_IF -->
+<!-- TMPL_IF Name="not_same_branch" --><div class="dialog alert"><strong>Cannot Delete</strong>: The items do not belong to your branch.</div><!-- /TMPL_IF -->
<div id="cataloguing_additem_itemlist">
<!-- TMPL_IF name="item_loop" -->
- <h2>Existing items</h2>
+ <div>
<table>
<tr>
+ <th colspan="2"> </th>
<!-- TMPL_LOOP NAME="item_header_loop" -->
<th>
<!-- TMPL_VAR NAME="header_value" -->
</th>
<!-- /TMPL_LOOP -->
- <th colspan="2"> </th>
</tr>
<!-- TMPL_LOOP NAME="item_loop" -->
- <tr>
- <!-- TMPL_VAR NAME="item_value" -->
- <!-- TMPL_IF Name="nomod"--> <td colspan="2"> </td><!--TMPL_ELSE--><td><a href="additem.pl?op=edititem&biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->">Edit</a></td>
- <td><a href="javascript:confirm_deletion(<!-- TMPL_VAR NAME="biblionumber" -->,<!-- TMPL_VAR NAME="itemnumber" -->)">Delete</a></td><!--/TMPL_IF-->
+ <tr id="row<!-- TMPL_VAR NAME="itemnumber" -->">
+ <!-- TMPL_IF Name="nomod"--> <td colspan="2"> </td><!--TMPL_ELSE--><td><a href="additem.pl?op=edititem&biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#edititem">Edit</a></td>
+ <td><a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->" onclick="confirm_deletion(<!-- TMPL_VAR NAME="biblionumber" -->,<!-- TMPL_VAR NAME="itemnumber" -->); return false;">Delete</a></td><!--/TMPL_IF-->
+ <!-- TMPL_LOOP NAME="item_value" -->
+ <td><!-- TMPL_VAR ESCAPE=HTML NAME="field" --></td>
+ <!-- /TMPL_LOOP -->
</tr>
<!-- /TMPL_LOOP -->
</table>
+ </div>
<!-- /TMPL_IF -->
</div>
<input type="hidden" name="op" value="<!-- TMPL_VAR NAME="op" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<!-- TMPL_IF name="opisadd" -->
- <h2>Add Item</h2>
+ <h2 id="additema">Add Item</h2>
<!-- TMPL_ELSE -->
- <h2>Edit Item</h2>
- <!-- /TMPL_IF -->
+ <h2 id="edititem">Edit Item #<!-- TMPL_VAR NAME="itemnumber" --></h2>
+ <!-- /TMPL_IF -->
+ <fieldset class="rows">
+ <ol>
<!-- TMPL_LOOP NAME="item" -->
- <div name="line" class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
-
- <label><!-- TMPL_VAR NAME="subfield" --> - <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF --><!-- TMPL_VAR NAME="marc_lib" --><!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF --></label>
+ <li><div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
+
+ <label><!-- TMPL_VAR NAME="subfield" --> - <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF --><!-- TMPL_VAR NAME="marc_lib" --><!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF --></label>
<!-- TMPL_VAR NAME="marc_value" -->
- <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->" />
- <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->" />
+ <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->" />
+ <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->" />
<input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->" />
<!-- TMPL_IF NAME="repeatable" -->
<span class="buttonPlus" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">+</span>
<!-- /TMPL_IF -->
-
- </div>
- <!-- /tmpl_loop -->
+
+ </div></li>
+ <!-- /TMPL_LOOP -->
+ </ol>
+ </fieldset>
<input type="hidden" name="indicator" value=" " />
<input type="hidden" name="indicator" value=" " />
<input type="hidden" name="itemnumber" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
- <!-- TMPL_IF name="barcode_not_unique" -->
- ERROR : Barcode already exists !
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="opisadd" -->
- <input type="button" value="Add item" onclick="Check(this.form)" accesskey="w" />
+
+<fieldset class="action"> <!-- TMPL_IF name="opisadd" -->
+ <input type="submit" name="phony_submit" value="phony_submit" id="phony_submit" style="display:none;" onclick="return false;" />
+ <!-- Note : We use here a false submit button because we have several submit buttons and we don't want the user to believe he validated the adding of multiple copies
+ when pressing the enter key, while in fact it is the first submit button that is validated, in our case the "add (single) item" button.
+ It is a bit tricky, but necessary in the sake of UI correctness.
+ -->
+
+ <input type="submit" name="add_submit" value="Add item" onclick="return Check(this.form)" />
+ <input type="submit" name="add_duplicate_submit" value="Add & Duplicate" onclick="return Check(this.form)" />
+ <input type="submit" name="add_multiple_copies" value="Add Multiple Copies" onclick="javascript:this.nextSibling.style.visibility='visible';document.f.number_of_copies.focus(); return false;" /><span id="add_multiple_copies_span" style="visibility:hidden">
+ <label for="number_of_copies">Number of copies to add : </label>
+ <input type="text" id="number_of_copies" name="number_of_copies" value="" size="2" />
+ <input type="submit" id="add_multiple_copies_submit" name="add_multiple_copies_submit" value="Add" onclick="javascript:return Check(this.form) && CheckMultipleAdd(this.form.number_of_copies.value);" />
+ </span>
+
<!-- TMPL_ELSE -->
<input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="itemtagfield" -->" />
<input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="itemtagsubfield" -->" />
<input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
- <input type="button" value="Save Changes" onclick="Check(this.form)" accesskey="w" />
- <!-- /TMPL_IF -->
+ <input type="submit" value="Save Changes" onclick="return Check(this.form)" />
+ <!-- /TMPL_IF --></fieldset>
-</div>
</form>
</div>
</div>
+</div>
<div class="yui-b">
-<!-- TMPL_INCLUDE NAME="additem-menu.inc" -->
+<!-- TMPL_INCLUDE NAME="biblio-view-menu.inc" -->
</div>
</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
\ No newline at end of file
+<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->