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

Commit

Permalink
AE-1987: If recipient didn't answer, related fields are marked as opt…
Browse files Browse the repository at this point in the history
…ional in schema and hidden in UI for käskypäätös / varsinainen päätös toimenpidetype
  • Loading branch information
Juholei committed Oct 6, 2023
1 parent 7d1b92b commit 2bd1fb7
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 94 deletions.
179 changes: 90 additions & 89 deletions src/pages/valvonta-kaytto/new-actual-decision-toimenpide.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -100,112 +100,113 @@
items={[true, false]} />
</div>

<div class="w-full py-4">
<Textarea
id={'toimenpide.answer-commentary-fi'}
name={'toimenpide.answer-commentary-fi'}
label={text(toimenpide, 'answer-commentary-fi')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-fi'
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
{#if R.path(['type-specific-data', 'osapuoli-specific-data', courtDataIndexForOsapuoli(osapuoli.id), 'recipient-answered'], toimenpide)}
<div class="w-full py-4">
<Textarea
id={'toimenpide.answer-commentary-fi'}
name={'toimenpide.answer-commentary-fi'}
label={text(toimenpide, 'answer-commentary-fi')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-fi'
],
schema
)}
{i18n} />
</div>

<div class="w-full py-4">
<Textarea
id={'toimenpide.answer-commentary-sv'}
name={'toimenpide.answer-commentary-sv'}
label={text(toimenpide, 'answer-commentary-sv')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-sv'
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-fi'
],
schema
)}
{i18n} />
</div>
<div class="w-full py-4">
<Textarea
id={'toimenpide.answer-commentary-sv'}
name={'toimenpide.answer-commentary-sv'}
label={text(toimenpide, 'answer-commentary-sv')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-sv'
],
schema
)}
{i18n} />
</div>
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'answer-commentary-sv'
],
schema
)}
{i18n} />
</div>

<div class="w-full py-4">
<Textarea
id={'toimenpide.statement-fi'}
name={'toimenpide.statement-fi'}
label={text(toimenpide, 'statement-fi')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-fi'
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
<div class="w-full py-4">
<Textarea
id={'toimenpide.statement-fi'}
name={'toimenpide.statement-fi'}
label={text(toimenpide, 'statement-fi')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-fi'
],
schema
)}
{i18n} />
</div>
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-fi'
],
schema
)}
{i18n} />
</div>

<div class="w-full py-4">
<Textarea
id={'toimenpide.statement-sv'}
name={'toimenpide.statement-sv'}
label={text(toimenpide, 'statement-sv')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-sv'
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
<div class="w-full py-4">
<Textarea
id={'toimenpide.statement-sv'}
name={'toimenpide.statement-sv'}
label={text(toimenpide, 'statement-sv')}
bind:model={toimenpide}
lens={R.lensPath([
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-sv'
],
schema
)}
{i18n} />
</div>
])}
required
format={Maybe.orSome('')}
parse={Parsers.optionalString}
validators={R.path(
[
'type-specific-data',
'osapuoli-specific-data',
courtDataIndexForOsapuoli(osapuoli.id),
'statement-sv'
],
schema
)}
{i18n} />
</div>
{/if}
{/each}
</div>
24 changes: 19 additions & 5 deletions src/pages/valvonta-kaytto/schema.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,30 +121,44 @@ export const toimenpidePublish = (templates, toimenpide) =>
],
toimenpide
);
// TODO: Siisti toisteisuus, pakollisuudet kentille sen perusteella saatiinko vastaus

const recipientAnswered = R.path(
[
'type-specific-data',
'osapuoli-specific-data',
index,
'recipient-answered'
],
toimenpide
);
// TODO: Siisti toisteisuus
return R.compose(
R.over(
R.lensProp('statement-sv'),
addRequiredValidator(
Toimenpiteet.isDecisionOrderActualDecision(toimenpide)
Toimenpiteet.isDecisionOrderActualDecision(toimenpide) &&
recipientAnswered
)
),
R.over(
R.lensProp('statement-fi'),
addRequiredValidator(
Toimenpiteet.isDecisionOrderActualDecision(toimenpide)
Toimenpiteet.isDecisionOrderActualDecision(toimenpide) &&
recipientAnswered
)
),
R.over(
R.lensProp('answer-commentary-sv'),
addRequiredValidator(
Toimenpiteet.isDecisionOrderActualDecision(toimenpide)
Toimenpiteet.isDecisionOrderActualDecision(toimenpide) &&
recipientAnswered
)
),
R.over(
R.lensProp('answer-commentary-fi'),
addRequiredValidator(
Toimenpiteet.isDecisionOrderActualDecision(toimenpide)
Toimenpiteet.isDecisionOrderActualDecision(toimenpide) &&
recipientAnswered
)
),
R.over(
Expand Down

0 comments on commit 2bd1fb7

Please sign in to comment.