diff --git a/src/language/fi.json b/src/language/fi.json
index 4e575396..9f01a890 100644
--- a/src/language/fi.json
+++ b/src/language/fi.json
@@ -1967,7 +1967,7 @@
},
"decision-order-notice-bailiff": {
"title": "Tiedoksianto haastemiehelle",
- "info": "Käskypäätös toimitetaan haastemiehen välityksellä. Vastaamo hoitaa tiedoksiannon haastemiehelle.",
+ "info": "Käskypäätös toimitetaan kirjaamon kautta haastemiehelle, jos toinen postitus palautuu takaisin.",
"description": "Kommentti",
"publish-button": "Luo toimenpide",
"district-court": "Käräjäoikeus",
@@ -2023,6 +2023,14 @@
"description": "Kommentti",
"publish-button": "Luo toimenpide"
},
+ "penalty-decision-notice-bailiff": {
+ "title": "Tiedoksianto haastemiehelle",
+ "info": "Sakkopäätös toimitetaan kirjaamon kautta haastemiehelle, jos toinen postitus palautuu takaisin.",
+ "description": "Kommentti",
+ "publish-button": "Luo toimenpide",
+ "district-court": "Käräjäoikeus",
+ "bailiff-email": "Haastemiehen sähköpostiosoite"
+ },
"penalty-decision-waiting-for-deadline": {
"title": "Sakkopäätös / Valitusajan odotus ja umpeutuminen",
"info": "Rakennuksen omistajilla on mahdollisuus valittaa sakkopäätöksestä hallinto-oikeuteen. Valitusajan umpeuduttua tiedustellaan HaO:lta sähköpostitse, onko sakkopäätöksestä valitettu.",
diff --git a/src/language/sv.json b/src/language/sv.json
index 7d3f8c31..e888f362 100644
--- a/src/language/sv.json
+++ b/src/language/sv.json
@@ -1951,7 +1951,7 @@
},
"decision-order-notice-bailiff": {
"title": "Tiedoksianto haastemiehelle (sv)",
- "info": "Käskypäätös toimitetaan haastemiehen välityksellä. Vastaamo hoitaa tiedoksiannon haastemiehelle. (sv)",
+ "info": "Käskypäätös toimitetaan kirjaamon kautta haastemiehelle, jos toinen postitus palautuu takaisin. (sv)",
"description": "Kommentti (sv)",
"publish-button": "Luo toimenpide (sv)",
"district-court": "Käräjäoikeus (sv)",
@@ -2007,6 +2007,14 @@
"description": "Kommentti (sv)",
"publish-button": "Luo toimenpide (sv)"
},
+ "penalty-decision-notice-bailiff": {
+ "title": "Tiedoksianto haastemiehelle (sv)",
+ "info": "Sakkopäätös toimitetaan kirjaamon kautta haastemiehelle, jos toinen postitus palautuu takaisin. (sv)",
+ "description": "Kommentti (sv)",
+ "publish-button": "Luo toimenpide (sv)",
+ "district-court": "Käräjäoikeus (sv)",
+ "bailiff-email": "Haastemiehen sähköpostiosoite (sv)"
+ },
"penalty-decision-waiting-for-deadline": {
"title": "Sakkopäätös / Valitusajan odotus ja umpeutuminen (sv)",
"info": "Rakennuksen omistajilla on mahdollisuus valittaa sakkopäätöksestä hallinto-oikeuteen. Valitusajan umpeuduttua tiedustellaan HaO:lta sähköpostitse, onko sakkopäätöksestä valitettu. (sv)",
diff --git a/src/pages/valvonta-kaytto/notice-bailiff-osapuolet-table.svelte b/src/pages/valvonta-kaytto/notice-bailiff-osapuolet-table.svelte
index 18e51b8a..aee865cf 100644
--- a/src/pages/valvonta-kaytto/notice-bailiff-osapuolet-table.svelte
+++ b/src/pages/valvonta-kaytto/notice-bailiff-osapuolet-table.svelte
@@ -201,16 +201,18 @@
{i18n(i18nRoot + '.fyi-disabled')}
{/if}
-
+ |
{#if Osapuolet.isOmistaja(osapuoli)}
-
+
+
+
{/if}
|
diff --git a/src/pages/valvonta-kaytto/toimenpiteet.js b/src/pages/valvonta-kaytto/toimenpiteet.js
index fd4202dd..17ef5982 100644
--- a/src/pages/valvonta-kaytto/toimenpiteet.js
+++ b/src/pages/valvonta-kaytto/toimenpiteet.js
@@ -31,6 +31,7 @@ export const type = {
'actual-decision': 15,
'notice-first-mailing': 16,
'notice-second-mailing': 17,
+ 'notice-bailiff': 18,
'waiting-for-deadline': 19
},
'penalty-list-delivery-in-progress': 21
@@ -44,7 +45,7 @@ export const isType = R.propEq('type-id');
const isDeadlineType = R.includes(
R.__,
- [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19]
+ [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19]
);
export const hasDeadline = R.propSatisfies(isDeadlineType, 'type-id');
@@ -62,6 +63,7 @@ const defaultDeadlineForTypeId = typeId => {
return Maybe.Some(dfns.addWeeks(new Date(), 2));
case R.path(['decision-order', 'notice-bailiff'], type):
case R.path(['decision-order', 'waiting-for-deadline'], type):
+ case R.path(['penalty-decision', 'notice-bailiff'], type):
case R.path(['penalty-decision', 'waiting-for-deadline'], type):
return Maybe.Some(dfns.addDays(new Date(), 30));
case R.path(['decision-order', 'actual-decision'], type):
@@ -195,6 +197,23 @@ export const emptyToimenpide = (
},
toimenpide
);
+
+ case R.path(['penalty-decision', 'notice-bailiff'], type):
+ return R.assoc(
+ 'type-specific-data',
+ {
+ 'osapuoli-specific-data': R.map(
+ osapuoliId => ({
+ 'osapuoli-id': osapuoliId,
+ 'karajaoikeus-id': Maybe.None(),
+ 'haastemies-email': Maybe.None(),
+ document: true
+ }),
+ osapuoliIds
+ )
+ },
+ toimenpide
+ );
default:
return toimenpide;
}
@@ -263,9 +282,10 @@ export const isDecisionOrderActualDecision = isType(
R.path(['decision-order', 'actual-decision'], type)
);
-export const isNoticeBailiff = isType(
- R.path(['decision-order', 'notice-bailiff'], type)
-);
+export const isNoticeBailiff = R.anyPass([
+ isType(R.path(['penalty-decision', 'notice-bailiff'], type)),
+ isType(R.path(['decision-order', 'notice-bailiff'], type))
+]);
export const isDecisionOrderHearingLetter = isType(
R.path(['decision-order', 'hearing-letter'], type)
diff --git a/src/pages/valvonta-kaytto/toimenpiteet_test.js b/src/pages/valvonta-kaytto/toimenpiteet_test.js
index 48db39a6..a20efc83 100644
--- a/src/pages/valvonta-kaytto/toimenpiteet_test.js
+++ b/src/pages/valvonta-kaytto/toimenpiteet_test.js
@@ -38,8 +38,8 @@ describe('Toimenpiteet: ', () => {
});
});
- it('is by default 30 day for types 11 and 19', () => {
- [11, 19].forEach(typeId => {
+ it('is by default 30 day for types 11, 18 and 19', () => {
+ [11, 18, 19].forEach(typeId => {
assert.isTrue(
dfns.isSameDay(
dfns.addDays(new Date(), 30),
@@ -163,6 +163,7 @@ describe('Sakkopäätös / tiedoksianto (toinen postitus)', () => {
assert.isTrue(Toimenpiteet.hasDeadline({ 'type-id': 17 }));
});
});
+
describe('Sakkopäätös / Valitusajan odotus ja umpeutuminen', () => {
it('id is mapped correctly to the type key', () => {
assert.equal(
@@ -176,11 +177,22 @@ describe('Sakkopäätös / Valitusajan odotus ja umpeutuminen', () => {
});
});
+describe('Sakkopäätös / Tiedoksianto (Haastemies)', () => {
+ it('id is mapped correctly to the type key', () => {
+ assert.equal('penalty-decision-notice-bailiff', Toimenpiteet.typeKey(18));
+ });
+
+ it('is a type with a deadline', () => {
+ assert.isTrue(Toimenpiteet.hasDeadline({ 'type-id': 18 }));
+ });
+});
+
describe('Sakkoluettelon lähetys menossa', () => {
it('id is mapped correctly to the type key', () => {
assert.equal('penalty-list-delivery-in-progress', Toimenpiteet.typeKey(21));
});
});
+
describe('Given toimenpidetypes', () => {
it('find the ids of manually deliverable types', () => {
assert.deepEqual(
@@ -635,3 +647,28 @@ describe('toimenpideForOsapuoli', () => {
});
});
});
+
+describe('isNoticeBailiff', () => {
+ it('returns true for typeId 11', () => {
+ const kaskypaatosNoticeBailiffToimenpide = Toimenpiteet.emptyToimenpide(
+ 11,
+ [{}]
+ );
+ assert.isTrue(
+ Toimenpiteet.isNoticeBailiff(kaskypaatosNoticeBailiffToimenpide)
+ );
+ });
+ it('returns true for typeId 18', () => {
+ const sakkopaatosNoticeBailiffToimenpide = Toimenpiteet.emptyToimenpide(
+ 18,
+ [{}]
+ );
+ assert.isTrue(
+ Toimenpiteet.isNoticeBailiff(sakkopaatosNoticeBailiffToimenpide)
+ );
+ });
+ it('returns false for some other typeId than 11 or 18', () => {
+ const someOtherToimenpide = Toimenpiteet.emptyToimenpide(7, [{}]);
+ assert.isFalse(Toimenpiteet.isNoticeBailiff(someOtherToimenpide));
+ });
+});