Skip to content

Commit

Permalink
ikke vis kontrollsamtale forms hvis dem ikke kan gjøre endringer
Browse files Browse the repository at this point in the history
  • Loading branch information
RamziAbuQassim committed Jun 5, 2024
1 parent 4d4161f commit 0f13b04
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 69 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,6 @@
flex-direction: column;
gap: @spacing-s;
align-items: flex-start;

.journalpostInputLabel {
display: flex;
gap: @spacing-xxs;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as RemoteData from '@devexperts/remote-data-ts';
import { yupResolver } from '@hookform/resolvers/yup';
import { ExternalLinkIcon, PencilWritingIcon } from '@navikt/aksel-icons';
import { BodyShort, Button, HelpText, Label, Modal, Select, TextField } from '@navikt/ds-react';
import { BodyShort, Button, Label, Modal, Select, TextField } from '@navikt/ds-react';
import { useEffect, useState } from 'react';
import { Controller, useForm } from 'react-hook-form';
import { useNavigate } from 'react-router-dom';
Expand Down Expand Up @@ -161,7 +161,11 @@ const EditStatusTextHelper = (props: { kontrollsamtale: Kontrollsamtale }) => {
<ul>
{props.kontrollsamtale.lovligeStatusovergangerForSaksbehandler
.filter((status) => status !== KontrollsamtaleStatus.ANNULLERT)
.map((status) => kontrollsamtaleStatusTextMapper(status))}
.map((status, idx) => (
<BodyShort key={`${status}-${idx}`}>
- {kontrollsamtaleStatusTextMapper(status)}
</BodyShort>
))}
</ul>
{kanAnnulleres && (
<BodyShort>
Expand Down Expand Up @@ -200,6 +204,11 @@ const EditKontrollsamtaleStatusOgJournalpostId = (props: {
resolver: yupResolver(oppdaterKontrollsamtaleStatusOgJournalpostIdFormDataSchema),
});

const kanOppdatereKontrollsamtale =
props.kontrollsamtaleSomSkalEndres.lovligeStatusovergangerForSaksbehandler.filter(
(status) => status !== KontrollsamtaleStatus.ANNULLERT,
).length > 1;

return (
<Modal
aria-labelledby="Endrer status på kontrollsamtale"
Expand Down Expand Up @@ -231,50 +240,50 @@ const EditKontrollsamtaleStatusOgJournalpostId = (props: {
>
<EditStatusTextHelper kontrollsamtale={props.kontrollsamtaleSomSkalEndres} />

<Controller
control={form.control}
name={'status'}
render={({ field, fieldState }) => (
<Select
{...field}
label={'Kontrollsamtalestatus'}
error={fieldState.error?.message}
value={field.value ?? ''}
>
<option value="">Velg et alternativ</option>
{Object.values(KontrollsamtaleFormStatus).map((grunn) => (
<option value={grunn} key={grunn}>
{kontrollsamtaleStatusTextMapper(grunn)}
</option>
))}
</Select>
)}
/>
<Controller
control={form.control}
name={'journalpostId'}
render={({ field, fieldState }) => (
<TextField
label={
<div className={styles.journalpostInputLabel}>
<BodyShort>Kontrollnotatets journalpost-id</BodyShort>
<HelpText>
Journalpost-id er kun påkrevd dersom kontrollsamtale statusen er gjennomført
</HelpText>
</div>
}
error={fieldState.error?.message}
{...field}
/>
)}
/>
{kanOppdatereKontrollsamtale && (
<Controller
control={form.control}
name={'status'}
render={({ field, fieldState }) => (
<Select
{...field}
label={'Kontrollsamtalestatus'}
error={fieldState.error?.message}
value={field.value ?? ''}
>
<option value="">Velg et alternativ</option>
{Object.values(KontrollsamtaleFormStatus).map((grunn) => (
<option value={grunn} key={grunn}>
{kontrollsamtaleStatusTextMapper(grunn)}
</option>
))}
</Select>
)}
/>
)}

{form.watch('status') === KontrollsamtaleFormStatus.GJENNOMFØRT && (
<Controller
control={form.control}
name={'journalpostId'}
render={({ field, fieldState }) => (
<TextField
label="Kontrollnotatets journalpost-id"
error={fieldState.error?.message}
{...field}
/>
)}
/>
)}
{RemoteData.isFailure(oppdaterStatus) && <ApiErrorAlert error={oppdaterStatus.error} />}
<div className={styles.buttonsContainer}>
<Button type="button" variant="secondary" onClick={() => props.onClose()}>
Avbryt
</Button>
<Button>Oppdater kontrollsamtale</Button>
</div>
{kanOppdatereKontrollsamtale && (
<div className={styles.buttonsContainer}>
<Button type="button" variant="secondary" onClick={() => props.onClose()}>
Avbryt
</Button>
<Button>Oppdater kontrollsamtale</Button>
</div>
)}
</form>
</Modal.Body>
</Modal>
Expand Down Expand Up @@ -364,26 +373,30 @@ const EditKontrollsamtaleInnkallingsdato = (props: {
<Label>Datoen for innkalling kan kun oppdateres dersom kontrollsamtalen er planlagt.</Label>
)}

<Controller
control={form.control}
name={'innkallingsmåned'}
render={({ field, fieldState }) => (
<MonthPicker
label={'Innkallingsdato'}
hjelpetekst="Innkallingsdatoen må være innenfor ytterpunktene av en eller flere stønadsperioder. I tillegg, må den tidligst være neste måned"
value={field.value}
onChange={field.onChange}
error={fieldState.error?.message}
{!props.kontrollsamtaleSomSkalEndres.kanOppdatereInnkallingsmåned && (
<>
<Controller
control={form.control}
name={'innkallingsmåned'}
render={({ field, fieldState }) => (
<MonthPicker
label={'Innkallingsdato'}
hjelpetekst="Innkallingsdatoen må være innenfor ytterpunktene av en eller flere stønadsperioder. I tillegg, må den tidligst være neste måned"
value={field.value}
onChange={field.onChange}
error={fieldState.error?.message}
/>
)}
/>
)}
/>
{RemoteData.isFailure(oppdaterStatus) && <ApiErrorAlert error={oppdaterStatus.error} />}
<div className={styles.buttonsContainer}>
<Button type="button" variant="secondary" onClick={() => props.onClose()}>
Avbryt
</Button>
<Button>Oppdater kontrollsamtale</Button>
</div>
{RemoteData.isFailure(oppdaterStatus) && <ApiErrorAlert error={oppdaterStatus.error} />}
<div className={styles.buttonsContainer}>
<Button type="button" variant="secondary" onClick={() => props.onClose()}>
Avbryt
</Button>
<Button>Oppdater kontrollsamtale</Button>
</div>
</>
)}
</form>
</Modal.Body>
</Modal>
Expand Down

0 comments on commit 0f13b04

Please sign in to comment.