-
Notifications
You must be signed in to change notification settings - Fork 0
IntranetUserJS
Anneli Österman edited this page Jul 19, 2023
·
24 revisions
Nämä rimpsut on viety Koha-Suomen verkkosivuille IntranetUserJS-kirjastoon.
Näillä JS:llä lisätään joko jokin toiminto tai varmistetaan tallennettavan datan oikeellisuus/eheys. Nämä suositellaan hyvin vahvasti lisättäväksi.
/// ALKU ///
/// Tällä muutetaan tässä mainituille asiakastyypeille salasanan generointi nelinumeroiseksi. Ilman tätä, asiakkaille tulee aakkosnumeerisia salasanoja ///
/* Generoi henkilöasiakkaalle PIN-koodi salasanaksi */
function generate_patron_password() {
// generate a PIN
var chars = '0123456789';
var length = 4;
var password = '';
for (var i = 0; i < length; i++) {
password += chars.charAt(Math.floor(Math.random() * chars.length));
}
return password;
}
$(document).ready(function () {
if (window.location.href.indexOf("members/member-password.pl") > -1) {
$("body").on('click', "#fillrandom", function (event) {
event.stopImmediatePropagation();
event.preventDefault();
var password = '';
var patron = $('.patroncategory').text();
if ( (patron.indexOf("HENKILO") >= 0) || (patron.indexOf("LAPSI") >= 0) || (patron.indexOf("YHTEISO") >= 0) || (patron.indexOf("KOTIPALVEL") >= 0) || (patron.indexOf("KIRJASTO") >= 0) || (patron.indexOf("MUUKUINLAP") >= 0) ) {
password = generate_patron_password();
$("#newpassword").val(password);
$("#newpassword").attr('type', 'text');
$("#newpassword2").val(password);
$("#newpassword2").attr('type', 'text');
return;
}
else {
var pattern_regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{3,}/;
while (!pattern_regex.test(password)) {
password = generate_password();
}
$("#newpassword").val(password);
$("#newpassword").attr('type', 'text');
$("#newpassword2").val(password);
$("#newpassword2").attr('type', 'text');
return;
}
});
}
});
/// LOPPU ///
/// ALKU ///
/* Alt + P = Print qslip eli Alt+P tulostaa tämän päivän lainat -kuitin. */
$(document).ready(function(){
function printKeyCode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
var event = e || window.event;
if(keycode==80 && event.altKey){
printx_window("qslip");
}
}
document.onkeydown = printKeyCode;
});
/// LOPPU ///
/// ALKU ///
/* Piilota Uusi/Renew-vaihtoehto yläpalkista. Uusinnan pystyy tekemään tällä ilman kirjastokorttia, pelkällä nidenumerolla. Joissain kimpoissa tämä on kiellettyä. */
$(document).ready(function () {
$( "li[aria-controls='renew_search']" ).hide();
});
/// LOPPU ///
/// ALKU ///
/* Laita raksi "Poista käsin poistettujen varausten maksut" -kohtaa palautuksessa. Tällä estetään noutamattoman varauksen maksun syntyminen, kun varaus noudettavissa oleva varaus poistetaan palautuksen kautta. Huom! Ei toimi, jos palautus tehdään muualla kuin Palautus-sivulla. */
$(document).ready(function () {
$("#forgivemanualholdsexpire").attr('checked', true);
});
/// LOPPU ///
/// ALKU ///
/* Näillä rimpsuilla tehdään tiedonhakuun Indeksointi-työryhmän päättämät muutokset. Asetetaan otsikot eri kielillä aineistotyyppi-, hyllytarkenne- ja ikärajavälilehdille tiedonhaussa. Lisätään alasvetovalikoihin YKL, UDK, Päivittyvä julkaisu ja Kausijulkaisu */
$(document).ready(function() {
if ( $('html').attr('lang') == 'fi-FI') {
$("#advsearch-tab-mtype a").text("Aineistotyyppi"); /* MTYPE auktorisoituarvo tarkassa haussa */
$("#advsearch-tab-subloc a").text("Hyllytarkenne"); /* SUBLOC auktorisoituarvo tarkassa haussa */
$("#advsearch-tab-agelevel a").text("Ikärajat"); /* AGELEVEL auktorisoituarvo tarkassa haussa */
$("#advsearch-tab-bib-level a").text("Emokohde/Osakohde"); /* bib-level auktorisoituarvo tarkassa haussa */
$("#searchterms select").append(new Option('YKL-luokitus', 'other-classification')); /* Lisää uuden valinnan YKL-luokitus */
$("#searchterms select").append(new Option('UDK-luokitus', 'udc-classification')); /* Lisää uuden valinnan UDK-luokitus */
$("#subtype select option[value='mus:i'").parent().append(new Option('Päivittyvä julkaisu', 'bib-level:i')); /*Lisää lisärajoitukset valikkoon uuden arvon */
$("#subtype select option[value='mus:i'").parent().append(new Option('Kausijulkaisu', 'bib-level:s')); /*Lisää lisärajoitukset valikkoon uuden arvon */
}
else if ( $('html').attr('lang') == 'sv-SE') {
$("#advsearch-tab-mtype a").text("Materialtyp");
$("#advsearch-tab-subloc a").text("Underplats");
$("#advsearch-tab-agelevel a").text("Åldersgränser");
$("#advsearch-tab-bib-level a").text("Huvudobjekt/Delobjekt");
$("#searchterms select").append(new Option('YKL-klassification', 'other-classification'));
$("#searchterms select").append(new Option('UDC-klassification', 'udc-classification'));
$("#subtype select option[value='mus:i'").parent().append(new Option('Publikation som uppdateras', 'bib-level:i'));
$("#subtype select option[value='mus:i'").parent().append(new Option('Seriell publikation', 'bib-level:s'));
}
else if ( $('html').attr('lang') == 'en') {
$("#advsearch-tab-mtype a").text("Material type");
$("#advsearch-tab-subloc a").text("Sub location");
$("#advsearch-tab-agelevel a").text("Age levels");
$("#advsearch-tab-bib-level a").text("Child/monographic record");
$("#searchterms select").append(new Option('Other classification', 'other-classification'));
$("#searchterms select").append(new Option('UDC classification', 'udc-classification'));
$("#subtype select option[value='mus:i'").parent().append(new Option('Integrating resource', 'bib-level:i'));
$("#subtype select option[value='mus:i'").parent().append(new Option('Serial', 'bib-level:s'));
}
$("#searchterms select option[value='location']").val('loc'); /* Muuttaa location-arvon loc-arvoksi "Hakusanat"-valikossa */
});
/// LOPPU ///
/// ALKU ///
/// Niteiden lisäys tarratulostusjonoon ///
$(document).ready(function() {
$(".print_label").after('<li><a href="#" onclick="setPrintQueue($(this))">Tulostusjonoon</a></li>');
$("#addnewitem").after('<input type="button" style="margin-left:3px;" value="Tulostusjonoon" onclick="setPrintQueue($(this))"/>');
});
function setPrintQueue(element) {
let searchParams = new URLSearchParams(element.parent().parent().find(".print_label a").attr("href"));
let itemnumber = element.parent().find('input[name="itemnumber"]').val();
let number = itemnumber ? itemnumber : searchParams.get('number_list');
$.ajax({
url: "/api/v1/contrib/kohasuomi/labels/print/queue",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ itemnumber: number, printed: 0 }),
success: function (result) {
alert("Nide lisätty jonoon!");
},
error: function (err) {
alert("Lisäys epäonnistui!");
}
});
}
/* Niteiden lisätys tarratulostustyökaluun perustiedot-näytöltä */
$(document).ready(function() {
$("#holdings .itemselection_action_modify, #otherholdings .itemselection_action_modify").after(' <a href="#" class="itemselection_action_print" onclick="addItemsToPrintQueue(event, $(this))"><i class="fa fa-print"></i> Lisää valitut niteet tulostusjonoon</a>');
});
function addItemsToPrintQueue(e, element) {
e.preventDefault();
var requests = [];
$("input[name='itemnumber'][type='checkbox']:visible:checked", 'table.items_table').each(function() {
var itemnumber = $(this).val();
requests.push($.ajax({
url: "/api/v1/contrib/kohasuomi/labels/print/queue",
type: "POST",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ itemnumber: itemnumber, printed: 0 }),
error: function (err) {
console.error( `Niteen nro. ${itemnumber} lisäys tulostusjonoon epäonnistui.` );
}
}));
});
window.onbeforeunload = function () {
if ( requests.length ) {
return "";
}
};
$('.itemselection_action_print').replaceWith(`<a class="itemselection_action_print disabled" style="cursor: not-allowed;"><i class="fa fa-print"></i> Lisätään ${requests.length} nide${requests.length == 1 ? "" : "ttä"} tulostusjonoon...</a>`);
$.when.apply($, requests).done(function () {
alert( `${requests.length} nide${requests.length == 1 ? "" : "ttä"} lisätty tulostusjonoon.` );
}).fail(function () {
alert( "Niteiden lisäys tulostusjonoon keskeytyi. Tarkista tulostusjono." );
}).always(function () {
$('.itemselection_action_print').replaceWith('<a href="#" class="itemselection_action_print" onclick="addItemsToPrintQueue(event, $(this))"><i class="fa fa-print"></i> Lisää valitut niteet tulostusjonoon</a>');
requests = [];
});
}
/// LOPPU ///
/// ALKU ///
/// Lisätään asiakkaan lisäys/muokkausnäytölle hetun lisäysmahdollisuus. Rimpsu myös muodostaa syntymäaika-kenttään tiedon henkilötunnuksen perusteella. ///
$(document).ready(function() {
$("#entryform #memberentry_identity ol").before('<ol><li><label>Lisää hetu:</label><input type="text" id="ssnvalue"></input><button onclick="addSSN(event)">Tallenna</button></li></ol><hr/>');
});
function addSSN(event) {
event.preventDefault();
$.ajax({
url: "/api/v1/contrib/kohasuomi/ssn/add",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
token: 'yS390RiiReRhd2qXBmEIkD',
ssn: $("#ssnvalue").val()
}),
success: function(result) {
alert(result.msg);
var entry = $("#ssnvalue").val().trim();
var dateofbirth = ((entry.substr(6, 1) == "-" ? "19": "20") + entry.substr(4, 2) + "-" + entry.substr(2, 2) + "-" + entry.substr(0, 2));
var fp = document.querySelector("#dateofbirth")._flatpickr;
fp.setDate(dateofbirth);
$("#patron_attr_5").val(result.ssnkey); //Tämä id on katsottava järjestelmäkohtaisesti
},
error: function(err) {
var message = JSON.parse(err.responseText).message;
if ($.isNumeric(message)) {
if (window.confirm('Asiakas on jo olemassa! Paina OK siirtyäksesi tietoihin.')) {
window.open('/cgi-bin/koha/members/moremember.pl?borrowernumber=' + message, '_blank');
}
} else {
alert(message);
}
}
});
}
/// LOPPU ///
/// ALKU ///
// Varaustunnuksen automaattinen generointi/anonymisointi - Adapted from Koha-suomi patch for KD-1452 (commit 1c71b272885d9c510630 from https://github.com/KohaSuomi/Koha/ branch master)
// Tämä generoi patron_attr_2-kenttään. Tarkista oikea attribuutti asiakkaan muokkaussivulta selaimen Tarkista-toiminnolla. Jos attribuutin arvo muuttuu, pitää se muuttaa jokaiseen kohtaan, jossa se mainitaan. //
$(document).ready(function(){
if (window.location.pathname == '/cgi-bin/koha/members/memberentry.pl' && window.location.search.includes("?op=add&") || window.location.search.includes("?op=duplicate&")) {
var unixepoch = Math.round( (new Date()).getTime() / 10 ).toString();
var epochdashed = unixepoch.replace( /(....)/g, '$1-').replace(/-$/,'' );
$('textarea#patron_attr_2').val(epochdashed);
$("#patron_attr_2").focus(function() {
unixepoch = Math.round( (new Date()).getTime() / 10 ).toString();
epochdashed = unixepoch.replace( /(....)/g, '$1-').replace(/-$/,'' );
$('textarea#patron_attr_2').val(epochdashed);
});
}
if (window.location.pathname == '/cgi-bin/koha/members/memberentry.pl' && window.location.search.includes("?op=modify")) {
$("#patron_attr_2").focus(function() {
unixepoch = Math.round( (new Date()).getTime() / 10 ).toString();
epochdashed = unixepoch.replace( /(....)/g, '$1-').replace(/-$/,'' );
$('textarea#patron_attr_2').val(epochdashed);
});
}
});
/// LOPPU ///
/// ALKU ///
/* Laita niteiden eräpoistossa täppä kohtaan "Poista tietueet, jos kaikki niteet poistettu". Tällä varmistetaan, että tietokantaan ei jää niteettömiä tietueita. */
$(document).ready(function () {
$("#del_records").attr('checked', true);
});
/// LOPPU ///
/// ALKU ///
/// Ylimääräisten välilyöntien poistot ///
/* Poista asiakkaan muokkausnäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä*/
$(document).ready(function() {
$('body#pat_memberentrygen.pat input').blur(function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
$(this).val(tmp);
});
});
/* Poista asiakkaan muokkausnäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä*/
$(document).ready(function() {
$('body#pat_memberentrygen.pat textarea').blur(function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
$(this).val(tmp);
});
});
/* Poista niteen muokkausnäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä*/
$(document).ready(function() {
$('body#cat_additem.cat input').blur(function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
$(this).val(tmp);
});
});
/* Poista kausijulkaisun vastaanottonäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä*/
$(document).ready(function() {
$('body#ser_serials-edit.ser input').blur(function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
tmp = tmp.replace(/(^[1-2][0-9]{3}) *: */, '$1 : ');
$(this).val(tmp);
});
});
/* Poista hankinnassa uuden tilauksen niteen muokkausnäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä */
/* Tämä ei toimi */
$(document).ready(function() {
$('body#acq_neworderempty.acq').on("blur", "input", function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
$(this).val(tmp);
});
});
/* Poista hankinnassa uuden tilauksen niteen muokkausnäytön kentistä välilyönnit alusta, lopusta ja useammat peräkkäiset välilyönnit välistä */
/* Tämä ei toimi */
$(document).ready(function() {
$('body#acq_neworderempty.acq').on("blur", "textarea", function() {
var tmp = $(this).val();
tmp = tmp.replace(/^ +/, '');
tmp = tmp.replace(/ +$/, '');
tmp = tmp.replace(/ */g, ' ');
$(this).val(tmp);
});
});
/// LOPPU ///
/// ALKU ///
/// Lisää tietueen perustiedot-näytölle valikkoriville loppuun Avaa Finnassa -nappula. Muista vaihtaa osoitteisiin oman kimpan tunnisteet Vaaran tunnisteiden sijaan. ///
$( document ).ready(function() {
if (window.location.pathname == '/cgi-bin/koha/catalogue/detail.pl') {
/*var details_elem = document.getElementById("catalogue_detail_biblio");
var span_elem = document.createElement("span");
span_elem.className = "results_summary";
var link_elem = document.createElement("a");
link_elem.href = "https://vaara.finna.fi/Record/vaarakirjastot." + biblionumber;
var link_text = document.createTextNode("Open in Finna");
link_elem.appendChild(link_text);
span_elem.appendChild(link_elem);
details_elem.appendChild(span_elem);*/
var linktext = 'Avaa Finnassa';
if( $( '#changelanguage .currentlanguage' ).text() == 'English' ) {
linktext = 'Open in Finna';
} else if ( $( '#changelanguage .currentlanguage' ).text() == 'Svenska' ) {
linktext = 'Öppna i Finna';
}
var params = new URLSearchParams(window.location.search);
var biblionumber = parseInt(params.get("biblionumber"));
$( '#catalog_detail #toolbar' ).append( '<div class="btn-group"> <a href="https://vaara.finna.fi/Record/vaarakirjastot.' + biblionumber + '" class="btn btn-default" target="_blank"><i class="fa fa-external-link"></i> ' + linktext + '</a></div>' );
}
});
/// LOPPU ///
/// ALKU ///
/* Puhelinnumeron muodon tarkistus ja email/sms-viestitäpät*/
// Add additional validation to member add/edit form
$(document).ready(function () {
if (window.location.href.indexOf("members/memberentry.pl") > -1) {
$('#SMSnumber').attr('disabled', 'disabled');
$('.sms_number_help').text("Arvo kopioituu Matkapuhelin-kentästä tallennettaessa.");
// Replace forms "Save" button
// (otherwise form is sent regardless validation checks made here)
var language = $(".currentlanguage").text();
var save_text;
if(language == "Suomi"){
save_text = "Tallenna";
}else if(language == "Svenska"){
save_text = "Spara";
}else {
save_text = "Save";
}
$('#pat_memberentrygen #saverecord').replaceWith('<button class="btn btn-default" id="modified_saverecord"><i class="fa fa-save"></i> '+save_text+'</button>');
var isvalid = 1;
$('#phone').blur(function () {
var error_mes = "";
var phone = $('#phone').val();
var phone_reg = /^[+]?([^-\s][0-9]+)+$/;
if (phone && !phone_reg.test(phone)) {
error_mes = error_mes + "\nPlease enter a valid phone number.\n";
$('#phone').after('<label id="phone-error" class="error" for="phone">' + error_mes + '</label>');
isvalid = 0;
} else {
isvalid = 1;
}
});
$('#mobile').blur(function () {
var error_mes = "";
var mobile = $('#mobile').val();
var mobile_reg = /^[+]?([^-\s][0-9]+)+$/;
if (mobile && !mobile_reg.test(mobile)) {
error_mes = error_mes + "\nPlease enter a valid mobile number.\n";
$('#mobile').after('<label id="mobile-error" class="error" for="mobile">' + error_mes + '</label>');
isvalid = 0;
} else {
isvalid = 1;
}
});
$('#modified_saverecord').click(function (e) {
var text = "";
if (isvalid == 1) {
//Vahvista viestitäppien poisto jos sähköposti/matkapuhelin puuttuu popupissa
if (!$('#email').val()) {
if ($('#email1').attr('checked') || $('#email2').attr('checked') || $('#email3').attr('checked') || $('#email4').attr('checked') || $('#email5').attr('checked') || $('#email6').attr('checked') || $('#email10').attr('checked')) {
text = "Sähköpostiosoite puuttuu. Sähköposti-viestiasetukset poistetaan.\n";
$('#email1').removeAttr('checked');
$('#email1').attr('disabled', 'disabled');
$('#email2').removeAttr('checked');
$('#email2').attr('disabled', 'disabled');
$('#email3').removeAttr('checked');
$('#email3').attr('disabled', 'disabled');
$('#email4').removeAttr('checked');
$('#email4').attr('disabled', 'disabled');
$('#email5').removeAttr('checked');
$('#email5').attr('disabled', 'disabled');
$('#email6').removeAttr('checked');
$('#email6').attr('disabled', 'disabled');
$('#email10').removeAttr('checked');
$('#email10').attr('disabled', 'disabled');
}
}
if (!$('#mobile').val()) {
if ($('#sms1').attr('checked') || $('#sms4').attr('checked') || $('#sms10').attr('checked')) {
text += "Matkapuhelinnumero puuttuu. Tekstiviesti-viestiasetukset poistetaan.";
$('#sms1').removeAttr('checked');
$('#sms1').attr('disabled', 'disabled');
$('#sms4').removeAttr('checked');
$('#sms4').attr('disabled', 'disabled');
$('#sms10').removeAttr('checked');
$('#sms10').attr('disabled', 'disabled');
}
}
if (text.charAt(0)){
alert(text);
}
$("#entryform").submit();
}
}
);
}
});
/// LOPPU ///
/// ALKU ///
/* Puhelinnumeron muodon tarkistus (suomalaiset numerot) ja email/sms-viestitäpät*/
// Add additional validation to member add/edit form
$(document).ready(function () {
if (window.location.href.indexOf("members/memberentry.pl") > -1) {
$('#SMSnumber').attr('disabled', 'disabled');
$('.sms_number_help').text("Arvo kopioituu Matkapuhelin-kentästä tallennettaessa.");
// Replace forms "Save" button
// (otherwise form is sent regardless validation checks made here)
var language = $(".currentlanguage").text();
var save_text;
if(language == "Suomi"){
save_text = "Tallenna";
}else if(language == "Svenska"){
save_text = "Spara";
}else {
save_text = "Save";
}
$('#pat_memberentrygen #saverecord').replaceWith('<button class="btn btn-default" id="modified_saverecord"><i class="fa fa-save"></i> '+save_text+'</button>');
var isvalid = 1;
$('#phone').blur(function () {
var error_mes = "";
var phone = $('#phone').val();
var phone_reg = /^((90[0-9]{3})?0|\+358)(?!(100|20(0|2(0|[2-3])|9[8-9])|300|600|700|708|75(00[0-3]|(1|2)\d{2}|30[0-2]|32[0-2]|75[0-2]|98[0-2])))(4|50|10[1-9]|20(1|2(1|[4-9])|[3-9])|29|30[1-9]|71|73|75(00[3-9]|30[3-9]|32[3-9]|53[3-9]|83[3-9])|2|3|5|6|8|9|1[3-9])(\d?){4,19}\d$/;
if (phone && !phone_reg.test(phone)) {
error_mes = error_mes + "\nPlease enter a valid phone number.\n";
$('#phone').after('<label id="phone-error" class="error" for="phone">' + error_mes + '</label>');
isvalid = 0;
} else {
isvalid = 1;
}
});
$('#mobile').blur(function () {
var error_mes = "";
var mobile = $('#mobile').val();
var mobile_reg = /^((90[0-9]{3})?0|\+358)(?!(100|20(0|2(0|[2-3])|9[8-9])|300|600|700|708|75(00[0-3]|(1|2)\d{2}|30[0-2]|32[0-2]|75[0-2]|98[0-2])))(4|50|10[1-9]|20(1|2(1|[4-9])|[3-9])|29|30[1-9]|71|73|75(00[3-9]|30[3-9]|32[3-9]|53[3-9]|83[3-9])|2|3|5|6|8|9|1[3-9])(\d?){4,19}\d$/;
if (mobile && !mobile_reg.test(mobile)) {
error_mes = error_mes + "\nPlease enter a valid mobile number.\n";
$('#mobile').after('<label id="mobile-error" class="error" for="mobile">' + error_mes + '</label>');
isvalid = 0;
} else {
isvalid = 1;
}
});
$('#SMSnumber').blur(function () {
var error_mes = "";
var SMSnumber = $('#SMSnumber').val();
var SMSnumber_reg = /^((90[0-9]{3})?0|\+358)(?!(100|20(0|2(0|[2-3])|9[8-9])|300|600|700|708|75(00[0-3]|(1|2)\d{2}|30[0-2]|32[0-2]|75[0-2]|98[0-2])))(4|50|10[1-9]|20(1|2(1|[4-9])|[3-9])|29|30[1-9]|71|73|75(00[3-9]|30[3-9]|32[3-9]|53[3-9]|83[3-9])|2|3|5|6|8|9|1[3-9])(\d?){4,19}\d$/;
if (SMSnumber && !SMSnumber_reg.test(SMSnumber)) {
error_mes = error_mes + "\nPlease enter a valid SMS number.\n";
$('#SMSnumber').after('<label id="SMSnumber-error" class="error" for="SMSnumber">' + error_mes + '</label>');
isvalid = 0;
} else {
isvalid = 1;
}
});
$('#modified_saverecord').click(function (e) {
var text = "";
if (isvalid == 1) {
//Vahvista viestitäppien poisto jos sähköposti/matkapuhelin puuttuu popupissa
if (!$('#email').val()) {
if ($('#email1').attr('checked') || $('#email2').attr('checked') || $('#email3').attr('checked') || $('#email4').attr('checked') || $('#email5').attr('checked') || $('#email6').attr('checked') || $('#email10').attr('checked')) {
text = "Sähköpostiosoite puuttuu. Sähköposti-viestiasetukset poistetaan.\n";
$('#email1').removeAttr('checked');
$('#email1').attr('disabled', 'disabled');
$('#email2').removeAttr('checked');
$('#email2').attr('disabled', 'disabled');
$('#email3').removeAttr('checked');
$('#email3').attr('disabled', 'disabled');
$('#email4').removeAttr('checked');
$('#email4').attr('disabled', 'disabled');
$('#email5').removeAttr('checked');
$('#email5').attr('disabled', 'disabled');
$('#email6').removeAttr('checked');
$('#email6').attr('disabled', 'disabled');
$('#email10').removeAttr('checked');
$('#email10').attr('disabled', 'disabled');
}
}
if (!$('#mobile').val()) {
if ($('#sms1').attr('checked') || $('#sms4').attr('checked') || $('#sms10').attr('checked')) {
text += "Matkapuhelinnumero puuttuu. Tekstiviesti-viestiasetukset poistetaan.";
$('#sms1').removeAttr('checked');
$('#sms1').attr('disabled', 'disabled');
$('#sms4').removeAttr('checked');
$('#sms4').attr('disabled', 'disabled');
$('#sms10').removeAttr('checked');
$('#sms10').attr('disabled', 'disabled');
}
}
if (text.charAt(0)){
alert(text);
}
$("#entryform").submit();
}
}
);
}
});
//LOPPU
/// ALKU ///
//Asiakkaalle lähtevien ilmoitusten oletuskielivalinta suomeksi
$(document).ready(function () {
if (window.location.href.indexOf("members/memberentry.pl") > -1) {
var $notices_lang_select = document.querySelector('#lang');
var selected = $notices_lang_select.value;
if (selected == 'default') {
$notices_lang_select.value = 'fi-FI';
}
}
});
/// LOPPU ///
Aika | Muutos |
---|---|
2.3.2023 klo 12.45 | Finna-nappi tietueen perustiedot-näytölle valikkoriville |
13.3.2023 klo 13.21 | Indeksointityöryhmän päättämät lisäykset -kohta päivitetty Osakohde/Emokohde-rimpsulla. |
22.3.2023 klo 9.40 | Vaihdettu Niteiden lisäys tarratulostusjonoon -osio korjattuun versioon. |
30.3.2023 klo 9.45 | Vaihdettu Varaustunnuksen generointi -rimpsuun versio, joka generoi asiakasmääreeseen |
21.4.2023 klo 13.40 | Vaihdettu korjattu versio sotu-siilo/syntymäaika -rimpsusta. Liittyy tikettiin 149, |
16.5.2023 klo 14.20 | Puhelinnumeron muodon tarkistus ja sähköpostitäppien poisto, jos sähköpostiosoite puuttuu |
19.5.2023 klo 14.40 | Lisätty alimmaksi Asiakkaalle lähtevien ilmoitusten oletuskielivalinta suomeksi. Liittyy tikettiin 154. |
26.5.2023 klo 11.40 | Sotusiilo/syntymäaika-rimpsu vaihdettu, koska siihen oli syntynyt jonkinlainen copy/paste-vääristymä. |
Nämä rimpsut ovat joko vapaaehtoisia tai niille on tarve vain osassa kimpoissa. Esim. Ceepos-kassa on käytössä vain osalla kimpoista, jolloin siihen liittyvää rimpsua ei kannata laittaa muille.
/// ALKU ///
/* Piilota Perheen lainat -välilehti */
$(document).ready(function() {
$("#relatives-issues-tab").parent().hide(); });
/// LOPPU ///
/// ALKU ///
/// Siirretään asiakkaan lainaus- ja tiedot-sivuille odottavat varaukset valikon alle ///
$( document ).ready(function() {
if ( window.location.href.indexOf("members/moremember.pl") > -1 || window.location.href.indexOf("circ/circulation.pl") > -1 ){
var emo = $( '#holdswaiting' ).parent();
$( '#holdswaiting' ).detach().appendTo( emo );
$( '#holdswaiting > h4:nth-of-type(1)' ).attr("data-toggle","collapse");
$( '#holdswaiting > h4:nth-of-type(1)' ).attr("data-target","#collapseOmat");
$( '#holdswaiting > h4:nth-of-type(1)' ).addClass("collapsed");
$( '#holdswaiting > h4:nth-of-type(1)' ).append(' <i class="fa fa-caret-down"></i>');
$( '#holdswaiting > ul:nth-of-type(1)' ).attr("id","collapseOmat");
$( '#holdswaiting > ul:nth-of-type(1)' ).addClass("collapse");
$( '#holdswaiting > h4:nth-of-type(2)' ).attr("data-toggle","collapse");
$( '#holdswaiting > h4:nth-of-type(2)' ).attr("data-target","#collapseMuut");
$( '#holdswaiting > h4:nth-of-type(2)' ).addClass("collapsed");
$( '#holdswaiting > h4:nth-of-type(2)' ).append(' <i class="fa fa-caret-down"></i>');
$( '#holdswaiting > ul:nth-of-type(2)' ).attr("id","collapseMuut");
$( '#holdswaiting > ul:nth-of-type(2)' ).addClass("collapse");
$( '#holdswaiting > h4:nth-child(1)' ).click(function(){
if ( $( '#holdswaiting > h4:nth-of-type(1) > i' ).hasClass('fa-caret-down') ){
$( '#holdswaiting > h4:nth-of-type(1) > i' ).removeClass('fa-caret-down');
$( '#holdswaiting > h4:nth-of-type(1) > i' ).addClass('fa-caret-up');
}
else if ( $( '#holdswaiting > h4:nth-of-type(1) > i' ).hasClass('fa-caret-up') ){
$( '#holdswaiting > h4:nth-of-type(1) > i' ).removeClass('fa-caret-up');
$( '#holdswaiting > h4:nth-of-type(1) > i' ).addClass('fa-caret-down');
}
});
$( '#holdswaiting > h4:nth-of-type(2)' ).click(function(){
if ( $( '#holdswaiting > h4:nth-of-type(2) > i' ).hasClass('fa-caret-down') ){
$( '#holdswaiting > h4:nth-of-type(2) > i' ).removeClass('fa-caret-down');
$( '#holdswaiting > h4:nth-of-type(2) > i' ).addClass('fa-caret-up');
}
else if ( $( '#holdswaiting > h4:nth-of-type(2) > i' ).hasClass('fa-caret-up') ){
$( '#holdswaiting > h4:nth-of-type(2) > i' ).removeClass('fa-caret-up');
$( '#holdswaiting > h4:nth-of-type(2) > i' ).addClass('fa-caret-down');
}
});
}
});
/// LOPPU ///
/// ALKU ///
/* Huom! Tämän voinee kuitenkin korvata _RetainCatalogSearchTerms_-järjestelmäasetuksella. */
/* Hae tietokannasta -kentän tyhjennys haun jälkeen, jos hakutuloksena on yksi tietue (bugi #5354). Huom! Ei tyhjennä hakukenttää siis aina. */
$(document).ready(function() {
localStorage.removeItem("searchbox_value");
});
/// LOPPU ///
/// ALKU ///
/// Ceepos-maksu -napin lisäys ///
/// Napin taustavärinä ja reunavärinä keltainen? #ffc32b ///
$(document).ready(function() {
let ceeposBranches = ['JOE_JOE'];
if (ceeposBranches.includes($("#logged-in-info-full .logged-in-branch-code").text())) {
$("#payfine .action, #payindivfine .action").find("input").after('<input type="button" id="CeeposMaksu" class="btn btn-primary" style="margin-left:3px;" value="Ceepos-maksu" onclick="setCeeposPayment($(this))"/>');
if(localStorage.getItem('ceeposOffice')){
$('#payment_type').val(localStorage.getItem('ceeposOffice'));
}
}
$('#paycollect').hide();
$("#circmessages a[href*='/cgi-bin/koha/members/paycollect.pl'").hide();
$("#patron_messages a[href*='/cgi-bin/koha/members/paycollect.pl'").hide();
});
function setCeeposPayment(element) {
var ceeposOffice = $('#payment_type').find(":selected").val();
localStorage.setItem('ceeposOffice', ceeposOffice);
let payments;
let borrowernumber;
if($("#payindivfine").find("#pay_individual").val() == 1) {
borrowernumber = $("#payindivfine").find("#borrowernumber").val();
payments = [{'borrowernumber': $("#payindivfine").find("#borrowernumber").val(), 'accountlines_id': $("#payindivfine").find("#accountlines_id").val(), 'description': $("#payindivfine").find("#description").val(), 'amountoutstanding': $("#payindivfine").find("#amountoutstanding").val(), 'payment_type': $("#payindivfine").find("#debit_type_code").val(), 'office': ceeposOffice}];
} else {
borrowernumber = $("#payfine").find("#borrowernumber").val();
payments = [{'borrowernumber': $("#payfine").find("#borrowernumber").val(), 'accountlines': $("#payfine").find("#selected_accts").val(), 'amountoutstanding': $("#payfine").find("#collected").val(), 'office': ceeposOffice}];
}
$.ajax({
url: "/api/v1/contrib/kohasuomi/payments/ceepos",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(payments),
beforeSend: function() {
$("#CeeposMaksu").attr("disabled", true);
alert("Maksu lähetetty, käsittele kassassa!");
},
success: function (result) {
location.href = '/cgi-bin/koha/members/boraccount.pl?borrowernumber='+borrowernumber;
},
error: function (xhr, status, error) {
$("#CeeposMaksu").attr("disabled", false);
alert(JSON.parse(xhr.responseText).error);
}
});
}
///LOPPU ///
/// ALKU ///
/* Piilota viestin tekijän nimi asiakkaan Tiedot-näytöllä */
$("#messages .circ-hlt a").remove();
$("#messages .circ-hlt").each(function( index ){
var str = $(this).text().replace("( )", "");
$(this).text(str);
});
/// LOPPU ///
/// ALKU ///
/* Muuta Z39.50-hakuikkunan koko suuremmaksi. Ikkunan koko on turhan pieni hakutuloksille. */
//Cataloging > Z39.50/SRU pop-up
//BEGIN Resize Z39.50 window
if (document.location.href.indexOf('z3950_search.pl')>-1) window.resizeTo((screen.width * 0.9), (screen.height * 0.9)), window.moveTo(0, 0);
$(window).on('load resize', function(){
$('#cat_z3950_search .col-xs-6 .rows, #cat_z3950_search #z3950_search_targets').height($(this).height() * 0.75);
$('#cat_z3950_search .col-xs-6 .rows').css('overflow-y', 'scroll');
});
//END
/// LOPPU ///
/// ALKU ///
/* Tarkka-haku ja Sanahaku-oletustermit korvataan Nimeke, Tekijä, Asiasana */
$(document).ready(function() {
var elems = $("body#catalog_advsearch select[name='idx']");
elems.eq(0).val('ti');
elems.eq(1).val('au');
elems.eq(2).val('su');
});
/// LOPPU ///
/// ALKU ///
/* Lisää huollettava monivalintanappi. Asiakastyyppien tunnisteet pitää tarkistaa ja muuttaa tarvittaessa kimpassa käytettäviin. */
$(document).ready(function() {
if ( !!document.getElementById("addchild") ){
var editpatron_url = new URLSearchParams(document.getElementById("editpatron").href);
var asiakasnumero = editpatron_url.get('borrowernumber');
var kayttokieli = 'Suomi';
var lapsiLinkki = "/cgi-bin/koha/members/memberentry.pl?op=add&categorycode=LAPSI&guarantor_id=" + asiakasnumero;
var omatoimilapsiLinkki = "/cgi-bin/koha/members/memberentry.pl?op=add&categorycode=LAOMATOIMI&guarantor_id=" + asiakasnumero;
var muuHuollettavaLinkki = "/cgi-bin/koha/members/memberentry.pl?op=add&categorycode=MUUHUOL&guarantor_id=" + asiakasnumero;
var lisaaHuollettavaNappi = "<div class='btn-group'><button class='btn btn-default dropdown-toggle' data-toggle='dropdown'><i class='fa fa-plus'></i><span id='huollettavaKaannos'> Lisää huollettava.</span> <span class='caret'></span></button><ul class='dropdown-menu'><li><a href=" + lapsiLinkki + ">Lapsiasiakas, omatoimi kielletty</a></li><li><a href=" + omatoimilapsiLinkki + ">Lapsiasiakas, omatoimi sallittu</a></li><li><a href=" + muuHuollettavaLinkki + ">Huollettava, muu kuin lapsi</a></li></ul></div>";
$( "#editpatron" ).after( lisaaHuollettavaNappi );
$('#addchild').css('display','none');
kayttokieli = document.getElementsByClassName('currentlanguage')[0].innerHTML;
if (kayttokieli == 'Suomi') {
$("#huollettavaKaannos").text(" Lisää huollettava");
}
else if (kayttokieli == 'Svenska') {
$("#huollettavaKaannos").text(" Lägg till barn");
}
else if (kayttokieli == 'English') {
$("#huollettavaKaannos").text(" Add child");
}
}
});
/// LOPPU ///
/// ALKU ///
// Varaustunnus-asiakasmääreen siirto
$(document).ready(function () {
if (window.location.href.indexOf("members/memberentry.pl") > -1) {
var holdidlabel = $('label[for="' + "patron_attr_2" + '"]');
var clearbutton = holdidlabel.next().next().next();
clearbutton.replaceWith( '<button type="button" class="fa fa-fw fa-trash fa-lg" style="color:green; border:none;">' );
holdidlabel.next().next().next().on('click', function(e){
holdidlabel.next().val('');
});
var li = holdidlabel.parent();
$( "#identity_lgd" ).next().append(li);
}
});
/// LOPPU ///
/// ALKU ///
// Sotuavain-asiakasmääreen siirto
$(document).ready(function () {
if (window.location.href.indexOf("members/memberentry.pl") > -1) {
var sotuavainlabel = $('label[for="' + "patron_attr_6" + '"]');
var clearbutton = sotuavainlabel.next().next().next();
clearbutton.replaceWith( '<button type="button" class="fa fa-fw fa-trash fa-lg" style="color:green; border:none;">' );
sotuavainlabel.next().next().next().on('click', function(e){
sotuavainlabel.next().val('');
});
var li = sotuavainlabel.parent();
var ssnfield = $( '#ssnvalue' );
ssnfield.parent().append(li);
}
});
/// LOPPU ///
/* Siirretään nidelistaus sivun loppuun niteen muokkaussivulla. */
$( document ).ready(function() {
$( '#cat_additem #cataloguing_additem_itemlist' ).after( $( '#cat_additem #cataloguing_additem_itemlist #itemst_wrapper' ).parents( 'div' ).html() );
$( '#cat_additem #cataloguing_additem_itemlist #itemst_wrapper' ).parent( 'div' ).hide();*/
$( '#cat_additem #cataloguing_additem_itemlist' ).prepend( $( '#cat_additem #cataloguing_additem_itemlist>.row' ) );
});
Aika | Muutos |
---|---|
20.4.2023 | Lisätty sotu-avaimen ja varaustunnisteen siirtoon rimpsut. |
10.5.2023 | Vaihdettu Ceepos-maksu -rimpsu sellaiseksi, jossa nappi on keltainen. |
31.5.2023 | Lisätty nidelistauksen siirto sivun loppuun muokkausivulla |