From b8dfd3ff9ab36893336e72214379d8d919bdb533 Mon Sep 17 00:00:00 2001 From: Kari Salminen Date: Sat, 10 Feb 2024 16:39:17 +0200 Subject: [PATCH] feat: parametrize youth summer voucher email templates & update for 2024 also: - change employer summer vouchers to use previous year's voucher value until 13th of February (i.e. last day before the new year's youth summer voucher application period starts) refs YJDH-691 --- .../locale/en/LC_MESSAGES/django.po | 392 ++++++++++++------ .../locale/fi/LC_MESSAGES/django.po | 330 ++++++++++----- .../locale/sv/LC_MESSAGES/django.po | 379 ++++++++++++----- backend/kesaseteli/applications/models.py | 106 ++++- .../images/youth_summer_voucher-325e-en.png | Bin 0 -> 44480 bytes .../images/youth_summer_voucher-325e-fi.png | Bin 0 -> 46140 bytes .../images/youth_summer_voucher-325e-sv.png | Bin 0 -> 44515 bytes .../templates/youth_summer_voucher_email.html | 19 +- .../templates/youth_summer_voucher_email.txt | 13 +- .../applications/tests/test_excel_export.py | 4 +- .../tests/test_youth_applications_api.py | 77 +++- 11 files changed, 970 insertions(+), 350 deletions(-) create mode 100644 backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-en.png create mode 100644 backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-fi.png create mode 100644 backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-sv.png diff --git a/backend/kesaseteli/applications/locale/en/LC_MESSAGES/django.po b/backend/kesaseteli/applications/locale/en/LC_MESSAGES/django.po index ba85c48ede..3a2761f37b 100644 --- a/backend/kesaseteli/applications/locale/en/LC_MESSAGES/django.po +++ b/backend/kesaseteli/applications/locale/en/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-28 16:15+0300\n" -"PO-Revision-Date: 2022-03-29 08:40+0300\n" +"POT-Creation-Date: 2024-02-12 12:51+0200\n" +"PO-Revision-Date: 2024-02-10 16:36+0200\n" "Last-Translator: Kari Salminen \n" "Language-Team: \n" "Language: en\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.2\n" #, python-brace-format msgid "EmployerApplication state transition not allowed: {status} to {value}" @@ -61,6 +61,12 @@ msgstr "" msgid "Must be set" msgstr "" +msgid "Kyllä" +msgstr "" + +msgid "Ei" +msgstr "" + #, python-format msgid "additional_info_user_reasons must be a list, was %(type)s" msgstr "" @@ -78,13 +84,13 @@ msgstr "" msgid "Invalid status %(status)s for setting additional info" msgstr "" -msgid "Failed to send youth summer voucher email" +msgid "Failed to send manual processing email to handler" msgstr "" -msgid "Failed to send manual processing email to handler" +msgid "Failed to send youth summer voucher email" msgstr "" -msgid "VTJ integration is not implemented" +msgid "Send anyway was used needlessly" msgstr "" msgid "Failed to send activation/additional info request email" @@ -96,6 +102,12 @@ msgstr "" msgid "Operation not allowed for this application status." msgstr "" +msgid "Reporting" +msgstr "" + +msgid "Talpa" +msgstr "" + msgid "Draft" msgstr "" @@ -165,151 +177,188 @@ msgstr "" msgid "Already assigned" msgstr "" -msgid "Järjestys" -msgstr "Order" +msgid "Inadmissible data" +msgstr "" -msgid "Saatu pvm" -msgstr "Received date" +msgid "Please recheck data" +msgstr "" + +msgid "Kuollut" +msgstr "" + +msgid "Väärä sukunimi" +msgstr "" + +msgid "Ei löydy" +msgstr "" + +msgid "Ei vastaa" +msgstr "" + +#, fuzzy +#| msgid "Moving to Helsinki" +msgid "Kotikunta Helsinki" +msgstr "Moving to Helsinki" + +msgid "Kotikunta Utsjoki" +msgstr "" msgid "Hakemuksen kieli" msgstr "Application language" -msgid "Setelin numero" +#, fuzzy +#| msgid "Setelin numero" +msgid "Tilinumero" msgstr "Voucher number" -msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" -msgstr "Special case (e.g. 9th grader)" +msgid "Työsuhteen päättymispäivämäärä" +msgstr "" -msgid "Nuoren nimi" -msgstr "Youth's name" +msgid "Työsuhteen aloituspäivämäärä" +msgstr "" -msgid "Henkilötunnus" +msgid "Olisitko palkannut?" msgstr "" -msgid "Koulu" +msgid "Järjestys" +msgstr "Order" + +msgid "Saatu pvm" +msgstr "Received date" + +msgid "Maksettu palkka (€)" msgstr "" -msgid "Kotipostinumero" +msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" +msgstr "Special case (e.g. 9th grader)" + +msgid "Summa (€)" msgstr "" -msgid "Puhelin" +msgid "Työtunnit" msgstr "" -msgid "Kotikaupunki" +msgid "Laskuttajan sähköposti" msgstr "" -msgid "Työnantaja muoto" +msgid "Laskuttajan nimi" msgstr "" -msgid "Työnantaja" +msgid "Laskuttajan Puhelin" msgstr "" msgid "Y-tunnus" msgstr "" -msgid "Työnantajan lähiosoite" +msgid "Yhdyshenkilö" msgstr "" -msgid "Työnantajan postinumero" +msgid "Erillinen laskuttaja" msgstr "" -msgid "Työnantajan kunta" +msgid "Raporttiin luokittelu" msgstr "" -msgid "Yhdyshenkilö" +msgid "Liite: Työsopimus 1" msgstr "" -msgid "Yhdyshenkilön sähköposti" +msgid "Liite: Työsopimus 2" msgstr "" -msgid "Yhdyshenkilön Puhelin" +msgid "Liite: Työsopimus 3" msgstr "" -msgid "Erillinen laskuttaja" +msgid "Liite: Työsopimus 4" msgstr "" -msgid "Laskuttajan nimi" +msgid "Liite: Työsopimus 5" msgstr "" -msgid "Laskuttajan sähköposti" +msgid "Liite: Palkkalaskelma 1" msgstr "" -msgid "Laskuttajan Puhelin" +msgid "Liite: Palkkalaskelma 2" msgstr "" -msgid "Yrityksen toimiala" +msgid "Liite: Palkkalaskelma 3" msgstr "" -msgid "Työn suorituspaikan postinumero" +msgid "Liite: Palkkalaskelma 4" msgstr "" -msgid "Työsuhteen aloituspäivämäärä" +msgid "Liite: Palkkalaskelma 5" msgstr "" -msgid "Työsuhteen päättymispäivämäärä" +msgid "Tarkastaja etunimi" msgstr "" -msgid "Työtunnit" +msgid "Tarkastaja sukunimi" msgstr "" -msgid "Maksettu palkka (€)" +msgid "Hyväksyjä etunimi" msgstr "" -msgid "Summa (€)" +msgid "Hyväksyjä sukunimi" msgstr "" -msgid "Muut edut" +msgid "Henkilötunnus" msgstr "" -msgid "Raporttiin luokittelu" +msgid "Koulu" msgstr "" -msgid "Työtehtävät" +msgid "Kotipostinumero" msgstr "" -msgid "Olisitko palkannut?" +msgid "Puhelin" msgstr "" -msgid "Työnantajan kokemus" +msgid "Kotikaupunki" msgstr "" -msgid "Muuta" +msgid "Työnantaja muoto" msgstr "" -msgid "Liite: Työsopimus 1" +msgid "Yhdyshenkilön sähköposti" msgstr "" -msgid "Liite: Työsopimus 2" +msgid "Yhdyshenkilön Puhelin" msgstr "" -msgid "Liite: Työsopimus 3" +msgid "Yrityksen toimiala" msgstr "" -msgid "Liite: Työsopimus 4" +msgid "Työn suorituspaikan postinumero" msgstr "" -msgid "Liite: Työsopimus 5" +msgid "Muut edut" msgstr "" -msgid "Liite: Palkkalaskelma 1" +msgid "Työtehtävät" msgstr "" -msgid "Liite: Palkkalaskelma 2" +msgid "Työnantajan kokemus" msgstr "" -msgid "Liite: Palkkalaskelma 3" +msgid "Muuta" msgstr "" -msgid "Liite: Palkkalaskelma 4" +msgid "Setelin numero" +msgstr "Voucher number" + +msgid "Nuoren nimi" +msgstr "Youth's name" + +msgid "Työnantaja" msgstr "" -msgid "Liite: Palkkalaskelma 5" +msgid "Työnantajan lähiosoite" msgstr "" -msgid "Kyllä" +msgid "Työnantajan postinumero" msgstr "" -msgid "Ei" +msgid "Työnantajan kunta" msgstr "" msgid "Setelit" @@ -342,7 +391,16 @@ msgstr "" msgid "timestamp of receipt confirmation" msgstr "" -msgid "vtj json" +msgid "original vtj json" +msgstr "" + +msgid "VTJ JSON used for automatic processing of new youth application" +msgstr "" + +msgid "handler vtj json" +msgstr "" + +msgid "VTJ JSON used for accepting/rejecting by human or machine" msgstr "" msgid "status" @@ -435,16 +493,32 @@ msgstr "" msgid "summer voucher id" msgstr "" -msgid "summer voucher exception class" +msgid "summer voucher target group" msgstr "" -msgid "Special case of admitting the summer voucher." +msgid "Summer voucher's target group type" msgstr "" #, python-format msgid "Vuoden %(year)s Kesäsetelisi" msgstr "Your %(year)s Summer Job Voucher" +#, python-format +msgid "%(value_in_currency)d%(currency_sign)s" +msgstr "%(currency_sign)s%(value_in_currency)d" + +#, python-format +msgctxt "Summer job period in youth summer voucher email (d.m.–d.m.y)" +msgid "1.6.–15.8.%(year)d" +msgstr "1 June and 15 August %(year)d" + +#, python-format +msgctxt "" +"Employer summer voucher application end date in youth summer voucher email " +"(d.m.y)" +msgid "30.11.%(year)d" +msgstr "30.11.%(year)d" + msgid "Unable to send youth summer voucher email" msgstr "" @@ -463,6 +537,9 @@ msgstr "" msgid "invoicer work address" msgstr "" +msgid "bank account number" +msgstr "" + msgid "contact person name" msgstr "" @@ -572,7 +649,10 @@ msgid "" "enää seuraavaan käsittelemättömien hakemusten exceliin." msgstr "" -msgid "Lataa Excel tiedosto käsittelemättömistä hakemuksista" +msgid "Lataa raportointi-Excel käsittelemättömistä hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel käsittelemättömistä hakemuksista" msgstr "" msgid "" @@ -580,14 +660,32 @@ msgid "" "Tiedosto sisältää myös kaikki käsitellyt hakemukset." msgstr "" -msgid "Lataa Excel tiedosto kaikista tämän vuoden hakemuksista" +msgid "Lataa raportointi-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "" +"Luo uusi excel tiedosto kaikista järjestelmän viime vuoden hakemuksista. " +"Tiedosto sisältää myös kaikki käsitellyt hakemukset." +msgstr "" + +msgid "Lataa raportointi-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Excel kaikista nuorten vahvistetuista kesäsetelihakemuksista" msgstr "" msgid "Kesäsetelisi ja ohjeet sen käyttämiseen" msgstr "Your Summer Job Voucher and instructions for its use" -msgid "Helsinki, Kesäseteli, 350€" -msgstr "Helsinki, Summer Job Voucher, 350€" +#, python-format +msgid "Helsinki, Kesäseteli, %(voucher_value_with_euro_sign)s" +msgstr "Helsinki, Summer Job Voucher, %(voucher_value_with_euro_sign)s" msgid "Kesäsetelisi, ole hyvä" msgstr "Here is your Summer Job Voucher" @@ -611,9 +709,6 @@ msgstr "Summer Job Voucher number:" msgid "Kesäsetelin summa:" msgstr "Summer Job Voucher’s amount:" -msgid "350€" -msgstr "€350" - msgid "Postinumero:" msgstr "Postal code:" @@ -626,15 +721,6 @@ msgstr "Phone number:" msgid "Sähköpostiosoite:" msgstr "Email address:" -msgid "" -"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " -"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " -"kesäsetelinumeron." -msgstr "" -"When you have found a summer job and signed an employment contract, you can " -"forward this email to the employer or give them the above Summer Job Voucher " -"number." - msgid "Ohjeita työnhakijalle" msgstr "Instructions for job-seekers" @@ -656,33 +742,30 @@ msgstr "" "Rarer summer jobs included game developing, audio editing and assisting at a " "leather workshop!" +msgid "" +"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " +"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " +"kesäsetelinumeron." +msgstr "" +"When you have found a summer job and signed an employment contract, you can " +"forward this email to the employer or give them the above Summer Job Voucher " +"number." + msgid "Työpäivät ja palkka:" msgstr "Working days and pay:" -msgid "Kesäsetelillä tehdään 60 työtuntia." -msgstr "You will work 60 hours with the summer job voucher." - -msgid "Työtunteja on vähintään 18h/viikko." -msgstr "You must work at least 18 hours a week." - -msgid "Työnantaja maksaa sinulle palkkaa vähintään 500 euroa (60 työtunnilta)." -msgstr "The employer will pay you a minimum of EUR 500 (for 60 working hours)." - -msgid "Summa pitää sisällään lomakorvauksen." -msgstr "The sum includes holiday compensation." - -msgid "Lisäksi työnantaja maksaa normaalit työnantajamaksut." -msgstr "" -"In addition to this, the employer will pay normal employer’s contributions." - +#, python-format msgid "" -"Kesätyöjakso voi olla tuntimäärältään pidempi, tällöin 60 työtuntia " -"ylittävän osuuden palkan on oltava vähintään alan työehtosopimuksen mukainen " -"vähimmäispalkka." +"Kesätyön vähimmäisvaatimuksena on %(min_work_hours)s tuntia töitä ja siitä " +"vähintään %(min_work_compensation_with_euro_sign)s palkka, ellei alan " +"työehtosopimus edellytä korkeampaa palkkaa. Lisäksi työnantaja maksaa " +"normaalit työnantajamaksut, lomakorvauksen ja mahdolliset lisät." msgstr "" -"The employment relationship may include more hours, in which case the pay " -"for the hours exceeding 60 hours must be at least the minimum pay specified " -"in the industry’s collective agreement." +"Minimum requirement is %(min_work_hours)s hours for minimum of " +"%(min_work_compensation_with_euro_sign)s (for %(min_work_hours)s working " +"hours) salary if not the collective agreement state otherwise. On that the " +"employer pays normal employer’s contributions, holiday compensation and if " +"needed evening etc supplements." msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/nuorelle/" msgstr "" @@ -695,25 +778,20 @@ msgstr "Read more" msgid "Ohjeita työnantajalle" msgstr "Instructions for employers" +#, python-format msgid "" -"Kesäseteli on nuorten, yrittäjien ja Helsingin kaupungin yhteinen hanke." -msgstr "" -"The summer job voucher is a shared project of young people, entrepreneurs " -"and the City of Helsinki." - -msgid "" -"Kaupunki korvaa 350 euroa työnantajalle, joka palkkaa Kesäseteliin " -"oikeutetun nuoren töihin 1.6.–15.8.2024 välisenä aikana." -msgstr "" -"The City of Helsinki will provide a reimbursement of EUR 350 to each " -"employer who a young person with the summer job voucher between 1 June and " -"15 August 2022." - -msgid "" -"Kesätyön vähimmäisvaatimuksina ovat 60 tunnin työaika ja 500 euron palkka." -msgstr "" -"The minimum requirements for the summer job are a total working time of 60 " -"hours and a salary of EUR 500." +"Kaupunki korvaa kesätyön jälkeen %(voucher_value_with_euro_sign)s " +"työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin " +"%(summer_job_period_localized_string)s välisenä aikana. Korvaus haetaan " +"Kesäsetelin sivuilta olevasta linkistä ennen " +"%(employer_summer_voucher_application_end_date_localized_string)s." +msgstr "" +"The City of Helsinki will provide a reimbursement of " +"%(voucher_value_with_euro_sign)s to each employer who employed a young " +"person with the summer job voucher between " +"%(summer_job_period_localized_string)s. The reimbursement has to be applied " +"before %(employer_summer_voucher_application_end_date_localized_string)s " +"from the link found at the Summer Job Voucher´s webpage." msgid "Muut käyttöehdot voit lukea täältä:" msgstr "Other terms of use can be read here:" @@ -737,3 +815,85 @@ msgstr "" msgid "Hakemuksia ei löytynyt." msgstr "" + +msgid "Hakupvm" +msgstr "" + +msgid "Tunniste" +msgstr "" + +#, fuzzy +#| msgid "Hakemuksen kieli" +msgid "Hakemuksen tila" +msgstr "Application language" + +msgid "Hakuvuosi" +msgstr "" + +#, fuzzy +#| msgid "Kesäsetelinumero:" +msgid "Kesäsetelinro" +msgstr "Summer Job Voucher number:" + +msgid "Syntymävuosi" +msgstr "" + +msgid "Syntymäpvm" +msgstr "" + +msgid "Etunimi" +msgstr "" + +msgid "Sukunimi" +msgstr "" + +msgid "VTJ-sukunimi" +msgstr "" + +msgid "Listaamaton koulu?" +msgstr "" + +#, fuzzy +#| msgid "Sähköpostiosoite:" +msgid "Sähköposti" +msgstr "Email address:" + +#, fuzzy +#| msgid "Puhelinnumero:" +msgid "Puhelinnro" +msgstr "Phone number:" + +#, fuzzy +#| msgid "Postinumero:" +msgid "Postinro" +msgstr "Postal code:" + +msgid "VTJ-kotikunta" +msgstr "" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätietosyyt" +msgstr "Request for additional information" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätiedot" +msgstr "Request for additional information" + +msgid "Kieli" +msgstr "" + +msgid "Vahvistettu" +msgstr "" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätiedot annettu" +msgstr "Request for additional information" + +msgid "Käsitelty" +msgstr "" + +msgid "Nuorten kesäsetelihakemukset" +msgstr "" diff --git a/backend/kesaseteli/applications/locale/fi/LC_MESSAGES/django.po b/backend/kesaseteli/applications/locale/fi/LC_MESSAGES/django.po index 8243e472e3..4a8b0e4537 100644 --- a/backend/kesaseteli/applications/locale/fi/LC_MESSAGES/django.po +++ b/backend/kesaseteli/applications/locale/fi/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-28 16:15+0300\n" +"POT-Creation-Date: 2024-02-12 12:51+0200\n" "PO-Revision-Date: 2022-03-29 08:43+0300\n" "Last-Translator: Kari Salminen \n" "Language-Team: \n" @@ -61,6 +61,12 @@ msgstr "" msgid "Must be set" msgstr "" +msgid "Kyllä" +msgstr "" + +msgid "Ei" +msgstr "" + #, python-format msgid "additional_info_user_reasons must be a list, was %(type)s" msgstr "" @@ -78,14 +84,14 @@ msgstr "" msgid "Invalid status %(status)s for setting additional info" msgstr "" -msgid "Failed to send youth summer voucher email" -msgstr "Nuoren kesäsetelisähköpostin lähettäminen epäonnistui" - msgid "Failed to send manual processing email to handler" msgstr "" "Manuaaliprosessointisähköpostin lähettäminen käsittelijälle epäonnistui" -msgid "VTJ integration is not implemented" +msgid "Failed to send youth summer voucher email" +msgstr "Nuoren kesäsetelisähköpostin lähettäminen epäonnistui" + +msgid "Send anyway was used needlessly" msgstr "" msgid "Failed to send activation/additional info request email" @@ -97,6 +103,12 @@ msgstr "" msgid "Operation not allowed for this application status." msgstr "" +msgid "Reporting" +msgstr "" + +msgid "Talpa" +msgstr "" + msgid "Draft" msgstr "" @@ -166,151 +178,184 @@ msgstr "" msgid "Already assigned" msgstr "" -msgid "Järjestys" +msgid "Inadmissible data" msgstr "" -msgid "Saatu pvm" +msgid "Please recheck data" +msgstr "" + +msgid "Kuollut" +msgstr "" + +msgid "Väärä sukunimi" +msgstr "" + +msgid "Ei löydy" +msgstr "" + +msgid "Ei vastaa" +msgstr "" + +msgid "Kotikunta Helsinki" +msgstr "" + +msgid "Kotikunta Utsjoki" msgstr "" msgid "Hakemuksen kieli" msgstr "" -msgid "Setelin numero" +msgid "Tilinumero" msgstr "" -msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" +msgid "Työsuhteen päättymispäivämäärä" msgstr "" -msgid "Nuoren nimi" +msgid "Työsuhteen aloituspäivämäärä" msgstr "" -msgid "Henkilötunnus" +msgid "Olisitko palkannut?" msgstr "" -msgid "Koulu" +msgid "Järjestys" msgstr "" -msgid "Kotipostinumero" +msgid "Saatu pvm" msgstr "" -msgid "Puhelin" +msgid "Maksettu palkka (€)" msgstr "" -msgid "Kotikaupunki" +msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" msgstr "" -msgid "Työnantaja muoto" +msgid "Summa (€)" msgstr "" -msgid "Työnantaja" +msgid "Työtunnit" msgstr "" -msgid "Y-tunnus" +msgid "Laskuttajan sähköposti" msgstr "" -msgid "Työnantajan lähiosoite" +msgid "Laskuttajan nimi" msgstr "" -msgid "Työnantajan postinumero" +msgid "Laskuttajan Puhelin" msgstr "" -msgid "Työnantajan kunta" +msgid "Y-tunnus" msgstr "" msgid "Yhdyshenkilö" msgstr "" -msgid "Yhdyshenkilön sähköposti" +msgid "Erillinen laskuttaja" msgstr "" -msgid "Yhdyshenkilön Puhelin" +msgid "Raporttiin luokittelu" msgstr "" -msgid "Erillinen laskuttaja" +msgid "Liite: Työsopimus 1" msgstr "" -msgid "Laskuttajan nimi" +msgid "Liite: Työsopimus 2" msgstr "" -msgid "Laskuttajan sähköposti" +msgid "Liite: Työsopimus 3" msgstr "" -msgid "Laskuttajan Puhelin" +msgid "Liite: Työsopimus 4" msgstr "" -msgid "Yrityksen toimiala" +msgid "Liite: Työsopimus 5" msgstr "" -msgid "Työn suorituspaikan postinumero" +msgid "Liite: Palkkalaskelma 1" msgstr "" -msgid "Työsuhteen aloituspäivämäärä" +msgid "Liite: Palkkalaskelma 2" msgstr "" -msgid "Työsuhteen päättymispäivämäärä" +msgid "Liite: Palkkalaskelma 3" msgstr "" -msgid "Työtunnit" +msgid "Liite: Palkkalaskelma 4" msgstr "" -msgid "Maksettu palkka (€)" +msgid "Liite: Palkkalaskelma 5" msgstr "" -msgid "Summa (€)" +msgid "Tarkastaja etunimi" msgstr "" -msgid "Muut edut" +msgid "Tarkastaja sukunimi" msgstr "" -msgid "Raporttiin luokittelu" +msgid "Hyväksyjä etunimi" msgstr "" -msgid "Työtehtävät" +msgid "Hyväksyjä sukunimi" msgstr "" -msgid "Olisitko palkannut?" +msgid "Henkilötunnus" msgstr "" -msgid "Työnantajan kokemus" +msgid "Koulu" msgstr "" -msgid "Muuta" +msgid "Kotipostinumero" msgstr "" -msgid "Liite: Työsopimus 1" +msgid "Puhelin" msgstr "" -msgid "Liite: Työsopimus 2" +msgid "Kotikaupunki" msgstr "" -msgid "Liite: Työsopimus 3" +msgid "Työnantaja muoto" msgstr "" -msgid "Liite: Työsopimus 4" +msgid "Yhdyshenkilön sähköposti" msgstr "" -msgid "Liite: Työsopimus 5" +msgid "Yhdyshenkilön Puhelin" msgstr "" -msgid "Liite: Palkkalaskelma 1" +msgid "Yrityksen toimiala" msgstr "" -msgid "Liite: Palkkalaskelma 2" +msgid "Työn suorituspaikan postinumero" msgstr "" -msgid "Liite: Palkkalaskelma 3" +msgid "Muut edut" msgstr "" -msgid "Liite: Palkkalaskelma 4" +msgid "Työtehtävät" msgstr "" -msgid "Liite: Palkkalaskelma 5" +msgid "Työnantajan kokemus" msgstr "" -msgid "Kyllä" +msgid "Muuta" msgstr "" -msgid "Ei" +msgid "Setelin numero" +msgstr "" + +msgid "Nuoren nimi" +msgstr "" + +msgid "Työnantaja" +msgstr "" + +msgid "Työnantajan lähiosoite" +msgstr "" + +msgid "Työnantajan postinumero" +msgstr "" + +msgid "Työnantajan kunta" msgstr "" msgid "Setelit" @@ -343,7 +388,16 @@ msgstr "" msgid "timestamp of receipt confirmation" msgstr "" -msgid "vtj json" +msgid "original vtj json" +msgstr "" + +msgid "VTJ JSON used for automatic processing of new youth application" +msgstr "" + +msgid "handler vtj json" +msgstr "" + +msgid "VTJ JSON used for accepting/rejecting by human or machine" msgstr "" msgid "status" @@ -424,16 +478,34 @@ msgstr "" msgid "summer voucher id" msgstr "" -msgid "summer voucher exception class" -msgstr "" +#, fuzzy +#| msgid "secondary target group" +msgid "summer voucher target group" +msgstr "syntynyt 2004" -msgid "Special case of admitting the summer voucher." +msgid "Summer voucher's target group type" msgstr "" #, python-format msgid "Vuoden %(year)s Kesäsetelisi" msgstr "" +#, python-format +msgid "%(value_in_currency)d%(currency_sign)s" +msgstr "%(value_in_currency)d%(currency_sign)s" + +#, python-format +msgctxt "Summer job period in youth summer voucher email (d.m.–d.m.y)" +msgid "1.6.–15.8.%(year)d" +msgstr "1.6.–15.8.%(year)d" + +#, python-format +msgctxt "" +"Employer summer voucher application end date in youth summer voucher email " +"(d.m.y)" +msgid "30.11.%(year)d" +msgstr "30.11.%(year)d" + msgid "Unable to send youth summer voucher email" msgstr "" @@ -452,6 +524,9 @@ msgstr "" msgid "invoicer work address" msgstr "" +msgid "bank account number" +msgstr "" + msgid "contact person name" msgstr "" @@ -561,7 +636,10 @@ msgid "" "enää seuraavaan käsittelemättömien hakemusten exceliin." msgstr "" -msgid "Lataa Excel tiedosto käsittelemättömistä hakemuksista" +msgid "Lataa raportointi-Excel käsittelemättömistä hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel käsittelemättömistä hakemuksista" msgstr "" msgid "" @@ -569,13 +647,31 @@ msgid "" "Tiedosto sisältää myös kaikki käsitellyt hakemukset." msgstr "" -msgid "Lataa Excel tiedosto kaikista tämän vuoden hakemuksista" +msgid "Lataa raportointi-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "" +"Luo uusi excel tiedosto kaikista järjestelmän viime vuoden hakemuksista. " +"Tiedosto sisältää myös kaikki käsitellyt hakemukset." +msgstr "" + +msgid "Lataa raportointi-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Excel kaikista nuorten vahvistetuista kesäsetelihakemuksista" msgstr "" msgid "Kesäsetelisi ja ohjeet sen käyttämiseen" msgstr "" -msgid "Helsinki, Kesäseteli, 350€" +#, python-format +msgid "Helsinki, Kesäseteli, %(voucher_value_with_euro_sign)s" msgstr "" msgid "Kesäsetelisi, ole hyvä" @@ -598,9 +694,6 @@ msgstr "" msgid "Kesäsetelin summa:" msgstr "" -msgid "350€" -msgstr "" - msgid "Postinumero:" msgstr "" @@ -613,12 +706,6 @@ msgstr "" msgid "Sähköpostiosoite:" msgstr "" -msgid "" -"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " -"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " -"kesäsetelinumeron." -msgstr "" - msgid "Ohjeita työnhakijalle" msgstr "" @@ -634,69 +721,124 @@ msgid "" "editointi ja nahkapajan apulainen!" msgstr "" -msgid "Työpäivät ja palkka:" +msgid "" +"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " +"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " +"kesäsetelinumeron." msgstr "" -msgid "Kesäsetelillä tehdään 60 työtuntia." +msgid "Työpäivät ja palkka:" msgstr "" -msgid "Työtunteja on vähintään 18h/viikko." +#, python-format +msgid "" +"Kesätyön vähimmäisvaatimuksena on %(min_work_hours)s tuntia töitä ja siitä " +"vähintään %(min_work_compensation_with_euro_sign)s palkka, ellei alan " +"työehtosopimus edellytä korkeampaa palkkaa. Lisäksi työnantaja maksaa " +"normaalit työnantajamaksut, lomakorvauksen ja mahdolliset lisät." msgstr "" -msgid "Työnantaja maksaa sinulle palkkaa vähintään 500 euroa (60 työtunnilta)." +msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/nuorelle/" msgstr "" -msgid "Summa pitää sisällään lomakorvauksen." +msgid "Lue lisää" msgstr "" -msgid "Lisäksi työnantaja maksaa normaalit työnantajamaksut." +msgid "Ohjeita työnantajalle" msgstr "" +#, python-format msgid "" -"Kesätyöjakso voi olla tuntimäärältään pidempi, tällöin 60 työtuntia " -"ylittävän osuuden palkan on oltava vähintään alan työehtosopimuksen mukainen " -"vähimmäispalkka." +"Kaupunki korvaa kesätyön jälkeen %(voucher_value_with_euro_sign)s " +"työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin " +"%(summer_job_period_localized_string)s välisenä aikana. Korvaus haetaan " +"Kesäsetelin sivuilta olevasta linkistä ennen " +"%(employer_summer_voucher_application_end_date_localized_string)s." msgstr "" -msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/nuorelle/" +msgid "Muut käyttöehdot voit lukea täältä:" msgstr "" -msgid "Lue lisää" +msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/tyonantajalle-2/" msgstr "" -msgid "Ohjeita työnantajalle" +msgid "Helsinki" msgstr "" -msgid "" -"Kesäseteli on nuorten, yrittäjien ja Helsingin kaupungin yhteinen hanke." +msgid "https://nuorten.helsinki/kesaseteli/" msgstr "" -msgid "" -"Kaupunki korvaa 350 euroa työnantajalle, joka palkkaa Kesäseteliin " -"oikeutetun nuoren töihin 1.6.–15.8.2024 välisenä aikana." +msgid "nuorten.helsinki/kesaseteli/" msgstr "" -msgid "" -"Kesätyön vähimmäisvaatimuksina ovat 60 tunnin työaika ja 500 euron palkka." +msgid "Ei uusia käsittelemättömiä hakemuksia." msgstr "" -msgid "Muut käyttöehdot voit lukea täältä:" +msgid "Hakemuksia ei löytynyt." msgstr "" -msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/tyonantajalle-2/" +msgid "Hakupvm" msgstr "" -msgid "Helsinki" +msgid "Tunniste" msgstr "" -msgid "https://nuorten.helsinki/kesaseteli/" +msgid "Hakemuksen tila" msgstr "" -msgid "nuorten.helsinki/kesaseteli/" +msgid "Hakuvuosi" msgstr "" -msgid "Ei uusia käsittelemättömiä hakemuksia." +msgid "Kesäsetelinro" msgstr "" -msgid "Hakemuksia ei löytynyt." +msgid "Syntymävuosi" +msgstr "" + +msgid "Syntymäpvm" +msgstr "" + +msgid "Etunimi" +msgstr "" + +msgid "Sukunimi" +msgstr "" + +msgid "VTJ-sukunimi" +msgstr "" + +msgid "Listaamaton koulu?" +msgstr "" + +msgid "Sähköposti" +msgstr "" + +msgid "Puhelinnro" +msgstr "" + +msgid "Postinro" +msgstr "" + +msgid "VTJ-kotikunta" +msgstr "" + +msgid "Lisätietosyyt" +msgstr "" + +msgid "Lisätiedot" +msgstr "" + +msgid "Kieli" +msgstr "" + +msgid "Vahvistettu" +msgstr "" + +msgid "Lisätiedot annettu" +msgstr "" + +msgid "Käsitelty" +msgstr "" + +msgid "Nuorten kesäsetelihakemukset" msgstr "" diff --git a/backend/kesaseteli/applications/locale/sv/LC_MESSAGES/django.po b/backend/kesaseteli/applications/locale/sv/LC_MESSAGES/django.po index d81b7819c5..b6b30eaa47 100644 --- a/backend/kesaseteli/applications/locale/sv/LC_MESSAGES/django.po +++ b/backend/kesaseteli/applications/locale/sv/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-28 16:15+0300\n" -"PO-Revision-Date: 2022-03-29 08:45+0300\n" +"POT-Creation-Date: 2024-02-12 12:51+0200\n" +"PO-Revision-Date: 2024-02-10 16:22+0200\n" "Last-Translator: Kari Salminen \n" "Language-Team: \n" "Language: sv\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.2\n" #, python-brace-format msgid "EmployerApplication state transition not allowed: {status} to {value}" @@ -61,6 +61,12 @@ msgstr "" msgid "Must be set" msgstr "" +msgid "Kyllä" +msgstr "" + +msgid "Ei" +msgstr "" + #, python-format msgid "additional_info_user_reasons must be a list, was %(type)s" msgstr "" @@ -78,13 +84,13 @@ msgstr "" msgid "Invalid status %(status)s for setting additional info" msgstr "" -msgid "Failed to send youth summer voucher email" +msgid "Failed to send manual processing email to handler" msgstr "" -msgid "Failed to send manual processing email to handler" +msgid "Failed to send youth summer voucher email" msgstr "" -msgid "VTJ integration is not implemented" +msgid "Send anyway was used needlessly" msgstr "" msgid "Failed to send activation/additional info request email" @@ -96,6 +102,12 @@ msgstr "" msgid "Operation not allowed for this application status." msgstr "" +msgid "Reporting" +msgstr "" + +msgid "Talpa" +msgstr "" + msgid "Draft" msgstr "" @@ -165,151 +177,188 @@ msgstr "" msgid "Already assigned" msgstr "" -msgid "Järjestys" +msgid "Inadmissible data" msgstr "" -msgid "Saatu pvm" +msgid "Please recheck data" +msgstr "" + +msgid "Kuollut" +msgstr "" + +msgid "Väärä sukunimi" +msgstr "" + +msgid "Ei löydy" +msgstr "" + +msgid "Ei vastaa" +msgstr "" + +#, fuzzy +#| msgid "Helsinki" +msgid "Kotikunta Helsinki" +msgstr "Helsingfors" + +msgid "Kotikunta Utsjoki" msgstr "" msgid "Hakemuksen kieli" msgstr "" -msgid "Setelin numero" +#, fuzzy +#| msgid "Puhelinnumero:" +msgid "Tilinumero" +msgstr "Telefonnummer:" + +msgid "Työsuhteen päättymispäivämäärä" msgstr "" -msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" +msgid "Työsuhteen aloituspäivämäärä" msgstr "" -msgid "Nuoren nimi" +msgid "Olisitko palkannut?" msgstr "" -msgid "Henkilötunnus" +msgid "Järjestys" msgstr "" -msgid "Koulu" +msgid "Saatu pvm" msgstr "" -msgid "Kotipostinumero" +msgid "Maksettu palkka (€)" msgstr "" -msgid "Puhelin" +msgid "Erikoistapaus (esim yhdeksäsluokkalainen)" msgstr "" -msgid "Kotikaupunki" +msgid "Summa (€)" msgstr "" -msgid "Työnantaja muoto" +msgid "Työtunnit" msgstr "" -msgid "Työnantaja" +msgid "Laskuttajan sähköposti" +msgstr "" + +msgid "Laskuttajan nimi" +msgstr "" + +msgid "Laskuttajan Puhelin" msgstr "" msgid "Y-tunnus" msgstr "" -msgid "Työnantajan lähiosoite" +msgid "Yhdyshenkilö" msgstr "" -msgid "Työnantajan postinumero" +msgid "Erillinen laskuttaja" msgstr "" -msgid "Työnantajan kunta" +msgid "Raporttiin luokittelu" msgstr "" -msgid "Yhdyshenkilö" +msgid "Liite: Työsopimus 1" msgstr "" -msgid "Yhdyshenkilön sähköposti" +msgid "Liite: Työsopimus 2" msgstr "" -msgid "Yhdyshenkilön Puhelin" +msgid "Liite: Työsopimus 3" msgstr "" -msgid "Erillinen laskuttaja" +msgid "Liite: Työsopimus 4" msgstr "" -msgid "Laskuttajan nimi" +msgid "Liite: Työsopimus 5" msgstr "" -msgid "Laskuttajan sähköposti" +msgid "Liite: Palkkalaskelma 1" msgstr "" -msgid "Laskuttajan Puhelin" +msgid "Liite: Palkkalaskelma 2" msgstr "" -msgid "Yrityksen toimiala" +msgid "Liite: Palkkalaskelma 3" msgstr "" -msgid "Työn suorituspaikan postinumero" +msgid "Liite: Palkkalaskelma 4" msgstr "" -msgid "Työsuhteen aloituspäivämäärä" +msgid "Liite: Palkkalaskelma 5" msgstr "" -msgid "Työsuhteen päättymispäivämäärä" +msgid "Tarkastaja etunimi" msgstr "" -msgid "Työtunnit" +msgid "Tarkastaja sukunimi" msgstr "" -msgid "Maksettu palkka (€)" +msgid "Hyväksyjä etunimi" msgstr "" -msgid "Summa (€)" +msgid "Hyväksyjä sukunimi" msgstr "" -msgid "Muut edut" +msgid "Henkilötunnus" msgstr "" -msgid "Raporttiin luokittelu" +msgid "Koulu" msgstr "" -msgid "Työtehtävät" +msgid "Kotipostinumero" msgstr "" -msgid "Olisitko palkannut?" +msgid "Puhelin" msgstr "" -msgid "Työnantajan kokemus" +msgid "Kotikaupunki" msgstr "" -msgid "Muuta" +msgid "Työnantaja muoto" msgstr "" -msgid "Liite: Työsopimus 1" +msgid "Yhdyshenkilön sähköposti" msgstr "" -msgid "Liite: Työsopimus 2" +msgid "Yhdyshenkilön Puhelin" msgstr "" -msgid "Liite: Työsopimus 3" +msgid "Yrityksen toimiala" msgstr "" -msgid "Liite: Työsopimus 4" +msgid "Työn suorituspaikan postinumero" msgstr "" -msgid "Liite: Työsopimus 5" +msgid "Muut edut" msgstr "" -msgid "Liite: Palkkalaskelma 1" +msgid "Työtehtävät" msgstr "" -msgid "Liite: Palkkalaskelma 2" +msgid "Työnantajan kokemus" msgstr "" -msgid "Liite: Palkkalaskelma 3" +msgid "Muuta" msgstr "" -msgid "Liite: Palkkalaskelma 4" +msgid "Setelin numero" msgstr "" -msgid "Liite: Palkkalaskelma 5" +msgid "Nuoren nimi" msgstr "" -msgid "Kyllä" +msgid "Työnantaja" msgstr "" -msgid "Ei" +msgid "Työnantajan lähiosoite" +msgstr "" + +msgid "Työnantajan postinumero" +msgstr "" + +msgid "Työnantajan kunta" msgstr "" msgid "Setelit" @@ -342,7 +391,16 @@ msgstr "" msgid "timestamp of receipt confirmation" msgstr "" -msgid "vtj json" +msgid "original vtj json" +msgstr "" + +msgid "VTJ JSON used for automatic processing of new youth application" +msgstr "" + +msgid "handler vtj json" +msgstr "" + +msgid "VTJ JSON used for accepting/rejecting by human or machine" msgstr "" msgid "status" @@ -434,16 +492,32 @@ msgstr "" msgid "summer voucher id" msgstr "" -msgid "summer voucher exception class" +msgid "summer voucher target group" msgstr "" -msgid "Special case of admitting the summer voucher." +msgid "Summer voucher's target group type" msgstr "" #, python-format msgid "Vuoden %(year)s Kesäsetelisi" msgstr "Din Sommarsedel %(year)s" +#, python-format +msgid "%(value_in_currency)d%(currency_sign)s" +msgstr "%(value_in_currency)d%(currency_sign)s" + +#, python-format +msgctxt "Summer job period in youth summer voucher email (d.m.–d.m.y)" +msgid "1.6.–15.8.%(year)d" +msgstr "1.6–15.8.%(year)d" + +#, python-format +msgctxt "" +"Employer summer voucher application end date in youth summer voucher email " +"(d.m.y)" +msgid "30.11.%(year)d" +msgstr "30.11.%(year)d" + msgid "Unable to send youth summer voucher email" msgstr "" @@ -462,6 +536,9 @@ msgstr "" msgid "invoicer work address" msgstr "" +msgid "bank account number" +msgstr "" + msgid "contact person name" msgstr "" @@ -571,7 +648,10 @@ msgid "" "enää seuraavaan käsittelemättömien hakemusten exceliin." msgstr "" -msgid "Lataa Excel tiedosto käsittelemättömistä hakemuksista" +msgid "Lataa raportointi-Excel käsittelemättömistä hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel käsittelemättömistä hakemuksista" msgstr "" msgid "" @@ -579,14 +659,32 @@ msgid "" "Tiedosto sisältää myös kaikki käsitellyt hakemukset." msgstr "" -msgid "Lataa Excel tiedosto kaikista tämän vuoden hakemuksista" +msgid "Lataa raportointi-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista tämän vuoden hakemuksista" +msgstr "" + +msgid "" +"Luo uusi excel tiedosto kaikista järjestelmän viime vuoden hakemuksista. " +"Tiedosto sisältää myös kaikki käsitellyt hakemukset." +msgstr "" + +msgid "Lataa raportointi-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Talpa-Excel kaikista viime vuoden hakemuksista" +msgstr "" + +msgid "Lataa Excel kaikista nuorten vahvistetuista kesäsetelihakemuksista" msgstr "" msgid "Kesäsetelisi ja ohjeet sen käyttämiseen" msgstr "Din Sommarsedel och instruktioner för hur du använder den" -msgid "Helsinki, Kesäseteli, 350€" -msgstr "Helsingfors, Sommarsedel, 350€" +#, python-format +msgid "Helsinki, Kesäseteli, %(voucher_value_with_euro_sign)s" +msgstr "Helsingfors, Sommarsedeln, %(voucher_value_with_euro_sign)s" msgid "Kesäsetelisi, ole hyvä" msgstr "Din Sommarsedel, varsågod" @@ -610,9 +708,6 @@ msgstr "Sommarsedelns nummer:" msgid "Kesäsetelin summa:" msgstr "Sommadsedelns belopp:" -msgid "350€" -msgstr "350€" - msgid "Postinumero:" msgstr "Postnummer:" @@ -625,15 +720,6 @@ msgstr "Telefonnummer:" msgid "Sähköpostiosoite:" msgstr "E-postadress:" -msgid "" -"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " -"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " -"kesäsetelinumeron." -msgstr "" -"När du har hittat ett sommarjobb och ingått ett arbetsavtal kan du " -"vidarebefordra det här e-postmeddelandet till arbetsgivaren eller ge dem " -"sommarsedelnumret som finns här ovanför." - msgid "Ohjeita työnhakijalle" msgstr "Anvisningar för den arbetssökande" @@ -654,33 +740,29 @@ msgstr "" "Mer speciella sommarjobb var bland annat spelprogrammering, editerande av " "ljudfiler och hjälpreda i en läderateljé!" -msgid "Työpäivät ja palkka:" -msgstr "Arbetsdagar och lön:" - -msgid "Kesäsetelillä tehdään 60 työtuntia." -msgstr "Med Sommarsedeln ska man arbeta 60 timmar." - -msgid "Työtunteja on vähintään 18h/viikko." -msgstr "Man ska arbeta minst 18h/vecka." - -msgid "Työnantaja maksaa sinulle palkkaa vähintään 500 euroa (60 työtunnilta)." +msgid "" +"Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän " +"sähköpostiviestin työnantajalle tai antaa heille yllä olevan " +"kesäsetelinumeron." msgstr "" -"Arbetsgivaren betalar dig en lön på minst 500 euro (för 60 arbetstimmar)." - -msgid "Summa pitää sisällään lomakorvauksen." -msgstr "I beloppet ingår semesterersättning." +"När du har hittat ett sommarjobb och ingått ett arbetsavtal kan du " +"vidarebefordra det här e-postmeddelandet till arbetsgivaren eller ge dem " +"sommarsedelnumret som finns här ovanför." -msgid "Lisäksi työnantaja maksaa normaalit työnantajamaksut." -msgstr "Därutöver ska arbetsgivaren betala de normala arbetsgivaravgifterna." +msgid "Työpäivät ja palkka:" +msgstr "Arbetsdagar och lön:" +#, python-format msgid "" -"Kesätyöjakso voi olla tuntimäärältään pidempi, tällöin 60 työtuntia " -"ylittävän osuuden palkan on oltava vähintään alan työehtosopimuksen mukainen " -"vähimmäispalkka." +"Kesätyön vähimmäisvaatimuksena on %(min_work_hours)s tuntia töitä ja siitä " +"vähintään %(min_work_compensation_with_euro_sign)s palkka, ellei alan " +"työehtosopimus edellytä korkeampaa palkkaa. Lisäksi työnantaja maksaa " +"normaalit työnantajamaksut, lomakorvauksen ja mahdolliset lisät." msgstr "" -"Sommarjobbsperioden kan var längre till timantalet, i så fall ska lönen för " -"den del som överstiger 60 arbetstimmar uppgå minst till minimilönen enligt " -"kollektivavtal." +"Arbetstiden är minst %(min_work_hours)s timmar, för vilket utbetalas minst " +"%(min_work_compensation_with_euro_sign)s lön, om inte kollektivavtalet " +"förutsätter en högre lön. Dessutom betalar arbetsgivaren normala " +"arbetsgivaravgifter, semesterersättning och möjliga andra tillägg." msgid "https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/nuorelle/" msgstr "" @@ -692,23 +774,20 @@ msgstr "Läs mer" msgid "Ohjeita työnantajalle" msgstr "Anvisningar för arbetsgivaren" +#, python-format msgid "" -"Kesäseteli on nuorten, yrittäjien ja Helsingin kaupungin yhteinen hanke." -msgstr "" -"Sommarsedeln är ett gemensamt projekt mellan ungdomar, företagare och " -"Helsingfors stad." - -msgid "" -"Kaupunki korvaa 350 euroa työnantajalle, joka palkkaa Kesäseteliin " -"oikeutetun nuoren töihin 1.6.–15.8.2024 välisenä aikana." -msgstr "" -"Helsingfors stad betalar 350 euro till en arbetsgivare som anställer en elev " -"i årskurs 9 med Sommarsedeln för sommaren mellan den 1 juni och den 15 " -"augusti 2022." - -msgid "" -"Kesätyön vähimmäisvaatimuksina ovat 60 tunnin työaika ja 500 euron palkka." -msgstr "Minimikravet på sommarjobb är 60 timmar arbete och en lön på 500 euro." +"Kaupunki korvaa kesätyön jälkeen %(voucher_value_with_euro_sign)s " +"työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin " +"%(summer_job_period_localized_string)s välisenä aikana. Korvaus haetaan " +"Kesäsetelin sivuilta olevasta linkistä ennen " +"%(employer_summer_voucher_application_end_date_localized_string)s." +msgstr "" +"Helsingfors stad betalar %(voucher_value_with_euro_sign)s till en " +"arbetsgivare efter sommarjobbet är slutfört, åt arbetsgivare som anställer " +"en ung, som är berättigad till Sommarsedeln mellan " +"%(summer_job_period_localized_string)s. Ersättning ansöks före " +"%(employer_summer_voucher_application_end_date_localized_string)s från " +"länken på Sommarsedelns webbsida." msgid "Muut käyttöehdot voit lukea täältä:" msgstr "Anda användarvillkor kan läsas här:" @@ -731,3 +810,83 @@ msgstr "" msgid "Hakemuksia ei löytynyt." msgstr "" + +msgid "Hakupvm" +msgstr "" + +msgid "Tunniste" +msgstr "" + +msgid "Hakemuksen tila" +msgstr "" + +msgid "Hakuvuosi" +msgstr "" + +#, fuzzy +#| msgid "Kesäsetelinumero:" +msgid "Kesäsetelinro" +msgstr "Sommarsedelns nummer:" + +msgid "Syntymävuosi" +msgstr "" + +msgid "Syntymäpvm" +msgstr "" + +msgid "Etunimi" +msgstr "" + +msgid "Sukunimi" +msgstr "" + +msgid "VTJ-sukunimi" +msgstr "" + +msgid "Listaamaton koulu?" +msgstr "" + +#, fuzzy +#| msgid "Sähköpostiosoite:" +msgid "Sähköposti" +msgstr "E-postadress:" + +#, fuzzy +#| msgid "Puhelinnumero:" +msgid "Puhelinnro" +msgstr "Telefonnummer:" + +#, fuzzy +#| msgid "Postinumero:" +msgid "Postinro" +msgstr "Postnummer:" + +msgid "VTJ-kotikunta" +msgstr "" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätietosyyt" +msgstr "Begäran om ytterligare information" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätiedot" +msgstr "Begäran om ytterligare information" + +msgid "Kieli" +msgstr "" + +msgid "Vahvistettu" +msgstr "" + +#, fuzzy +#| msgid "Lisätietopyyntö" +msgid "Lisätiedot annettu" +msgstr "Begäran om ytterligare information" + +msgid "Käsitelty" +msgstr "" + +msgid "Nuorten kesäsetelihakemukset" +msgstr "" diff --git a/backend/kesaseteli/applications/models.py b/backend/kesaseteli/applications/models.py index e1d4f6efd3..fd0203e4b4 100644 --- a/backend/kesaseteli/applications/models.py +++ b/backend/kesaseteli/applications/models.py @@ -15,7 +15,7 @@ from django.template.loader import get_template from django.urls import reverse from django.utils import timezone, translation -from django.utils.translation import gettext, gettext_lazy as _ +from django.utils.translation import gettext, gettext_lazy as _, pgettext from encrypted_fields.fields import EncryptedCharField, SearchField from localflavor.generic.models import IBANField from requests.exceptions import ReadTimeout @@ -884,7 +884,7 @@ def _template_image(filename, content_id) -> MIMEImage: def youth_summer_voucher_logo(self, language) -> MIMEImage: return YouthSummerVoucher._template_image( - filename=f"youth_summer_voucher-350e-{language}.png", + filename=f"youth_summer_voucher-{self.voucher_value_in_euros}e-{language}.png", content_id="youth_summer_voucher_logo", ) @@ -894,6 +894,89 @@ def helsinki_logo(self) -> MIMEImage: content_id="helsinki_logo", ) + @staticmethod + def _value_with_euro_sign(value_in_euros: int) -> str: + """ + Given value with euro sign + + Example: + _value_with_euro_sign(350) -> "350€" with Finnish translation active + """ + return _("%(value_in_currency)d%(currency_sign)s") % { + "value_in_currency": value_in_euros, + "currency_sign": "€", + } + + @staticmethod + def voucher_value_in_euros_in_year(year: int) -> int: + """ + Voucher value in euros in given year + """ + return 325 if year < 2024 else 350 + + @property + def voucher_value_in_euros(self) -> int: + """ + Voucher value in euros in youth summer voucher's year + """ + return YouthSummerVoucher.voucher_value_in_euros_in_year(self.year) + + @property + def voucher_value_with_euro_sign(self) -> str: + """ + Voucher value with euro sign in youth summer voucher's year + """ + return self._value_with_euro_sign(self.voucher_value_in_euros) + + @property + def summer_job_period_localized_string(self) -> str: + """ + Summer job period as a string + """ + return pgettext( + "Summer job period in youth summer voucher email (d.m.–d.m.y)", + "1.6.–15.8.%(year)d", + ) % {"year": self.year} + + @property + def employer_summer_voucher_application_end_date_localized_string(self) -> str: + """ + Employer summer voucher application end date as a localized string + """ + return pgettext( + "Employer summer voucher application end date in youth summer voucher email (d.m.y)", + "30.11.%(year)d", + ) % {"year": self.year} + + @property + def min_work_hours(self) -> int: + """ + Minimum work hours for summer job in youth summer voucher's year + """ + return 60 + + @staticmethod + def min_work_compensation_in_euros_in_year(year: int) -> int: + """ + Minimum work compensation for summer job in euros in given year + """ + return 400 if year < 2024 else 500 + + @property + def min_work_compensation_in_euros(self) -> int: + """ + Minimum work compensation for summer job in euros in youth summer voucher's year + """ + return YouthSummerVoucher.min_work_compensation_in_euros_in_year(self.year) + + @property + def min_work_compensation_with_euro_sign(self) -> str: + """ + Minimum work compensation for summer job with euro sign in youth summer + voucher's year + """ + return self._value_with_euro_sign(self.min_work_compensation_in_euros) + def send_youth_summer_voucher_email( self, language, send_to_youth=True, send_to_handler=True ) -> bool: @@ -921,6 +1004,13 @@ def send_youth_summer_voucher_email( "phone_number": self.youth_application.phone_number, "email": self.youth_application.email, "year": self.year, + "voucher_value_with_euro_sign": self.voucher_value_with_euro_sign, + "summer_job_period_localized_string": self.summer_job_period_localized_string, + "employer_summer_voucher_application_end_date_localized_string": ( + self.employer_summer_voucher_application_end_date_localized_string + ), + "min_work_hours": self.min_work_hours, + "min_work_compensation_with_euro_sign": self.min_work_compensation_with_euro_sign, } return send_mail_with_error_logging( subject=self.email_subject(language), @@ -1115,12 +1205,14 @@ class EmployerSummerVoucher(HistoricalModel, TimeStampedModel, UUIDModel): @property def value_in_euros(self) -> int: - if self.created_at.date() < date(2024, 6, 1): - # Use 2023 year's value (325e) for late coming employer applications in 2024 - # before 2024's summer job period starts (i.e. 1st of June 2024). - return 325 + created_date = self.created_at.date() + year, month, day = created_date.year, created_date.month, created_date.day + if (month, day) < (2, 14): + # Use previous year's value for late coming employer applications before the + # youths' period for applying for summer vouchers starts on Feb 14 + return YouthSummerVoucher.voucher_value_in_euros_in_year(year - 1) else: - return 350 + return YouthSummerVoucher.voucher_value_in_euros_in_year(year) @property def last_submitted_at(self) -> Optional[datetime]: diff --git a/backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-en.png b/backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-en.png new file mode 100644 index 0000000000000000000000000000000000000000..9fd59f61ee10fc2bae59fc7811d41dccf2dca9aa GIT binary patch literal 44480 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 literal 0 HcmV?d00001 diff --git a/backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-sv.png b/backend/kesaseteli/applications/templates/images/youth_summer_voucher-325e-sv.png new file mode 100644 index 0000000000000000000000000000000000000000..06c6ca5210661d099d2ca0ebd373b21543692f4f GIT binary patch literal 44515 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 XRn3vSx6YkR00000NkvXXu0mjf;o!ff literal 0 HcmV?d00001 diff --git a/backend/kesaseteli/applications/templates/youth_summer_voucher_email.html b/backend/kesaseteli/applications/templates/youth_summer_voucher_email.html index 41405fc778..1a3f3cf534 100644 --- a/backend/kesaseteli/applications/templates/youth_summer_voucher_email.html +++ b/backend/kesaseteli/applications/templates/youth_summer_voucher_email.html @@ -14,7 +14,7 @@ - {% trans 'Helsinki, Kesäseteli, 350€' %} + {% blocktranslate %}Helsinki, Kesäseteli, {{voucher_value_with_euro_sign}}{% endblocktranslate %} @@ -29,15 +29,12 @@

{% trans 'Kesäsetelisi, ole hyvä' %}

{{first_name}} {{last_name}}
{% trans 'Kesäsetelinumero:' %} {{summer_voucher_serial_number}}
- {% trans 'Kesäsetelin summa:' %} {% trans '350€' %}
+ {% trans 'Kesäsetelin summa:' %} {{voucher_value_with_euro_sign}}
{% trans 'Postinumero:' %} {{postcode}}
{% trans 'Koulu:' %} {{school}}
{% trans 'Puhelinnumero:' %} {{phone_number}}
{% trans 'Sähköpostiosoite:' %} {{email}}

-

- {% trans 'Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän sähköpostiviestin työnantajalle tai antaa heille yllä olevan kesäsetelinumeron.' %} -

@@ -48,13 +45,13 @@

{% trans 'Ohjeita työnhakijalle' %}

{% trans 'Kesäseteli helpottaa sinua kesätyöpaikan löytämisessä: viime vuonna tyypillisiä työtehtäviä olivat kesäleirin ohjaaja, myymälän hyllyttäjä, ravintolan saliapulainen, puutarhatyöntekijä, lastenhoitaja, verkkosivujen ja somen sisällöntuottaja ja kioskimyyjä.' %} {% trans 'Erikoisia kesätöitä olivat esimerkiksi peliohjelmointi, äänitiedostojen editointi ja nahkapajan apulainen!' %}

+

+ {% trans 'Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän sähköpostiviestin työnantajalle tai antaa heille yllä olevan kesäsetelinumeron.' %} +

{% trans 'Työpäivät ja palkka:' %}

    -
  • {% trans 'Kesäsetelillä tehdään 60 työtuntia.' %}
  • -
  • {% trans 'Työtunteja on vähintään 18h/viikko.' %}
  • -
  • {% trans 'Työnantaja maksaa sinulle palkkaa vähintään 500 euroa (60 työtunnilta).' %} {% trans 'Summa pitää sisällään lomakorvauksen.' %} {% trans 'Lisäksi työnantaja maksaa normaalit työnantajamaksut.' %}
  • -
  • {% trans 'Kesätyöjakso voi olla tuntimäärältään pidempi, tällöin 60 työtuntia ylittävän osuuden palkan on oltava vähintään alan työehtosopimuksen mukainen vähimmäispalkka.' %}
  • +
  • {% blocktranslate %}Kesätyön vähimmäisvaatimuksena on {{min_work_hours}} tuntia töitä ja siitä vähintään {{min_work_compensation_with_euro_sign}} palkka, ellei alan työehtosopimus edellytä korkeampaa palkkaa. Lisäksi työnantaja maksaa normaalit työnantajamaksut, lomakorvauksen ja mahdolliset lisät.{% endblocktranslate %}

@@ -63,9 +60,7 @@

{% trans 'Ohjeita työnhakijalle' %}


{% trans 'Ohjeita työnantajalle' %}

- {% trans 'Kesäseteli on nuorten, yrittäjien ja Helsingin kaupungin yhteinen hanke.' %} - {% trans 'Kaupunki korvaa 350 euroa työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin 1.6.–15.8.2024 välisenä aikana.' %} - {% trans 'Kesätyön vähimmäisvaatimuksina ovat 60 tunnin työaika ja 500 euron palkka.' %} + {% blocktranslate %}Kaupunki korvaa kesätyön jälkeen {{voucher_value_with_euro_sign}} työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin {{summer_job_period_localized_string}} välisenä aikana. Korvaus haetaan Kesäsetelin sivuilta olevasta linkistä ennen {{employer_summer_voucher_application_end_date_localized_string}}.{% endblocktranslate %}

{% trans 'Muut käyttöehdot voit lukea täältä:' %} diff --git a/backend/kesaseteli/applications/templates/youth_summer_voucher_email.txt b/backend/kesaseteli/applications/templates/youth_summer_voucher_email.txt index 915487ae09..7e0655b6f8 100644 --- a/backend/kesaseteli/applications/templates/youth_summer_voucher_email.txt +++ b/backend/kesaseteli/applications/templates/youth_summer_voucher_email.txt @@ -4,30 +4,27 @@ {{first_name}} {{last_name}} {% trans 'Kesäsetelinumero:' %} {{summer_voucher_serial_number}} -{% trans 'Kesäsetelin summa:' %} {% trans '350€' %} +{% trans 'Kesäsetelin summa:' %} {{voucher_value_with_euro_sign}} {% trans 'Postinumero:' %} {{postcode}} {% trans 'Koulu:' %} {{school}} {% trans 'Puhelinnumero:' %} {{phone_number}} {% trans 'Sähköpostiosoite:' %} {{email}} - -{% trans 'Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän sähköpostiviestin työnantajalle tai antaa heille yllä olevan kesäsetelinumeron.' %} ------------------------------------------------------------------------ {% trans 'Ohjeita työnhakijalle' %}: {% trans 'Kesäseteli helpottaa sinua kesätyöpaikan löytämisessä: viime vuonna tyypillisiä työtehtäviä olivat kesäleirin ohjaaja, myymälän hyllyttäjä, ravintolan saliapulainen, puutarhatyöntekijä, lastenhoitaja, verkkosivujen ja somen sisällöntuottaja ja kioskimyyjä.' %} {% trans 'Erikoisia kesätöitä olivat esimerkiksi peliohjelmointi, äänitiedostojen editointi ja nahkapajan apulainen!' %} +{% trans 'Kun olet löytänyt kesätyöpaikan ja tehnyt työsopimuksen, voit välittää tämän sähköpostiviestin työnantajalle tai antaa heille yllä olevan kesäsetelinumeron.' %} + {% trans 'Työpäivät ja palkka:' %} - - {% trans 'Kesäsetelillä tehdään 60 työtuntia.' %} - - {% trans 'Työtunteja on vähintään 18h/viikko.' %} - - {% trans 'Työnantaja maksaa sinulle palkkaa vähintään 500 euroa (60 työtunnilta).' %} {% trans 'Summa pitää sisällään lomakorvauksen.' %} {% trans 'Lisäksi työnantaja maksaa normaalit työnantajamaksut.' %} - - {% trans 'Kesätyöjakso voi olla tuntimäärältään pidempi, tällöin 60 työtuntia ylittävän osuuden palkan on oltava vähintään alan työehtosopimuksen mukainen vähimmäispalkka.' %} + - {% blocktranslate %}Kesätyön vähimmäisvaatimuksena on {{min_work_hours}} tuntia töitä ja siitä vähintään {{min_work_compensation_with_euro_sign}} palkka, ellei alan työehtosopimus edellytä korkeampaa palkkaa. Lisäksi työnantaja maksaa normaalit työnantajamaksut, lomakorvauksen ja mahdolliset lisät.{% endblocktranslate %} {% trans 'Lue lisää' %}: {% trans 'https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/nuorelle/' %} ------------------------------------------------------------------------ {% trans 'Ohjeita työnantajalle' %}: -{% trans 'Kesäseteli on nuorten, yrittäjien ja Helsingin kaupungin yhteinen hanke.' %} {% trans 'Kaupunki korvaa 350 euroa työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin 1.6.–15.8.2024 välisenä aikana.' %} {% trans 'Kesätyön vähimmäisvaatimuksina ovat 60 tunnin työaika ja 500 euron palkka.' %} +{% blocktranslate %}Kaupunki korvaa kesätyön jälkeen {{voucher_value_with_euro_sign}} työnantajalle, joka palkkaa Kesäseteliin oikeutetun nuoren töihin {{summer_job_period_localized_string}} välisenä aikana. Korvaus haetaan Kesäsetelin sivuilta olevasta linkistä ennen {{employer_summer_voucher_application_end_date_localized_string}}.{% endblocktranslate %} {% trans 'Muut käyttöehdot voit lukea täältä:' %} {% trans 'https://nuorten.helsinki/opiskelu-ja-tyo/kesaseteli/tyonantajalle-2/' %} diff --git a/backend/kesaseteli/applications/tests/test_excel_export.py b/backend/kesaseteli/applications/tests/test_excel_export.py index 8e10c26d01..a43a73cf0d 100644 --- a/backend/kesaseteli/applications/tests/test_excel_export.py +++ b/backend/kesaseteli/applications/tests/test_excel_export.py @@ -364,8 +364,8 @@ def employer_summer_voucher_sorting_key(voucher: EmployerSummerVoucher): (date(2022, 6, 1), 325), (date(2023, 6, 1), 325), (date(2024, 1, 1), 325), - (date(2024, 5, 31), 325), - (date(2024, 6, 1), 350), + (date(2024, 2, 13), 325), + (date(2024, 2, 14), 350), (date(2024, 12, 31), 350), ], ) diff --git a/backend/kesaseteli/applications/tests/test_youth_applications_api.py b/backend/kesaseteli/applications/tests/test_youth_applications_api.py index c4c601bc4b..70c9c8205b 100644 --- a/backend/kesaseteli/applications/tests/test_youth_applications_api.py +++ b/backend/kesaseteli/applications/tests/test_youth_applications_api.py @@ -16,7 +16,7 @@ from django.contrib.auth.models import AnonymousUser from django.core import mail from django.test import override_settings -from django.utils import timezone +from django.utils import timezone, translation from django.utils.html import strip_tags from django.utils.timezone import localdate from freezegun import freeze_time @@ -68,6 +68,27 @@ from shared.common.tests.test_validators import get_invalid_postcode_values from shared.common.tests.utils import normalize_whitespace +# Mandatory fields of YouthSummerVoucher in youth summer voucher email +MANDATORY_YOUTH_SUMMER_VOUCHER_FIELDS_IN_VOUCHER_EMAIL = [ + "employer_summer_voucher_application_end_date_localized_string", + "min_work_compensation_with_euro_sign", + "min_work_hours", + "summer_job_period_localized_string", + "summer_voucher_serial_number", + "voucher_value_with_euro_sign", + "year", +] + +# Mandatory fields of YouthApplication in youth summer voucher email +MANDATORY_YOUTH_APPLICATION_FIELDS_IN_VOUCHER_EMAIL = [ + "email", + "first_name", + "last_name", + "phone_number", + "postcode", + "school", +] + def create_same_person_previous_year_accepted_application( app: YouthApplication, @@ -1678,6 +1699,60 @@ def test_youth_summer_voucher_email_plaintext_html_similarity(api_client, langua ), "Email's plaintext and HTML content should be very similar" +@pytest.mark.django_db +@override_settings( + NEXT_PUBLIC_MOCK_FLAG=True, + EMAIL_BACKEND="django.core.mail.backends.locmem.EmailBackend", +) +@pytest.mark.parametrize("language", get_supported_languages()) +def test_youth_summer_voucher_email_html_content(api_client, language): + acceptable_youth_application = AcceptableYouthApplicationFactory(language=language) + api_client.patch( + get_accept_url(acceptable_youth_application.pk), + data=json.dumps(get_test_handling_data()), + content_type="application/json", + ) + assert len(mail.outbox) > 0 + youth_summer_voucher_email = mail.outbox[-1] + html_msg = youth_summer_voucher_email.alternatives[0][0] + acceptable_youth_application.refresh_from_db() + voucher = acceptable_youth_application.youth_summer_voucher + + with translation.override(acceptable_youth_application.language): + for field in MANDATORY_YOUTH_SUMMER_VOUCHER_FIELDS_IN_VOUCHER_EMAIL: + assert str(getattr(voucher, field)) in html_msg + + for field in MANDATORY_YOUTH_APPLICATION_FIELDS_IN_VOUCHER_EMAIL: + assert str(getattr(acceptable_youth_application, field)) in html_msg + + +@pytest.mark.django_db +@override_settings( + NEXT_PUBLIC_MOCK_FLAG=True, + EMAIL_BACKEND="django.core.mail.backends.locmem.EmailBackend", +) +@pytest.mark.parametrize("language", get_supported_languages()) +def test_youth_summer_voucher_email_plaintext_content(api_client, language): + acceptable_youth_application = AcceptableYouthApplicationFactory(language=language) + api_client.patch( + get_accept_url(acceptable_youth_application.pk), + data=json.dumps(get_test_handling_data()), + content_type="application/json", + ) + assert len(mail.outbox) > 0 + youth_summer_voucher_email = mail.outbox[-1] + plaintext_msg = youth_summer_voucher_email.body + acceptable_youth_application.refresh_from_db() + voucher = acceptable_youth_application.youth_summer_voucher + + with translation.override(acceptable_youth_application.language): + for field in MANDATORY_YOUTH_SUMMER_VOUCHER_FIELDS_IN_VOUCHER_EMAIL: + assert str(getattr(voucher, field)) in plaintext_msg + + for field in MANDATORY_YOUTH_APPLICATION_FIELDS_IN_VOUCHER_EMAIL: + assert str(getattr(acceptable_youth_application, field)) in plaintext_msg + + @pytest.mark.django_db @override_settings( NEXT_PUBLIC_MOCK_FLAG=True,