Merge commit 'kc/master'
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbiblio.tmpl
index 3557cc2..8c5d499 100644 (file)
@@ -41,7 +41,7 @@ function confirmnotdup(){
  * 
  * 
  */
-function Check(){
+function Check(dest){
     var StrAlert = AreMandatoriesNotOk();
     if( ! StrAlert ){
         document.f.submit();
@@ -90,7 +90,8 @@ function AreMandatoriesNotOk(){
             <!-- /TMPL_LOOP -->
         <!-- /TMPL_LOOP -->
     <!-- /TMPL_LOOP -->
-    var StrAlert = _("Can't save this record because the following field aren't filled :\n\n");
+    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);
@@ -131,7 +132,6 @@ function AreMandatoriesNotOk(){
                for(var j=0,len2=eleminputs.length; j<len2; j++){
        
                        if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
-                                       /* tag_801_subfield_c_841304_545657 */
                                        inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
                                        
                                        for( var k=0; k<len2; k++){
@@ -139,15 +139,30 @@ function AreMandatoriesNotOk(){
                                                        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
+                                               }
+                                       }
                        }
                }
+
+               elemtextareas = elem.getElementsByTagName('textarea');
+               for(var j=0,len2=elemtextareas.length; j<len2; j++){
+                // this bit assumes that the only textareas in this context would be for subfields
+                if (elemtextareas[j].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";
+               StrAlert += _("\t* Field ") + arr[0] + _(" is mandatory, at least one of its subfields must be filled.") + "\n";
        }
        
     }
@@ -416,18 +431,19 @@ function CloneSubfield(index){
     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 
@@ -443,7 +459,20 @@ function CloneSubfield(index){
         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];
@@ -611,6 +640,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
     </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 -->
        
@@ -623,28 +653,56 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
 
         $(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>                
@@ -715,10 +773,8 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
             <!-- /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">&#8722;</a>
-            <!-- /TMPL_UNLESS -->
+            <!-- /TMPL_IF -->
             
         </div>
        
@@ -746,6 +802,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                 <!-- 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 -->
@@ -753,11 +810,10 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                 <!-- TMPL_VAR NAME="marc_value" -->
                 
                 <!-- TMPL_IF NAME="repeatable" -->
-                    <span class="buttonPlus" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">+</span>
+                    <span class="subfield_controls"><a href="#" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /></a>
+                                        <a href="#" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /></a></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" -->')">&#8722;</span>
-                <!-- /TMPL_UNLESS -->
+
                 
             </div>
             <!-- End of the line -->