Skip to content

Commit

Permalink
Initial implementation of haku page with hakukohteet list
Browse files Browse the repository at this point in the history
  • Loading branch information
SalamaGofore committed Apr 2, 2024
1 parent ccd9692 commit ba05816
Show file tree
Hide file tree
Showing 9 changed files with 388 additions and 11 deletions.
2 changes: 1 addition & 1 deletion mocks/collections.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
{
"id": "base",
"routes": ["add-headers:enabled", "get-users:success", "get-user:success", "get-haut:success", "get-haku:real"]
"routes": ["add-headers:enabled", "get-users:success", "get-user:success", "get-haut:success", "get-haku:real", "get-hakukohteet:success"]
},
{
"id": "no-headers",
Expand Down
292 changes: 292 additions & 0 deletions mocks/routes/kouta/hakukohteet.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@
const HAKUKOHTEET =
[
{
"oid": "1.2.246.562.20.00000000000000045105",
"toteutusOid": "1.2.246.562.17.00000000000000019343",
"hakuOid": "1.2.246.562.29.00000000000000045102",
"tila": "julkaistu",
"nimi": {
"en": "Finnish MAOL competition route, Technology, Sustainable Urban Development, Bachelor and Master of Science (Technology) (3 + 2 yrs)"
},
"kaytetaanHaunAlkamiskautta": true,
"hakulomakeKuvaus": {},
"hakulomakeLinkki": {
"fi": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045105?lang=fi",
"sv": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045105?lang=sv",
"en": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045105?lang=en"
},
"kaytetaanHaunHakulomaketta": true,
"aloituspaikat": 0,
"painotetutArvosanat": [],
"pohjakoulutusvaatimusKoodiUrit": [
"pohjakoulutusvaatimuskouta_123#1"
],
"muuPohjakoulutusvaatimus": {},
"toinenAsteOnkoKaksoistutkinto": false,
"kaytetaanHaunAikataulua": true,
"valintaperusteId": "09ab50f3-fea7-45c5-a58f-5c9352553a6e",
"valintaperusteValintakokeet": [],
"yhdenPaikanSaanto": {
"voimassa": true,
"syy": "Hakukohde on yhden paikan säännön piirissä"
},
"koulutustyyppikoodi": "koulutustyyppi_3",
"salliikoHakukohdeHarkinnanvaraisuudenKysymisen": false,
"voikoHakukohteessaOllaHarkinnanvaraisestiHakeneita": false,
"liitteetOnkoSamaToimitusaika": false,
"liitteetOnkoSamaToimitusosoite": false,
"liitteet": [
{
"id": "91ce7bda-3356-4136-aca3-6fbd1490bcd5",
"tyyppi": {
"koodiUri": "liitetyypitamm_3#1",
"nimi": {
"en": "Certificates",
"fi": "Todistukset",
"sv": "Betyg"
}
},
"nimi": {
"en": "Attachments"
},
"kuvaus": {
"en": "<p>You must attach the following documents to your application:</p><ul><li value=\"1\"><strong>The Competition certificate</strong> which demonstrates that you have been ranked in the top 10 in the nationwide MAOL competition in mathematics, physics, chemistry and informatics. Please name the attachment as follows: lastname_firstname_kilp.pdf </li><li value=\"2\"><strong>Proof of English language proficiency</strong>, please see detailed instructions and additional information on the&nbsp;<a href=\"https://www.tuni.fi/en/study-with-us/apply-to-tampere-university/applying-to-university-bachelors-programmes/language-requirements\" rel=\"noopener noreferrer\" target=\"_blank\">language requirements&nbsp;webpage</a></li></ul><p>You might also be required to attach a document that demonstrates that you are exempted from paying the tuition fees. Should you be considered a fee-paying student, you will also be asked whether you wish to apply for a scholarship offered within the Tampere University Scholarships Programme and further instructed on the attachments required for the application.</p>"
},
"toimitusaika": "2024-04-03T15:00:00",
"toimitustapa": "lomake"
}
],
"valintakokeet": [],
"hakuajat": [],
"muokkaaja": "1.2.246.562.24.57549617509",
"tarjoaja": "1.2.246.562.10.82941251389",
"organisaatioOid": "1.2.246.562.10.82941251389",
"organisaatioNimi": {
"sv": "Rakennetun ympäristön tiedekunta",
"fi": "Rakennetun ympäristön tiedekunta",
"en": "Faculty of Built Environment"
},
"kielivalinta": [
"en"
],
"modified": "2023-10-30T10:26:15",
"jarjestaaUrheilijanAmmKoulutusta": false,
"uudenOpiskelijanUrl": {
"en": "https://www.tuni.fi/en/students-guide/tampere-university-students-guide/welcome-new-university-students"
},
"paateltyAlkamiskausi": {
"alkamiskausityyppi": "alkamiskausi ja -vuosi",
"source": "1.2.246.562.29.00000000000000045102",
"kausiUri": "kausi_s#1",
"vuosi": "2024"
},
"odwKkTasot": {
"alempiKkAste": true,
"ylempiKkAste": true,
"kkTutkinnonTaso": 3,
"kkTutkinnonTasoSykli": 1
}
},
{
"oid": "1.2.246.562.20.00000000000000045103",
"toteutusOid": "1.2.246.562.17.00000000000000019346",
"hakuOid": "1.2.246.562.29.00000000000000045102",
"tila": "julkaistu",
"nimi": {
"en": "Finnish MAOL competition route, Natural Sciences and Mathematics, Science and Engineering, Bachelor and Master of Science (Technology) (3 + 2 yrs)"
},
"kaytetaanHaunAlkamiskautta": true,
"hakulomakeKuvaus": {},
"hakulomakeLinkki": {
"fi": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045103?lang=fi",
"sv": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045103?lang=sv",
"en": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045103?lang=en"
},
"kaytetaanHaunHakulomaketta": true,
"aloituspaikat": 0,
"painotetutArvosanat": [],
"pohjakoulutusvaatimusKoodiUrit": [
"pohjakoulutusvaatimuskouta_123#1"
],
"muuPohjakoulutusvaatimus": {},
"toinenAsteOnkoKaksoistutkinto": false,
"kaytetaanHaunAikataulua": true,
"valintaperusteId": "f9a52f7f-9b43-4686-bb5d-14436dca96c0",
"valintaperusteValintakokeet": [],
"yhdenPaikanSaanto": {
"voimassa": true,
"syy": "Hakukohde on yhden paikan säännön piirissä"
},
"koulutustyyppikoodi": "koulutustyyppi_3",
"salliikoHakukohdeHarkinnanvaraisuudenKysymisen": false,
"voikoHakukohteessaOllaHarkinnanvaraisestiHakeneita": false,
"liitteetOnkoSamaToimitusaika": false,
"liitteetOnkoSamaToimitusosoite": false,
"liitteet": [
{
"id": "68d9eec4-44be-44cd-9da3-cbf924d5d6b9",
"tyyppi": {
"koodiUri": "liitetyypitamm_3#1",
"nimi": {
"en": "Certificates",
"fi": "Todistukset",
"sv": "Betyg"
}
},
"nimi": {
"en": "Attachments"
},
"kuvaus": {
"en": "<p>You must attach the following documents to your application:</p><ul><li value=\"1\"><strong>The Competition certificate</strong> which demonstrates that you have been ranked in the top 10 in the nationwide MAOL competition in mathematics, physics, chemistry and informatics. Please name the attachment as follows: lastname_firstname_kilp.pdf </li><li value=\"2\"><strong>Proof of English language proficiency</strong>, please see detailed instructions and additional information on the&nbsp;<a href=\"https://www.tuni.fi/en/study-with-us/apply-to-tampere-university/applying-to-university-bachelors-programmes/language-requirements\" rel=\"noopener noreferrer\" target=\"_blank\">language requirements&nbsp;webpage</a></li></ul><p>You might also be required to attach a document that demonstrates that you are exempted from paying the tuition fees. Should you be considered a fee-paying student, you will also be asked whether you wish to apply for a scholarship offered within the Tampere University Scholarships Programme and further instructed on the attachments required for the application.</p>"
},
"toimitusaika": "2024-04-03T15:00:00",
"toimitustapa": "lomake"
}
],
"valintakokeet": [],
"hakuajat": [],
"muokkaaja": "1.2.246.562.24.57549617509",
"tarjoaja": "1.2.246.562.10.61176371294",
"organisaatioOid": "1.2.246.562.10.61176371294",
"organisaatioNimi": {
"fi": "Tekniikan ja luonnontieteiden tiedekunta",
"sv": "Tekniikan ja luonnontieteiden tiedekunta",
"en": "Faculty of Engineering and Natural Sciences"
},
"kielivalinta": [
"en"
],
"modified": "2023-10-30T10:26:25",
"jarjestaaUrheilijanAmmKoulutusta": false,
"uudenOpiskelijanUrl": {
"en": "https://www.tuni.fi/en/students-guide/tampere-university-students-guide/welcome-new-university-students"
},
"paateltyAlkamiskausi": {
"alkamiskausityyppi": "alkamiskausi ja -vuosi",
"source": "1.2.246.562.29.00000000000000045102",
"kausiUri": "kausi_s#1",
"vuosi": "2024"
},
"odwKkTasot": {
"alempiKkAste": true,
"ylempiKkAste": true,
"kkTutkinnonTaso": 3,
"kkTutkinnonTasoSykli": 1
}
},
{
"oid": "1.2.246.562.20.00000000000000045104",
"toteutusOid": "1.2.246.562.17.00000000000000019347",
"hakuOid": "1.2.246.562.29.00000000000000045102",
"tila": "julkaistu",
"nimi": {
"en": "Finnish MAOL competition route, Computing and Electrical Engineering, Science and Engineering, Bachelor and Master of Science (Technology) (3 + 2 yrs)"
},
"kaytetaanHaunAlkamiskautta": true,
"hakulomakeKuvaus": {},
"hakulomakeLinkki": {
"fi": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045104?lang=fi",
"sv": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045104?lang=sv",
"en": "https://untuvaopintopolku.fi/hakemus/hakukohde/1.2.246.562.20.00000000000000045104?lang=en"
},
"kaytetaanHaunHakulomaketta": true,
"aloituspaikat": 0,
"painotetutArvosanat": [],
"pohjakoulutusvaatimusKoodiUrit": [
"pohjakoulutusvaatimuskouta_123#1"
],
"muuPohjakoulutusvaatimus": {},
"toinenAsteOnkoKaksoistutkinto": false,
"kaytetaanHaunAikataulua": true,
"valintaperusteId": "bd1335bc-c70f-4af3-b238-3e49b973fdc3",
"valintaperusteValintakokeet": [],
"yhdenPaikanSaanto": {
"voimassa": true,
"syy": "Hakukohde on yhden paikan säännön piirissä"
},
"koulutustyyppikoodi": "koulutustyyppi_3",
"salliikoHakukohdeHarkinnanvaraisuudenKysymisen": false,
"voikoHakukohteessaOllaHarkinnanvaraisestiHakeneita": false,
"liitteetOnkoSamaToimitusaika": false,
"liitteetOnkoSamaToimitusosoite": false,
"liitteet": [
{
"id": "c332a71c-56d9-4d22-b2fe-5dda56cd7f83",
"tyyppi": {
"koodiUri": "liitetyypitamm_3#1",
"nimi": {
"en": "Certificates",
"fi": "Todistukset",
"sv": "Betyg"
}
},
"nimi": {
"en": "Attachments"
},
"kuvaus": {
"en": "<p>You must attach the following documents to your application:</p><ul><li value=\"1\"><strong>The Competition certificate</strong> which demonstrates that you have been ranked in the top 10 in the nationwide MAOL competition in mathematics, physics, chemistry and informatics. Please name the attachment as follows: lastname_firstname_kilp.pdf </li><li value=\"2\"><strong>Proof of English language proficiency</strong>, please see detailed instructions and additional information on the&nbsp;<a href=\"https://www.tuni.fi/en/study-with-us/apply-to-tampere-university/applying-to-university-bachelors-programmes/language-requirements\" rel=\"noopener noreferrer\" target=\"_blank\">language requirements&nbsp;webpage</a></li></ul><p>You might also be required to attach a document that demonstrates that you are exempted from paying the tuition fees. Should you be considered a fee-paying student, you will also be asked whether you wish to apply for a scholarship offered within the Tampere University Scholarships Programme and further instructed on the attachments required for the application.</p>"
},
"toimitusaika": "2024-04-03T15:00:00",
"toimitustapa": "lomake"
}
],
"valintakokeet": [],
"hakuajat": [],
"muokkaaja": "1.2.246.562.24.57549617509",
"tarjoaja": "1.2.246.562.10.61176371294",
"organisaatioOid": "1.2.246.562.10.61176371294",
"organisaatioNimi": {
"fi": "Tekniikan ja luonnontieteiden tiedekunta",
"sv": "Tekniikan ja luonnontieteiden tiedekunta",
"en": "Faculty of Engineering and Natural Sciences"
},
"kielivalinta": [
"en"
],
"modified": "2023-10-30T10:26:20",
"jarjestaaUrheilijanAmmKoulutusta": false,
"uudenOpiskelijanUrl": {
"en": "https://www.tuni.fi/en/students-guide/tampere-university-students-guide/welcome-new-university-students"
},
"paateltyAlkamiskausi": {
"alkamiskausityyppi": "alkamiskausi ja -vuosi",
"source": "1.2.246.562.29.00000000000000045102",
"kausiUri": "kausi_s#1",
"vuosi": "2024"
},
"odwKkTasot": {
"alempiKkAste": true,
"ylempiKkAste": true,
"kkTutkinnonTaso": 3,
"kkTutkinnonTasoSykli": 1
}
}
]

module.exports = [
{
id: "get-hakukohteet",
url: "/kouta-internal/hakukohde/search",
method: "GET",
variants: [
{
id: "success",
type: "json",
options: {
status: 200,
body: HAKUKOHTEET,
},
},
{
id: "error",
type: "json",
options: {
status: 400,
body: {
message: "Error",
},
},
},
],
}];

50 changes: 50 additions & 0 deletions mocks/routes/kouta/haut.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,56 @@ const HAUT = [
],
"modified": "2023-11-14T13:23:41"
},
{
"oid": "1.2.246.562.29.00000000000000045102",
"hakukohdeOids": [
"1.2.246.562.20.00000000000000045103",
"1.2.246.562.20.00000000000000045104",
"1.2.246.562.20.00000000000000045105"
],
"tila": "julkaistu",
"nimi": {
"en": "Tampere University Separate Admission/ Finnish MAOL Competition Route 2024"
},
"hakutapaKoodiUri": "hakutapa_02",
"alkamiskausiKoodiUri": "kausi_s",
"alkamisvuosi": "2024",
"kohdejoukkoKoodiUri": "haunkohdejoukko_12#1",
"hakulomaketyyppi": "ataru",
"hakulomakeAtaruId": "8cbb5397-3199-4e6f-933c-4065627dc3f3",
"hakulomakeKuvaus": {},
"hakulomakeLinkki": {
"fi": "https://untuvaopintopolku.fi/hakemus/haku/1.2.246.562.29.00000000000000045102?lang=fi",
"sv": "https://untuvaopintopolku.fi/hakemus/haku/1.2.246.562.29.00000000000000045102?lang=sv",
"en": "https://untuvaopintopolku.fi/hakemus/haku/1.2.246.562.29.00000000000000045102?lang=en"
},
"hakuvuosi": 2024,
"hakukausi": "kausi_k#1",
"metadata": {
"yhteyshenkilot": [],
"tulevaisuudenAikataulu": [],
"koulutuksenAlkamiskausi": {
"alkamiskausityyppi": "alkamiskausi ja -vuosi",
"koulutuksenAlkamiskausi": {
"koodiUri": "kausi_s"
},
"koulutuksenAlkamisvuosi": "2024"
}
},
"organisaatioOid": "1.2.246.562.10.79559059674",
"hakuajat": [
{
"alkaa": "2024-03-13T08:00:00",
"paattyy": "2024-03-27T15:00:00"
}
],
"valintakokeet": [],
"muokkaaja": "1.2.246.562.24.57549617509",
"kielivalinta": [
"en"
],
"modified": "2023-10-30T10:34:31"
}
];

module.exports = [
Expand Down
3 changes: 2 additions & 1 deletion src/app/components/haku-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { Link as MuiLink, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@mui/material';
import { Haku, Tila, getAlkamisKausi } from "../lib/kouta";
import { Koodi } from '../lib/koodisto';
import { getTranslation } from '../lib/common';

export const HakuList = ({haut, hakutavat}: {haut : Haku[], hakutavat: Koodi[]}) =>{

Expand All @@ -28,7 +29,7 @@ export const HakuList = ({haut, hakutavat}: {haut : Haku[], hakutavat: Koodi[]})
.map((haku: Haku) => (
<TableRow key={haku.oid}>
<TableCell>
<MuiLink href={`haku/${haku.oid}`}>{haku.nimi.fi}</MuiLink>
<MuiLink href={`haku/${haku.oid}`}>{getTranslation(haku.nimi)}</MuiLink>
</TableCell>
<TableCell>{Tila[haku.tila]}</TableCell>
<TableCell>{getMatchingHakutapa(haku.hakutapaKoodiUri)}</TableCell>
Expand Down
3 changes: 2 additions & 1 deletion src/app/components/haku-selector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { ChangeEvent, useState } from "react";
import { Haku, HaunAlkaminen, Tila, getHakuAlkamisKaudet } from "../lib/kouta";
import { Koodi } from "../lib/koodisto";
import { HakuList } from "./haku-list";
import { getTranslation } from "../lib/common";

const alkamisKausiMatchesSelected = (haku: Haku, selectedAlkamisKausi: HaunAlkaminen): boolean =>
haku.alkamisVuosi === selectedAlkamisKausi.alkamisVuosi && haku.alkamisKausiKoodiUri.startsWith(selectedAlkamisKausi.alkamisKausiKoodiUri);
Expand All @@ -20,7 +21,7 @@ export const HakuSelector = ({haut, hakutavat}: {haut : Haku[], hakutavat: Koodi

const filterHaut = (search: string, tila: Tila, kausi: HaunAlkaminen | undefined, tapa : Koodi | undefined) => {
const filteredValue = haut.filter((haku: Haku) =>
haku.tila == tila && haku.nimi.fi?.toLowerCase().includes(search)
haku.tila == tila && getTranslation(haku.nimi).toLowerCase().includes(search)
&& (!kausi || alkamisKausiMatchesSelected(haku, kausi))
&& (!tapa || haku.hakutapaKoodiUri.startsWith(tapa.koodiUri))
);
Expand Down
Loading

0 comments on commit ba05816

Please sign in to comment.