diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt index b1813e3600..b801922432 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt @@ -42,9 +42,10 @@ Sticky = $("#toolbar"); Sticky.hcSticky({ - stickTo: ".main", + stickTo: "#f", stickyClass: "floating" }); + $("#addauth").click(function(){ if(Check()){ $("#f").submit(); @@ -91,6 +92,21 @@ f.authtypecode.value = authtypecode; f.submit(); }); + + $("body").on("click", ".linkfield", function(e){ + e.preventDefault(); + var tab = $(this).data("tab"); + var field = $(this).data("field"); + var tablink = $("a[data-tabname='tab" + tab + "XX']" ).get(0).hash; + selectTab( tablink ); + window.scrollTo( 0, getScrollto( field, "toolbar" ) ); + }); + + $("body").on("click", ".show-errors", function(e){ + document.getElementById("form-errors").scrollIntoView(); + Sticky.hcSticky('refresh'); + }); + }); function selectTab( tablink ){ @@ -147,44 +163,74 @@ * check if mandatory subfields are written */ function AreMandatoriesNotOk(){ - var mandatories = new Array(); - var mandatoriesfields = new Array(); + var fields = new Array(); + var subfields = new Array(); var tab = new Array(); var label = new Array(); + var flag = false; + var tabflag= new Array(); + var StrAlert = "
"; + var notFilledClass = "subfield_not_filled"; + [% FOREACH BIG_LOO IN BIG_LOOP %] [% FOREACH innerloo IN BIG_LOO.innerloop %] [% IF ( innerloo.mandatory ) %] - mandatoriesfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]")); + fields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]", "[% BIG_LOO.number | html %]")); [% END %] [% FOREACH subfield_loo IN innerloo.subfield_loop %] - [% IF ( subfield_loo.mandatory ) %]mandatories.push("[% subfield_loo.id | html %]"); + [% IF ( subfield_loo.mandatory ) %]subfields.push("[% subfield_loo.id | html %]"); tab.push("[% BIG_LOO.number | html %]"); - label.push("[% To.json(subfield_loo.marc_lib) | html %]"); + label.push("[% subfield_loo.marc_lib | $raw %]"); [% END %] [% END %] [% END %] [% END %] - var StrAlert = ""; - for(var i=0,len=mandatories.length; i"; + StrAlert += ""; + mandatoryFields = new Object(); + /* Check for mandatories field(not subfields) */ - for(var i=0,len=mandatoriesfields.length; i 0 ){ + StrAlert += "

" + _("The following fields aren't filled:") + "

"; + StrAlert += "
    "; + for( var prop in mandatoryFields ){ + if( mandatoryFields[prop]["importance"] == "mandatory" ){ + StrAlert += "
  • " + _("Field %s is mandatory, at least one of its subfields must be filled.").format( prop ) + ' ' + _("Go to field") + '
  • '; + } else { + StrAlert += "
  • " + _("Field %s is important, at least one of its subfields must be filled.").format(prop) + ' ' + _("Go to field") + '
  • '; + } + } + StrAlert += "
"; + } + StrAlert += "
"; + if ( flag ) { + $("#show-errors").html('