Skip to content
This repository has been archived by the owner on Jan 2, 2024. It is now read-only.

Commit

Permalink
AE-1961: Refactor emptyToimenpide to take a list of osapuolet instead…
Browse files Browse the repository at this point in the history
… of osaPuoliIds as optional default value parameter and use fill the name of the osapuoli to Swedish statement default value
  • Loading branch information
Juholei committed Nov 2, 2023
1 parent ed18fda commit 059d05e
Show file tree
Hide file tree
Showing 6 changed files with 97 additions and 26 deletions.
20 changes: 19 additions & 1 deletion src/language/fi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1991,7 +1991,25 @@
"info": "Rakennuksen omistaja ei ole vastannut kuulemiskirjeeseen tai perustellut riittävästi energiatodistuksen puuttumista, joten tehdään uhkasakkopäätös. Sakkopäätöksen allekirjoitus tapahtuu tämän järjestelmän ulkopuolella.",
"description": "Kommentti",
"fine": "Sakon suuruus €",
"publish-button": "Luo toimenpide"
"publish-button": "Luo toimenpide",
"osapuoli-specific-data": "Osapuolikohtaiset tiedot",
"document": "Osapuolelle toimitetaan dokumentti",
"preview-button": "Esikatsele osapuolen dokumentti",
"hearing-letter-answered": {
"label": "Omistaja vastasi kuulemiskirjeeseen",
"true": "Asianosainen antoi vastineen kuulemiskirjeeseen",
"false": "Asianosainen ei vastannut kuulemiskirjeeseen"
},
"answer-commentary-fi": "Vastineen kommentit, suomi",
"answer-commentary-sv": "Vastineen kommentit, ruotsi",
"statement-fi": "Kannanotto vastineeseen, suomi",
"statement-sv": "Kannanotto vastineeseen, ruotsi",
"court": "Hallinto-oikeus",
"department-head-title-fi": "Yksikön päällikön titteli, suomi",
"department-head-title-sv": "Yksikön päällikön titteli, ruotsi",
"department-head-name": "Yksikön päällikön nimi",
"default-statement-fi": "ARAn päätökseen ei ole haettu muutosta, eli päätös on lainvoimainen. Maksuun tuomittavan uhkasakon määrä on sama kuin mitä se on ollut ARAn päätöksessä. ARAn näkemyksen mukaan uhkasakko tuomitaan maksuun täysimääräisenä, koska Asianosainen ei ole noudattanut päävelvoitetta lainkaan, eikä ole myöskään esittänyt noudattamatta jättämiselle pätevää syytä.",
"default-statement-sv": "Ändring i ARAs beslut har inte sökts, dvs. beslutet har vunnit laga kraft. Vitesbeloppet som döms ut är detsamma som det var i ARAs beslut. Enligt ARAs uppfattning döms vitet ut till fullt belopp, eftersom %s inte alls har iakttagit huvudförpliktelsen och inte heller har angett någon giltig orsak till försummelsen."
},
"penalty-decision-notice-first-mailing": {
"title": "Sakkopäätös tiedoksianto / (ensimmäinen postitus)",
Expand Down
20 changes: 19 additions & 1 deletion src/language/sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -1975,7 +1975,25 @@
"info": "Rakennuksen omistaja ei ole vastannut kuulemiskirjeeseen tai perustellut riittävästi energiatodistuksen puuttumista, joten tehdään uhkasakkopäätös. Sakkopäätöksen allekirjoitus tapahtuu tämän järjestelmän ulkopuolella. (sv)",
"description": "Kommentti (sv)",
"fine": "Sakon suuruus € (sv)",
"publish-button": "Luo toimenpide (sv)"
"publish-button": "Luo toimenpide (sv)",
"osapuoli-specific-data": "Osapuolikohtaiset tiedot (sv)",
"document": "Osapuolelle toimitetaan dokumentti (sv)",
"preview-button": "Esikatsele osapuolen dokumentti (sv)",
"hearing-letter-answered": {
"label": "Omistaja vastasi kuulemiskirjeeseen (sv)",
"true": "Kyllä (sv)",
"false": "Ei (sv)"
},
"answer-commentary-fi": "Vastineen kommentit, suomi (sv)",
"answer-commentary-sv": "Vastineen kommentit, ruotsi (sv)",
"statement-fi": "Kannanotto vastineeseen, suomi (sv)",
"statement-sv": "Kannanotto vastineeseen, ruotsi (sv)",
"court": "Hallinto-oikeus (sv)",
"department-head-title-fi": "Yksikön päällikön titteli, suomi (sv)",
"department-head-title-sv": "Yksikön päällikön titteli, ruotsi (sv)",
"department-head-name": "Yksikön päällikön nimi (sv)",
"default-statement-fi": "ARAn päätökseen ei ole haettu muutosta, eli päätös on lainvoimainen. Maksuun tuomittavan uhkasakon määrä on sama kuin mitä se on ollut ARAn päätöksessä. ARAn näkemyksen mukaan uhkasakko tuomitaan maksuun täysimääräisenä, koska Asianosainen ei ole noudattanut päävelvoitetta lainkaan, eikä ole myöskään esittänyt noudattamatta jättämiselle pätevää syytä.",
"default-statement-sv": "Ändring i ARAs beslut har inte sökts, dvs. beslutet har vunnit laga kraft. Vitesbeloppet som döms ut är detsamma som det var i ARAs beslut. Enligt ARAs uppfattning döms vitet ut till fullt belopp, eftersom %s inte alls har iakttagit huvudförpliktelsen och inte heller har angett någon giltig orsak till försummelsen."
},
"penalty-decision-notice-first-mailing": {
"title": "Sakkopäätös tiedoksianto / (ensimmäinen postitus) (sv)",
Expand Down
36 changes: 28 additions & 8 deletions src/pages/valvonta-kaytto/manager.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,15 @@
departmentHeadName: johtaja['department-head-name'],
departmentHeadTitleFi: johtaja['department-head-title-fi'],
departmentHeadTitleSv: johtaja['department-head-title-sv'],
osapuoliIds: R.map(
R.prop('id'),
R.filter(Osapuolet.isOmistaja, R.concat(henkilot, yritykset))
)
osapuolis: R.filter(Osapuolet.isOmistaja, R.concat(henkilot, yritykset))
};
} else if (
Toimenpiteet.isNoticeBailiff({
'type-id': toimenpideTypeId
})
) {
return {
osapuoliIds: R.map(
R.prop('id'),
R.filter(Osapuolet.isOmistaja, R.concat(henkilot, yritykset))
)
osapuolis: R.filter(Osapuolet.isOmistaja, R.concat(henkilot, yritykset))
};
} else if (
Toimenpiteet.isPenaltyDecisionHearingLetter({
Expand All @@ -84,6 +78,32 @@
toimenpiteet
)
};
} else if (
Toimenpiteet.isPenaltyDecisionActualDecision({
'type-id': toimenpideTypeId
})
) {
{
return {
fine: Toimenpiteet.findFineFromToimenpiteet(
Toimenpiteet.isPenaltyDecisionHearingLetter,
toimenpiteet
),
departmentHeadName: johtaja['department-head-name'],
departmentHeadTitleFi: johtaja['department-head-title-fi'],
departmentHeadTitleSv: johtaja['department-head-title-sv'],
osapuolis: R.filter(
Osapuolet.isOmistaja,
R.concat(henkilot, yritykset)
),
defaultStatementFi: i18n(
'valvonta.kaytto.toimenpide.penalty-decision-actual-decision.default-statement-fi'
),
defaultStatementSv: i18n(
'valvonta.kaytto.toimenpide.penalty-decision-actual-decision.default-statement-sv'
)
};
}
} else {
return undefined;
}
Expand Down
27 changes: 19 additions & 8 deletions src/pages/valvonta-kaytto/toimenpiteet.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export const emptyToimenpide = (
departmentHeadTitleFi = null,
departmentHeadTitleSv = null,
departmentHeadName = null,
osapuoliIds = [],
osapuolis = [],
defaultStatementFi = null,
defaultStatementSv = null
} = {}
Expand All @@ -113,6 +113,8 @@ export const emptyToimenpide = (
description: Maybe.None()
};

const osapuoliIds = R.map(R.prop('id'), osapuolis);

switch (typeId) {
case R.path(['decision-order', 'hearing-letter'], type):
case R.path(['penalty-decision', 'hearing-letter'], type):
Expand Down Expand Up @@ -168,19 +170,24 @@ export const emptyToimenpide = (
'type-specific-data',
{
fine: Maybe.Some(fine),
'osapuoli-specific-data': R.map(
osapuoliId => ({
'osapuoli-id': osapuoliId,
'osapuoli-specific-data': R.map(osapuoli => {
const nameForSwedishStatement =
R.prop('sukunimi', osapuoli) || R.prop('nimi', osapuoli);

return {
'osapuoli-id': R.prop('id', osapuoli),
'recipient-answered': false,
'answer-commentary-fi': Maybe.None(),
'answer-commentary-sv': Maybe.None(),
'statement-fi': Maybe.fromNull(defaultStatementFi),
'statement-sv': Maybe.fromNull(defaultStatementSv),
'statement-sv': R.map(
R.replace('%s', nameForSwedishStatement),
Maybe.fromNull(defaultStatementSv)
),
'hallinto-oikeus-id': Maybe.None(),
document: true
}),
osapuoliIds
),
};
}, osapuolis),
'department-head-title-fi': Maybe.fromNull(departmentHeadTitleFi),
'department-head-title-sv': Maybe.fromNull(departmentHeadTitleSv),
'department-head-name': Maybe.fromNull(departmentHeadName)
Expand Down Expand Up @@ -275,6 +282,10 @@ export const isPenaltyDecisionHearingLetter = isType(
R.path(['penalty-decision', 'hearing-letter'], type)
);

export const isPenaltyDecisionActualDecision = isType(
R.path(['penalty-decision', 'actual-decision'], type)
);

/**
* Given an array of toimenpide objects, returns the fine found using the toimenpidetype predicate function parameter
* @param {Function} toimenpidetypePredicate
Expand Down
18 changes: 11 additions & 7 deletions src/pages/valvonta-kaytto/toimenpiteet_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ describe('Empty toimenpide', () => {

it('Contains correct keys for toimenpidetype 8', () => {
const emptyToimenpide = Toimenpiteet.emptyToimenpide(8, [{}], {
osapuoliIds: [1, 7]
osapuolis: [{ id: 1 }, { id: 7 }]
});
assert.deepEqual(Object.keys(emptyToimenpide), [
'type-id',
Expand Down Expand Up @@ -411,9 +411,13 @@ describe('Empty toimenpide', () => {

it('Contains correct keys and default values for toimenpidetype 15', () => {
const emptyToimenpide = Toimenpiteet.emptyToimenpide(15, [{}], {
osapuoliIds: [1, 7],
osapuolis: [
{ id: 1, sukunimi: 'Mallinen' },
{ id: 7, nimi: 'Yritys' }
],
defaultStatementFi: 'Statementin default-arvo voidaan antaa parametrina',
defaultStatementSv: 'Standardvärdet för satsen kan anges som en parameter'
defaultStatementSv:
'Ruotsinkieliselle statementille voi antaa %s käyttäen kohdan mihin täydennetään osapuolen sukunimi tai yrityksen nimi'
});
assert.deepEqual(Object.keys(emptyToimenpide), [
'type-id',
Expand Down Expand Up @@ -449,7 +453,7 @@ describe('Empty toimenpide', () => {
'Statementin default-arvo voidaan antaa parametrina'
),
'statement-sv': Maybe.Some(
'Standardvärdet för satsen kan anges som en parameter'
'Ruotsinkieliselle statementille voi antaa Mallinen käyttäen kohdan mihin täydennetään osapuolen sukunimi tai yrityksen nimi'
)
},
{
Expand All @@ -463,7 +467,7 @@ describe('Empty toimenpide', () => {
'Statementin default-arvo voidaan antaa parametrina'
),
'statement-sv': Maybe.Some(
'Standardvärdet för satsen kan anges som en parameter'
'Ruotsinkieliselle statementille voi antaa Yritys käyttäen kohdan mihin täydennetään osapuolen sukunimi tai yrityksen nimi'
)
}
]
Expand Down Expand Up @@ -582,7 +586,7 @@ describe('documentExistsForOsapuoli', () => {
}
],
Toimenpiteet.emptyToimenpide(8, [], {
osapuoliIds: [1, 3, 7]
osapuolis: [{ id: 1 }, { id: 3 }, { id: 7 }]
})
);

Expand All @@ -596,7 +600,7 @@ describe('documentExistsForOsapuoli', () => {
describe('toimenpideForOsapuoli', () => {
it('returns the original toimenpide object but with the osapuoli-specific-data for other osapuolis removed', () => {
const toimenpide = Toimenpiteet.emptyToimenpide(8, [], {
osapuoliIds: [1, 3, 7]
osapuolis: [{ id: 1 }, { id: 3 }, { id: 7 }]
});

const result = Toimenpiteet.toimenpideForOsapuoli(toimenpide, 3);
Expand Down
2 changes: 1 addition & 1 deletion src/pages/valvonta-kaytto/valvonta-api_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ describe('Valvonta API test', () => {

it('for käskypäätös / varsinainen päätös', () => {
const toimenpide = Toimenpiteet.emptyToimenpide(8, [], {
osapuoliIds: [1]
osapuolis: [{ id: 1 }]
});

assert.deepEqual(
Expand Down

0 comments on commit 059d05e

Please sign in to comment.