Code javascript pour l’intranet

Code javascript pour l’intranet

0. Configuration

La préférence système intranetuserjs peut être utilisé pour activer du code java à l’intranet.

Les codes qui sont listés ci-dessous doivent être inscrit entre ces deux balises en rouge (les balises ne doivent apparaître qu’une fois dans la préférence système que vous ayez un ou plusieurs codes).

$(document).ready(function(){ CODE });

1. Afficher un message pop-up dans un dossier où l’adresse courriel est manquante


// Confirme qu'on est dans un page de prêt myvar0 = $('title:contains("Prêté à")').length; // is there a mailto: link on this page? myvar1 = $('a[href*="mailto"]').length; if(myvar0 != 0 && myvar1 == 0) { alert('adresse courriel manquante !'); }

2. Afficher message pop-up dans un dossier où l’adresse courriel et/ou le numéro de téléphone sont manquants


//Confirme qu'on est dans un page de prêt myvar0 = $('title:contains("Prêté à")').length; // is there a mailto: link on this page? myvar1 = $('a[href*="mailto"]').length; myvar2 = $("#nophonestored").length; if(myvar0 != 0 && myvar1 == 0) { alert('Adresse courriel manquante!'); } if(myvar0 != 0 && myvar2 != 0) { alert('Numero telephone manquant!'); }

3. Cacher la colonne de gauche dans la page des règles de prêt


if ((""+window.location).indexOf("smart-rules.pl")>=0) { $("#navmenu").hide(); $(".yui-t1 #yui-main .yui-b").css("margin-left", "1em"); }

4. Arriver dans le pavé exemplaire quand on modifie un exemplaire (3.12)


$(window).load(function (){ $('[id^="tag_952_subfield_z_"]').focus(); });

5. Afficher une boite de recherche de numéro de notice d’autorités dans le module Autorités


if (location.pathname.indexOf('authorities/authorities-home.pl')>-1 || location.pathname.indexOf('authorities/detail.pl')>-1) { $('#breadcrumbs').before('<form action="detail.pl"><div id="authid">Rechercher par numéro de notice: <input size="8" name="authid"> <input value="Rechercher" type="submit"></div></form>'); $('#authid').css('margin-left','200px'); }

6. Afficher une boite de recherche de numéro de notice bibliographique dans le module de recherche, dans le module catalogage et dans la page des exemplaires


//boite recherche numero notice
if (location.pathname.indexOf('cataloguing/cataloging-home.pl')>-1 || location.pathname.indexOf('mainpage.pl')>-1 || location.pathname.indexOf('catalogue/detail.pl')>-1 || location.pathname.indexOf('catalogue/search.pl')>-1) {
$('#breadcrumbs').before('<form action="/cgi-bin/koha/catalogue/detail.pl"><div id="biblionumber">Rechercher par numéro de notice: <input size="8" name="biblionumber"> <input value="Rechercher" type="submit"></div></form>'); $('#biblionumber').css('margin-left','200px');
}

7. Naviguer entre les onglets d’une notice en vue marc avec les touches du clavier

Voir la vidéo suivante pour comprendre l’usage de ce code



// édition notice Marc if (location.pathname.indexOf('cataloguing/addbiblio.pl')>-1) { $(document).keydown(function(e) { if (e.target.tagName == 'INPUT') return; if (e.target.tagName == 'TEXTAREA') return; var f = 0; // flag var c = e.which; // code key pressed if (c>=48 && c<=57) {f=1; c-=48;} // 0..9 keyboard if (c>=96 && c<=105) {f=1; c-=96;} // 0..9 keypad if (f==0) return; var marc_sections = $('#addbibliotabs ul li a').text().replace(/[^0-9]/g,''); var marc_section = marc_sections.indexOf(c); if (marc_section == -1) return; $($('#addbibliotabs ul li a')[marc_section]).click(); }); }

8. Naviguer dans les onglets d’une notice d’autorité en vue marc avec les touches du clavier


// édition d'une notice autorité if (location.pathname.indexOf('authorities/authorities.pl')>-1) { $(document).keydown(function(e) { if (e.target.tagName == 'INPUT') return; if (e.target.tagName == 'TEXTAREA') return; var f = 0; // flag var c = e.which; // code key pressed if (c>=48 && c<=57) {f=1; c-=48;} // 0..9 keyboard if (c>=96 && c<=105) {f=1; c-=96;} // 0..9 keypad if (f==0) return; var marc_sections = $('#authoritytabs ul li a').text().replace(/[^0-9]/g,''); var marc_section = marc_sections.indexOf(c); if (marc_section == -1) return; $($('#authoritytabs ul li a')[marc_section]).click(); }); }

9. Afficher un message pop-up pour avertir le personnel qu’il y a des avertissements dans le pavé Attention du dossier de l’usager (Expiration du dossier, Amendes)


myvar0 = /circulation\.pl/.test(window.location.pathname); myvar4 = $('#circmessages span.circ-hlt').length; if (myvar0 != 0 && myvar4 != 0) { alert("Merci de faire attention à la date d'expiration et/ou aux amendes !"); }

10. Positionner le curseur dans le formulaire de recherche « à partir d’une notice existante » dans le module Acquisition


if (window.location.href.indexOf("acqui/basket.pl") > -1) { $("input[name='supplier']").blur(); $("input[name='q']").focus(); }

11. Mettre en avant le message qui apparait lors d’un retour d’un document perdu


$( ".problem:contains('retrouvé, statut modifié')" ).css({"backgroundColor": "red", "color": "white", "font-size":"150%"})

12. Cacher les boutons « Dupliquer » et « Ajouter un enfant » dans le dossier d’un usager


$("a#duplicate.btn.btn-small").hide(); $("a#addchild.btn.btn-small").hide();

13 . Mettre en rouge du texte dans le tableau des retours



$( ".circ tbody td:contains('TEXTE A COLORISER')" ).css({"color": "red"})

14. Mettre en rouge du texte dans le tableau des exemplaires lors d’une réservation


//mettre en rouge statut exemplaire dans page reservation $("#circ_request td:contains('Indisponible (perdu ou manquant)')" ).css({"color": "red"}) $("#circ_request td:contains('Exclu du prêt (En traitement)')" ).css({"color": "red"}) $("#circ_request td:contains('En commande')" ).css({"color": "red"})

15. Cacher l’option « Effacer les amendes » dans la page des retours et dans le dossier d’usager


$("p:contains('Effacer les amendes')").hide();

16. Positionner par défaut les menus déroulants d’ajout d’exemplaire dans une réserve de cours


Pour choisir par défaut un type d’exemplaire voici le code. Il faut remplacer le texte en rouge par le code de votre type de document.


$("select[name='itype']").val("CODE_TYPE_DOCUMENT").attr("selected","selected");

17. Cacher le texte Fixer la date de retour à l’expiration dans le dossier de l’usager.

Ce message apparait quand la préférence système ReturnBeforeExpiry est activée.


Si on veut cacher le message il faut mettre ce code


$("li:contains('Fixer la date de retour')").hide();

18. Cacher la fonctionnalité Renouvellement automatique dans le dossier de l’usager


//cacher renouvellement automatique $("div#set-automatic-renewal.checkout-setting label[for='auto_renew']").remove(); $("div#set-automatic-renewal.checkout-setting input[id='auto_renew']").remove();

19. Positionner le curseur dans la boite d’ajout d’exemplaires dans les listes


if (window.location.href.indexOf("virtualshelves/shelves.pl") > -1) {$("input[name='barcode']").focus();}

20. Positionner le curseur dans la quantité dans la page d’ajout d’une commande


$(window).load(function (){ $('[id="quantity"]').focus(); });

21. Empêcher toute action lors de l’affichage d’une alerte de réservation lors d’un retour de document


if ($('#return2,#hold-found1,#hold-found2,#item-transfer').length){ $("#barcode").blur(); $("input[class='print']").css({backgroundColor: 'lightgreen'}); }

22. Agrandir la zone de note lors d’un paiement ou d’une amnistie


$input = $("#note") $textarea = $("<textarea>").attr({ id: $input.prop('id'), name: $input.prop('name'), value: $input.val() }); $input.after($textarea).remove();


23. Positionner le curseur dans l’onglet Rechercher dans toutes les vedettes du module Autorités


if (window.location.href.indexOf("cgi-bin/koha/authorities/authorities-home.pl") > -1) { $("#header_search a[href='#matchheading_search']").click(); } if (window.location.href.indexOf("authorities/authorities-home.pl") > -1) { $("input[name='value']").focus(); }

24. Cacher les colonnes de sites dans le rapport Mise de côté quotidienne


$('#holdst').on( 'init.dt', function () {     $('#holdst').dataTable().fnSetColumnVis( 9, false );  }); $('#holdst').on( 'init.dt', function () {     $('#holdst').dataTable().fnSetColumnVis( 8, false );  });

25 . Positionner la barre de recherche du tableau des réclamations de fascicules en haut


//pour placer la barre de recherche en haut dans la page de reclamation des periodiques    $(window).bind("load", function() {       $("#claimst tfoot td").insertBefore("#claimst thead");    });

26. Alerte dans l’historique manuel des périodiques pour la limite de caractères dans les notes


// alerte dans historique periodique myvar0 = /subscription-history\.pl/.test(window.location.pathname); myvar4 = $('#subscription_form_history').length; if (myvar0 != 0 && myvar4 != 0) { myvar5 = $('#subscription_form_history .table').text(); alert('Attention! Les cases de notes sont limitées à 150 caractères'); }

27. Retourner dans l’onglet Prêt plutôt que Détails d’un usager après un retour de document


//revenir dans onglet pret au retour var0 = $('body').is("#circ_returns"); if(var0 !=0) { $('a').each(function() {         this.href = this.href.replace('members/moremember.pl', 'circ/circulation.pl');         }     )}

28. Modifier le texte Période dans le rapport Circulation de Bilans et Statistiques


//pour préciser comment recherche de date doit être faite dans rapport circulation $("td:contains('Période')").text("Période (choisir une date de fin supérieure à la date du jour recherchée)");

29. Déplier par défaut Paramètres de prêt (version 23.05)

//deplier par defaut Paramètres de prêt
$(".circ-settings").attr("class","").attr("style","");

30. Positionner curseur dans la boite de recherche après une recherche


//positionner curseur barre recherche $("#header_search input[name=q]:eq(0)").focus();

31. Cacher le bouton « Payer toutes les amendes » dans le compte de l’utilisateur


//cacher bouton Payer toutes les amendes $("a.btn.btn-default.btn-xs:contains('Payer')").hide();

(version 17.05)

33. Cacher Autre contact dans la fiche de l’utilisateur en mode modification/création


//cacher autre contact $("fieldset#memberentry_address.rows").hide(); $("fieldset#memberentry_altaddress.rows").hide();

34. Modifier le texte du pop-up lors d’un prêt d’un exemplaire Exclu du prêt


//modifier le texte pour le pret consultation sur place $("#circ_needsconfirmation.dialog.alert.audio-alert-action li:contains('Consultation sur place')").html('VOTRE_TEXTE');

35. Déplacer la boite « Si une entrée concordante est trouvée » dans l’outil Importation d’un lot d’utilisateurs


//pour deplacer le bloc If matching record is already in the borrowers table $(window).bind("load", function() { $("#tools_import_borrowers.tools fieldset.rows:contains('If matching')").insertBefore("#tools_import_borrowers.tools fieldset.rows:contains('Default values')"); });

36. Ajouter un bouton Imprimer le ticket rapide



//ajouter un bouton ticket rapide $("#circ_circulation #toolbar").parent().prepend("<button id='printquickslip' type='button'>Imprimer le ticket rapide</button>"); $("#printquickslip").click( function() { });

37. Changer l’index Éditeur de la recherche avancée pour que la recherche se fasse sur la zone 264 et 260


//ajouter index editeur 264 et 260 $('option[value="curriculum"]').after("<option value='pv,wrdl'>Éditeur</option>"); $(".advsearch option[value='pb']").hide();

38. Ajouter un lien vers un rapport sql

  • Exemple avec un lien vers un rapport sql rajouté dans la page d’acceuil du module circulation (sous le bouton Retards avec amendes)

//ajouter un lien vers un rapport sql sous le bouton Retards avec amendes $("#circ_circulation-home div.row div.col-sm-5.col-md-4 a.circ-button:contains('Retards avec amendes')").after('<p><ul class="buttons-list"><li><a class="circ-button" href="URL_RAPPORT_SQL"><i class="fa fa-clock-o"></i> Rapport des retards</a></li></ul></p>');
  • Exemple avec un lien vers un rapport sql rajouté dans la page d’acceuil du module circulation (sous le bouton File de réservations)

//ajouter un lien vers un rapport sql File réservation module circulation
$("#circ_circulation-home div.row div.col-sm-5.col-md-4 a.circ-button:contains('File de réservations')").after('<li><a class="circ-button" href="URL_RAPPORT_SQL"><i class="fa fa-tasks"></i> File des réservations</a></li>');
  • Exemple avec un lien vers un rapport sql rajouté dans la page d’accueil Bilans et statistiques

//ajouter un lien Rapport de caisse
$("#rep_reports-home.rep div.row a:contains('Périodiques')").after('<li><a href="URL_RAPPORT_SQL">Rapport de caisse (SQL)</a></li>');

39. Modifier les intitulés des sections de la grille de catalogage *19.05

$(document).ready(function() {

 

$(".toolbar-tabs-container a[href='#tab0XX'], #tab0XX h3").text("Numéros et codes");

 

$(".toolbar-tabs-container a[href='#tab1XX'], #tab1XX h3").text("Vedettes principales");

 

$(".toolbar-tabs-container a[href='#tab2XX'], #tab2XX h3").text("Titre et édition");

 

$(".toolbar-tabs-container a[href='#tab3XX'], #tab3XX h3").text("Description matérielle");

 

$(".toolbar-tabs-container a[href='#tab4XX'], #tab4XX h3").text("Collection");

 

$(".toolbar-tabs-container a[href='#tab5XX'], #tab5XX h3").text("Notes");

 

$(".toolbar-tabs-container a[href='#tab6XX'], #tab6XX h3").text("Accès sujet");

 

$(".toolbar-tabs-container a[href='#tab7XX'], #tab7XX h3").text("Vedettes secondaires");

 

$(".toolbar-tabs-container a[href='#tab8XX'], #tab8XX h3").text("Vedettes secondaires de collection");

 

$(".toolbar-tabs-container a[href='#tab9XX'], #tab9XX h3").text("Zones supplémentaires");

 

});

40. Afficher le tableau des prêts immédiatement (sans devoir cocher la case)

  1. if ( typeof script !== 'undefined' && ! $.cookie("issues-table-load-immediately-" + script) ) { $.cookie("issues-table-load-immediately-" + script, true, { expires: 365 }); }

41. Mettre l'option français par défaut pour le paramètre régional d'un abonnement de périodique

//paramètre régional pour périodique//
$("select[name='locale']").val("fre").attr("selected","selected");

42. Cacher le pavé pour la déclaration des retours dans le compte de l'usager

// cacher le pavé des déclarations des retours
$("#return-claims-tab").parent().hide();

43. Cacher la mention de la grille bibliographique utilisée dans la vue détaillée d'une notice

//Cacher la mention de la grille bibliographique dans la vue détaillée 

$("#catalogue_detail_framework.results_summary").hide();

44. Cacher la mention de ElasticSearch dans la vue détaillée d'une notice

//Cacher la mention de ElasticSearch dans la vue détaillée 

$("#catalogue_detail_elastic_record.results_summary").hide();


    • Related Articles

    • Code CSS pour l’intranet

      Le code CSS permet de modifier l’apparence des textes et des alertes dans Koha. Vous pouvez insérer ces différents codes dans la préférence système IntranetUserCSS. 1. Modifier l’apparence des messages sur la page d’accueil de l’intranet ...
    • Code javascript pour l’opac

      0. Configuration La préférence système opacuserjs peut être utilisée pour activer du code java à l’opac. Les codes qui sont listés ci-dessous doivent être inscrits entre ces deux balises en rouge. $(document).ready(function(){ CODE }); Voici les ...
    • Ajouter un index Titre de revue

      Cet ajout permet de rechercher rapidement un Titre de revue en cherchant dans l'index Titre et en ajoutant un filtre sur le ou les types de documents correspondant à vos revues. Le code fonctionnel avec ElasticSearch est beaucoup plus complexe que ce ...
    • Code CSS pour l’opac

      Le code CSS permet de modifier l’apparence des textes et des alertes dans Koha. Vous pouvez insérer ces différents codes dans la préférence système OpacUserCSS. 1. Enlever le souligné des liens à l’opac dans la colonne de gauche (OpacNav) #opacnav a, ...
    • Étiquettes avec code QR

      Vos utilisateurs peuvent choisir d’imprimer des étiquettes avec un code QR. Ces codes QR peuvent être utiles. ils permettent d'avoir accès à la fiche de données de sécurité de vos produits rapidement. Comment imprimer un code QR Veuillez choisir le ...