KohaSuomi/Koha-22x

Asiakkaan muokkauksen toimimattomat Tyhjennä-painikkeet

Closed this issue · 34 comments

Mikä vikana?

Asiakkaan muokkauksessa on Tyhjennä-painikkeita, jotka eivät tyhjennä painikkeen vieressä olevia kenttiä Hetu-arvo JA Varaustunnus. Tyhjennä-painike vie sen sijaan asiakkaan muokkausnäytön alkuun. Kirjoitussuojatun Hetu-kentän Tyhjennä-painike lienee tarpeeton.

kuva

Mitä pitäisi tapahtua

No response

Kuinka toistaa ongelma/asia

No response

Jotain muuta?

No response

Asiasanat/tagit

No response

Kenttien siirto sivun yläreunaan jotenkin nyt rikkoo tuon tyhjennä-linkin, koska alkuperäisellä paikalla olleessaan tyhjennys-painike toimii.

Liittyy #148.

Tarvitaankohan Tyhjennä-painiketta edes Varaustunnus-kenttään liittyen?

Minusta ne tyhjennä-painikkeet ovat kummassakin tapauksessa ihan ok olla olemassa. Varsinkin sotu-avaimessa, jos siellä syystä tai toisesta on virheellinen tieto, joka pitää saada pois.

Minusta ne tyhjennä-painikkeet ovat kummassakin tapauksessa ihan ok olla olemassa. Varsinkin sotu-avaimessa, jos siellä syystä tai toisesta on virheellinen tieto, joka pitää saada pois.

Olisiko hetu-avaimen osalta kuitenkin parempi ilman Tyhjennä-painiketta, jotta arvoa ei vahingossa Tyhjennä-painikkeella poistettaisi?
Testini perusteella asiakastietoon uuden hetun lisääminen korvaa vanhan hetu-avaimen.

Uusi avain korvaa kyllä vanhan, mutta jos tieto pitää saada kokonaan pois, niin sitten kentän tyhjentäminen ei onnistu.

Kumpi olisikaan 'pienempi paha', tarpeettoman hetu-avaimen poisto väliaikaisesti kentän kirjoitussuojaus poistamalla vai hetu-avaimen kadottaminen?

Varaustunnuksen tyhjentäminen korjatulla (korvatulla omalla) tyhjennysnapilla:

// 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);
  }
});

Poistin napista tekstin jottei tarvitse ottaa huomioon kielivalintaa ja isonsin nappia. Olisiko tuo ok?

Sama Sotuavaimelle:

// 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);
  }
});

Taas patron_attr_ -numerot säädettävä kimppakohtaisesti kohdistumaan oikeaan määreeseen.

Tyhjennä-sanan poisto mielestäni ok.

Hellessä Varaustunnus-kentän roskiksen klikkaus tyhjensi onnistuneesti kentän tiedot.

Hetu-kentän tietoa en nyt saanut testausta varten asiakastiedolle lisättyä. Henkilötunnus-generaattorilla useampia hetuja hain, ja aina asiakkaalle hetun lisätessäni Koha ilmoitti
kuva

Sama tapahtui, kun poistin hetu-kentän siirto&tyhjennysrimpsun.

En nyt ole satavarma, mutta minusta tuo Lisää hetu toimi aiemmin ihan oikein.

Tai sitten muistelen testikantaa. Voipi olla, että nextiltä ei ole yhteyttä sotu-siiloon.

Minäkin muistelin, että olisin tallentanut nextillä henkilötunnus-generaattorin antaman hetun.
Kun hain raportilla SSN-asiakasmäärearvoiset, sain tuloksena vain hetu-kenttään lisäämäni tekstin. Tuo liittynee kentän kirjoitussuojaus-testailuuni.

Hetu-kentän arvon tyhjennys toimi testatessani kentän vieressä olevasta roskis-kuvakkeesta.

Hellessä hetu-kenttä on kirjoitussuojattu. Yhdessä asiakastiedossa on ennen kentän kirjoitussuojausta lisäämäni teksti
kuva

Roskis-kuvan klikkaus tyhjentää hetu-kentän
kuva

Asiakastieto tallentui hetu-kenttä arvottomana.

Tai sitten muistelen testikantaa. Voipi olla, että nextiltä ei ole yhteyttä sotu-siiloon.

Johtuuko siis tästä, kun en voi lisätä hetua nextillä? Eli yhteyttä ei vielä ole?

Tai sitten muistelen testikantaa. Voipi olla, että nextiltä ei ole yhteyttä sotu-siiloon.

Johtuuko siis tästä, kun en voi lisätä hetua nextillä? Eli yhteyttä ei vielä ole?

Koha-Suomen palaveri 20.4.2023: Nexteillä ei ole yhteyttä sotu-siiloon tarkoituksella, ettei siiloon tule ylimääräisiä, olemattomia tunnuksia.

Sotu-siiloyhteys on nyt vaara-nextillä eli esim. @pknuuti tai @auliran jos ehtisitte testaamaan, niin se on sitten testattu. :)

Testasin hetun lisäystä Vaaran nextillä. Generaattorista saatu tunnus tallentui, mutta ei tee Sotuavain-kenttään mitään tietoa eikä syntymäaika tule automaattisesti tunnuksesta. Mitään virheilmoitusta ei tullut.

Image

Kuvakaappaus toisella tallennuskerralla, siksi syntymäaika on jo tuossa kentässä.

Onhan patron_attr-arvot oikein intranetuserjs:ssä?

Patron_attr-numero oli asetettuna numero neljäksi. Korjasin sen vitoseksi intranetUserJS:ään. Nyt ainakin sotuavain-kenttään tulee tavaraa.

No niinpä näkyy, sotuavain sotu2753091 tallentui kenttään. Enpäs hoksannut, että tuossa vika.
Uusi testi toisella tunnuksella 010105A980B toimi ja toi sotuavaimen sotu2753196, mutta edelleenkään syntymäaika ei tule automaattisesti ao. kenttään. Pitääkö siihen olla joku rimpsu?

Se on joo rikki. Eikös tuon pitäisi myös herjata 'Asiakas on jo olemassa! Paina OK siirtyäksesi tietoihin.' jos sotu on jo tallennettu tietokantaan? Ainakin sellainen kohta tuossa js-rimpsussa on. Nyt kun tallennan oman hetuni, saan sotuavain-kenttään tietokannassa jo olevan sotuavaimen ja kuittauksen "Hetu asetettu".

Juu, ilman muuta pitäisi tulla herja asiakkaan jo olevan olemassa, jos uudelleen syötetään sama hetu siiloon. Eihän siinä muuten ole mitään järkeä.

Tuo tupla-asiakkaan lisäys on nyt rajattu PatronDuplicateMatchingAddFields:llä (Vaara-nextillä) jos toisella asiakkaalla on jo sama etu- ja sukunimi ja syntymäaika. Voisihan se tapahtua jo hetun lisäyksessä tuo huomautus, että tällä hetulla on jo asiakas. Tämä toimii varmasti samoin nyt tuotannossa.

Helle-tuotanto ilmoittaa jo hetua lisätessä näin, kun hetulla on jo asiakas:
kuva

Ok kiitos tiedosta. Mitenhän tuo nyt eroaa Hellen tuotannosta. Tutkinpa asiaa.

Onhan syntymäaika-js-rimpsussa myös oikea patron_attr-arvo?

Eiku.. eihän se ole asiakasmääre. x)

Ongelma korjattu uudessa IntranetUserJS-rimpsussa:

/// Lisätään asiakkaan lisäys/muokkausnäytölle hetun lisäysmahdollisuus. ///
$(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);
            }
        }
    });
}

Toimii Vaaran nextillä. Syntymäaikakin tulee paikoilleen valmiiksi.

Uusi rimpsu viety vanhan tilalle myös IntranetUserJS-wikissä.

Vaihdoin Helleen uuden rimpsun vanhan tilalle. (Asiakasmääre-arvo vaihdettu Helleen sopivaksi.)

Onko tää testattava vai valmis?

Vaihdoin testattavaksi, jos tulisi vielä toinen testaus Katin testin lisäksi. :)

OUTIssa tyhjennys-napit tyhjentävät sotuavain-kentän ja varaustunnuskentän.

Tyhjennysnapit toimivat Vaaran nextilläkin.

Hienoa, suljen tiketin!