KohaSuomi / Koha

(KOHA) Koha is a free software integrated library system (ILS). Koha is distributed under the GNU GPL version 3 or later. Note: this is a synced mirror of the official Koha repo.
https://koha-community.org/
GNU General Public License v3.0
7 stars 13 forks source link

[Tukipyyntö] Viestin sisällön määräytyminen asiakaslajin perusteella (template toolkit) #268

Closed ajrajala closed 1 year ago

ajrajala commented 2 years ago

Tukipyyntö

Olen yrittänyt saada template toolkitin avulla tehtyä asiakastilin vanhenemista lähtevään viestiin määritystä, joka tarkastelisi asiakaslajia ja muodostaisi sitten sen perusteella viestin sisällön. Viestityyppi on siis MEMBERSHIP_EXPIRY ja viestipohjaan olen kokeillut muodostaa viestin tähän tyyliin:

[% USE borrowers %]

[% IF borrowers.categorycode == 'VIRKAILIJA' %]

Viestin sisältö...

[% ELSE %]

Viestin sisältö...

[% END %]

Wikin perusteella ymmärsin, että tuommoinen borrowers-plugin olisi käytettävissä. Tuolla tekemälläni tavalla ei kuitenkaan muodostu viestiä, joten onkohan vika suoraan tuossa yrittämässäni tavassa muodostaa viesti vai onko tällaista viestipohjaa mahdollista ylipäätään käyttää?

Jotain muuta?

No response

paxed commented 2 years ago

Hm. Mahtaakohan wikissä olla väärin, en nimittäin löydä edes yhteisön versiosta tuota Borrowers -templatepluginia.

Toimiiko tuo ilman tuota USE borrowers -riviä?

ajrajala commented 2 years ago

Otin USE borrowers -rivin nyt pois, testivirkailijalleni pitäisi lähteä ilmoitus huomisaamuna. Kuittaan tikettiin sitten muodostuiko viesti vai ei.

ajrajala commented 2 years ago

Tuo USE borrowers -rivi näköjään oli se, mikä esti viestin muodostumisen. Nyt tuli testiviesti perille kun sitä ei enää ollut viestipohjassa. Kiitos Pasi!

ajrajala commented 2 years ago

Äh, ei olisi pitänyt kiireessä kuitata tätä. Viesti siis näköjään kyllä muodostui, mutta käytti tuota [%ELSE%] -ehdon jälkeen kirjoitettua tekstiä. Eli tuohon [% IF borrowers.categorycode == 'VIRKAILIJA' %] -ehtoon ei mätsännyt testikohteeni, vaikka asiakaslajina siinä on VIRKAILIJA.

Kati-Helle commented 2 years ago

Tulipa tästä mieleen: tarvitseeko Koha-käyttäjätunnuksen omaavalle mennä tietoa käyttäjätunnus-asiakastilinsä vanhenemisesta? Jos tietoa ei menisi, niin kenties määräaikaisten/lyhyempikestoisten käyttäjätunnusten asiakkuuksia ei suotta/epähuomiossa uusittaisi.

ajrajala commented 2 years ago

Meillä on ihan toivottavaa, että ilmoitus tulee. Vaskissa virkailijatunnukset ovat voimassa kerrallaan vuoden (jos kyseessä toistaiseksi jatkuva työsuhde) tai määräaikaisen työsopimuksen kohdalla määräpäivään asti. Voimassaolon jatkaminen on vastuutettu esimiehille ja lyhempiaikaisten työntekijöiden kohdalla viesti on ihan hyvä heräte jos työsuhde onkin pidentynyt mutta tunnuksen määräaikaa ei ole muistettu muuttaa.

Iso asiahan tämä ei ole, mutta kiva olisi tietää jos tämäntyyppisiä ehtoja pystyy template toolkitillä tekemään! :)

paxed commented 2 years ago

Äh, ei olisi pitänyt kiireessä kuitata tätä. Viesti siis näköjään kyllä muodostui, mutta käytti tuota [%ELSE%] -ehdon jälkeen kirjoitettua tekstiä. Eli tuohon [% IF borrowers.categorycode == 'VIRKAILIJA' %] -ehtoon ei mätsännyt testikohteeni, vaikka asiakaslajina siinä on VIRKAILIJA.

Tuossa voisi testata, jos laittaa [% borrowers.categorycode %], tulostuuko silloin kuitille se categorycode? tuon pitäisi siis näyttää saman kuin <> - erona on että << ja >> merkkien välissä olevat ovat Kohan itsensä hoitamia korvauksia, kun taas [% %] väliin laitetaan Template Toolkit -koodia, eli tuolla testillä rajaisi vähän mistä päin ongelmaa ruvetaan etsimään

ajrajala commented 2 years ago

Testasin tätä. [% borrowers.categorycode %] ei tulostanut ilmoitukseen categorycodea, ilmoitukseen tuli sen kohdalle pelkkä tyhjä rivi.

lmstrand commented 1 year ago

Syntaksi on esimerkeistä kaivamissani tapauksissa tämän näköinen:

[% IF ( borrowers.categorycode == 'VIRKAILIJA' ) %] Virkailija expires: kirjaston kirjastokorttisi <> vanhenee 30 päivän kuluttua <>. Ota lähiaikoina yhteyttä kirjastoon puhelimitse tai asioimalla paikan päällä. [% END %] [% IF ( borrowers.categorycode == 'HENKILO' ) %] Henkilö expires ..... [% END %]

Tuota ehkä voisi kokeilla jos toimisi noiden sulkujen kera.

Jos tuon categorycoden haluaa tulostaa, pitäisikö silloin käyttää noita kalanruotoja, <>?

emta001 commented 1 year ago

Kuten Lari jo laittoikin, niin borrowers.categorycoden tulee olla kalanruotojen sisällä. Lisäksi ehdon arvo (tässä tapauksessa VIRKAILIJA) ei saa olla hipsujen sisällä. Eli syntaksi on näin:

[% IF <> == VIRKAILIJA %]

Viestin sisältö...

[% ELSE %]

Viestin sisältö...

[% END %]

ajrajala commented 1 year ago

Jes, tuolla määrittelyllä viesti muodostui oikein, joten pääsen tämän kanssa eteenpäin. Kiitokset avusta!

AnneliO commented 1 year ago

Anni, jos saatte toimimaan, niin lisäättekö viestipohjan muillekin ihmeteltäväksi tänne: https://tiketti.koha-suomi.fi/projects/koha-suomen-dokumentaatio/wiki/Kuitti-_ja_viestipohjat :)

ajrajala commented 1 year ago

Ilman muuta, työstän tämän meillä loppuun varmaan ihan lähipäivinä niin lisäilen viestipohjan sitten sen jälkeen.

ajrajala commented 1 year ago

Testatessani vanhenemisilmoituksen muodostumista muullekin kuin VIRKAILIJA-asiakaslajille kävi ilmi, että asiakaslajista riippumatta muodostuu viesti joka on yritetty määritellä VIRKAILIJAlle. Olin tehnyt siis tällaisen pohjan:

[% IF <<borrowers.categorycode>> == VIRKAILIJA %]

Viesti 1

[% ELSE %]

Viesti 2

[% END %]

Koitin vielä piruuttain tällaista määrittelyä, mutta eipä silläkään mitään vaikutusta ollut:


[% IF <<borrowers.categorycode>> == VIRKAILIJA %]

Viesti 1

[% ELSIF <<borrowers.categorycode>> == HENKILO %]

Viesti 2

[% ELSE %]

Viesti 2

[% END %]

Jos joku vielä keksi mikä tuossa tökkii niin testailen mieluusti uudelleen.

emta001 commented 1 year ago

Kylläpä on yksinkertainen asia taas tehty mahdollisimman hankalaksi :D Toimiiko seuraava kuten pitää?

[% IF "<>" == "VIRKAILIJA" %]

Viesti 1

[% ELSE %]

Viesti 2

[% END %]

ajrajala commented 1 year ago

Älä muuta sano. :D Sain testattua uusiksi ja tuo [% IF "<>" == "VIRKAILIJA" %] toimii - virkailijalle muodostuu Viesti 1 ja muulle asiakaslajille Viesti 2.

Lisäksi Mikko vinkkasi kriittisen s-kirjaimen poistosta ja näköjään tällaisellakin pätkällä muodostuu viestit oikein: [% IF borrower.categorycode == "VIRKAILIJA" %]. Luulin tuota aiemmin jo yrittäneenikin, mutta taisi olla silloin väärät hipsut.

Kiitos vaivannäöstä, suljen tiketin nyt ties monennen kerran. Mallipohjat lisäsin jo Redmineen.