*
*
*/
-function Check(){
+function Check(dest){
var StrAlert = AreMandatoriesNotOk();
if( ! StrAlert ){
document.f.submit();
*/
function AreMandatoriesNotOk(){
var mandatories = new Array();
+ var mandatoriesfields = new Array();
var tab = new Array();
var label = new Array();
var flag=0;
var tabflag= new Array();
- <!-- TMPL_LOOP NAME='BIG_LOOP' --><!-- TMPL_LOOP NAME='innerloop' --><!-- TMPL_LOOP NAME='subfield_loop'--><!-- TMPL_IF NAME='mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
+ <!-- TMPL_LOOP NAME='BIG_LOOP' -->
+ <!-- TMPL_LOOP NAME='innerloop' -->
+ <!-- TMPL_IF NAME="mandatory" -->
+ mandatoriesfields.push(new Array("<!-- TMPL_VAR NAME="tag" -->","<!-- TMPL_VAR NAME="index" --><!-- TMPL_VAR NAME="random" -->","<!-- TMPL_VAR NAME="index" -->"));
+ <!-- /TMPL_IF -->
+ <!-- TMPL_LOOP NAME='subfield_loop'-->
+ <!-- TMPL_IF NAME='mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
tab.push("<!-- TMPL_VAR NAME='number' -->");
label.push("<!-- TMPL_VAR NAME='marc_lib' -->");
- <!-- /TMPL_IF --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP -->
- var StrAlert = _("Can't save this record because the following field aren't filled :\n\n");
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_LOOP -->
+ <!-- /TMPL_LOOP -->
+ <!-- /TMPL_LOOP -->
+ var StrAlert = _("Can't save this record because the following field aren't filled:");
+ StrAlert += "\n\n";
for(var i=0,len=mandatories.length; i<len ; i++){
var tag=mandatories[i].substr(4,3);
var subfield=mandatories[i].substr(17,1);
flag=1;
}
}
+
+ /* Check for mandatories field(not subfields) */
+ for(var i=0,len=mandatoriesfields.length; i<len; i++){
+ isempty = true;
+ arr = mandatoriesfields[i];
+ divid = "tag_" + arr[0] + "_" + arr[1];
+ varegexp = new RegExp("^tag_" + arr[0] + "_code_");
+
+ if(parseInt(arr[0]) >= 10){
+ elem = document.getElementById(divid);
+ eleminputs = elem.getElementsByTagName('input');
+
+ for(var j=0,len2=eleminputs.length; j<len2; j++){
+
+ if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
+ inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
+
+ for( var k=0; k<len2; k++){
+ if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
+ isempty = false
+ }
+ }
+
+ elemselect = elem.getElementsByTagName('select');
+ for( var k=0; k<elemselect.length; k++){
+ if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
+ isempty = false
+ }
+ }
+ }
+ }
+ }else{
+ isempty = false;
+ }
+
+ if(isempty){
+ flag = 1;
+ StrAlert += _("\t* Field ") + arr[0] + _(" is mandatory, at least one of its subfields must be filled.") + "\n";
+ }
+
+ }
+
if(flag){
return StrAlert;
} else {
var clone = original.cloneNode(true);
var new_key = CreateKey();
var new_id = original.getAttribute('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');
-
+ var linkid;
+
// input
var id_input = "";
for(var i=0,len=inputs.length; i<len ; i++ ){
id_input = inputs[i].getAttribute('id')+new_key;
inputs[i].setAttribute('id',id_input);
inputs[i].setAttribute('name',inputs[i].getAttribute('name')+new_key);
+ linkid = id_input;
}
// select
textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
textareas[i].setAttribute('name',textareas[i].getAttribute('name')+new_key);
}
-
+
+ // Changing the "..." link's onclick attribute for plugin callback
+ var links = clone.getElementsByTagName('a');
+ var link = links[0];
+ var buttonDotOnClick = link.getAttribute('onclick');
+ if(buttonDotOnClick.match('Clictag')){ // -1- It s a plugin
+ var re = /\('.*'\)/i;
+ buttonDotOnClick = buttonDotOnClick.replace(re,"('"+linkid+"')");
+ if(buttonDotOnClick){
+ link.setAttribute('onclick',buttonDotOnClick);
+ }
+ }
+
+
<!-- TMPL_UNLESS NAME='advancedMARCEditor' -->
// when cloning a subfield, reset its label too.
var label = clone.getElementsByTagName('label')[0];
</script>
<!--TMPL_ELSE-->
<form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
+ <input type="hidden" value="" id="redirect" name="redirect" />
<input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
<!-- /TMPL_IF -->
$(document).ready(function() {
$("#z3950searchc").empty();
+ $("#savebutton").empty();
yuiToolbar();
});
+ var onOption = function () {
+ return Check();
+ }
+
+ function redirect(dest){
+ $("#redirect").attr("value",dest);
+ return Check();
+ }
+
+ var savemenu = [
+ { text: _("Save and view record"), value: 1, onclick: {fn:function(){redirect("view");}} },
+ { text: _("Save and edit items"), value: 2, onclick: {fn:function(){redirect("items");}} }
+ ];
+
+
// YUI Toolbar Functions
function yuiToolbar() {
- new YAHOO.widget.Button("addbiblio");
+ // new YAHOO.widget.Button("addbiblio");
+
+ var savesplitmenu = new YAHOO.widget.Button({
+ type: "split",
+ label: _("Save"),
+ id: "addbiblio",
+ name: "savemenubutton",
+ menu: savemenu,
+ container: "savebutton"
+ });
+
+ savesplitmenu.on("click", onOption);
+
new YAHOO.widget.Button({
- id: "z3950search",
- type: "button",
- label: _("z39.50 Search"),
- container: "z3950searchc",
- onclick: {fn:function(){PopupZ3950()}}
- });
+ id: "z3950search",
+ type: "button",
+ label: _("Z39.50 Search"),
+ container: "z3950searchc",
+ onclick: {fn:function(){PopupZ3950()}}
+ });
}
//]]>
</script>
<ul class="toolbar">
- <li><input id="addbiblio" type="submit" value="Save" /></li>
- <li id="z3950searchc"><input type="button" id="z3950search" value="z39.50 Search" onclick="PopupZ3950(); return false;" /></li>
+ <li id="savebutton"><input id="addbiblio" type="submit" value="Save" /></li>
+ <li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="PopupZ3950(); return false;" /></li>
<li id="changeframework"><label for="Frameworks">Change framework: </label>
<select name="Frameworks" id="Frameworks" onchange="Changefwk(this);">
<option value="">Default</option>
<div class="tag" id="tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
<div class="tag_title" id="div_indicator_tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
<!-- TMPL_UNLESS name="hide_marc" -->
- <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></span>
+ <!-- TMPL_IF NAME="advancedMARCEditor" -->
+ <a href="#" tabindex="1" class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib"--> - Click to Expand this Tag" onclick="ExpandField('tag_<!-- TMPL_VAR NAME="tag"-->_<!-- TMPL_VAR NAME='index' --><!-- TMPL_VAR NAME="random" -->'); return false;"><!-- TMPL_VAR NAME="tag" --></a>
+ <!-- TMPL_ELSE -->
+ <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></span>
+ <!-- /TMPL_IF -->
<!-- TMPL_IF NAME="fixedfield" -->
<input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator1" -->" />
<input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator2" -->" />
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF name="repeatable" -->
<a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Repeat this Tag">+</a>
- <!-- /TMPL_IF -->
- <!-- TMPL_UNLESS name="mandatory" -->
<a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Delete this Tag">−</a>
- <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
</div>
<!-- TMPL_LOOP NAME="subfield_loop" -->
<!-- One line on the marc editor -->
- <div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->; float: left; clear: left;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
+ <div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->; float: left; clear: left; width: 100%;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
<!--TMPL_UNLESS NAME="advancedMARCEditor" -->
<label for="tag_<!-- TMPL_VAR NAME='tag'-->_subfield_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
<!-- TMPL_ELSE -->
<img class="buttonUp" src="<!-- TMPL_VAR NAME="themelang" -->/../img/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')" alt="Move Up" title="Move Up" />
<!-- /TMPL_IF -->
- <input title="<!-- TMPL_VAR NAME='marc_lib_plain' -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" tabindex="0" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" tabindex="0" />
+ <input title="<!-- TMPL_VAR NAME='marc_lib_plain' -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" tabindex="0" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" />
</span>
<!-- TMPL_ELSE -->
<input type="hidden" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" />
<!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
<!-- TMPL_IF name="mandatory" --><span class="subfield subfield_mandatory"><!-- TMPL_ELSE --><span class="subfield"><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="marc_lib_plain" -->
+ <!-- TMPL_IF NAME="mandatory" --><span class="mandatory_marker" title="This field is mandatory">*</span><!-- /TMPL_IF -->
</span>
</label>
<!-- /TMPL_UNLESS -->
<!-- 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 -->
- <!-- TMPL_UNLESS NAME="mandatory" -->
<span class="buttonMinus" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">−</span>
- <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
+
</div>
<!-- End of the line -->