Skip to content

Commit

Permalink
[Mission] Sauvegarder la mission en cours à l'ajout d'une mission dep…
Browse files Browse the repository at this point in the history
…uis la carte + ajout de l'unité dans l'entête d'une nouvelle mission (#743)

- Resolve #738 
- Resolve #721
  • Loading branch information
claire2212 authored Aug 10, 2023
2 parents c96de9d + 0fef8c6 commit c589c52
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
15 changes: 15 additions & 0 deletions frontend/src/domain/use_cases/missions/addMission.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,25 @@ import { multiMissionsActions } from '../../shared_slices/MultiMissions'

export const addMission = () => async (dispatch, getState) => {
const {
missionState: { isFormDirty, missionState },
multiMissions: { selectedMissions }
} = getState()
const missions = [...selectedMissions]

if (missionState) {
const selectedMissionIndex = missions.findIndex(mission => mission.mission.id === missionState.id)

const missionFormatted = {
isFormDirty,
mission: missionState
}

if (selectedMissionIndex !== -1) {
missions[selectedMissionIndex] = missionFormatted
} else {
missions.push(missionFormatted)
}
}
const maxNewMissionId = _.chain(missions)
.filter(newMission => isNewMission(newMission.mission.id))
.maxBy(filteredNewMission => Number(filteredNewMission?.mission?.id?.split('new-')[1]))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export function SurveillanceForm({ currentActionIndex, remove, setCurrentActionI
<Form.ControlLabel>Début et fin de surveillance (UTC)</Form.ControlLabel>
<StyledDatePickerContainer>
<StyledFormikDatePicker
key={`start-date-${durationMatchMissionField.value}`}
baseContainer={newWindowContainerRef.current}
data-cy="surveillance-start-date-time"
disabled={!!durationMatchMissionField.value}
Expand All @@ -77,6 +78,7 @@ export function SurveillanceForm({ currentActionIndex, remove, setCurrentActionI
withTime
/>
<StyledFormikDatePicker
key={`end-date-${durationMatchMissionField.value}`}
baseContainer={newWindowContainerRef.current}
data-cy="surveillance-end-date-time"
disabled={!!durationMatchMissionField.value}
Expand Down
5 changes: 4 additions & 1 deletion frontend/src/utils/getMissionTitle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { missionTypeEnum, type Mission } from '../domain/entities/missions'

export function getMissionTitle(isNewMission: boolean, values?: Partial<Mission>) {
return isNewMission
? 'Nouvelle mission'
? `Nouvelle mission ${
values?.controlUnits && values?.controlUnits.length > 0 && values?.controlUnits[0]?.name ? '-' : ''
} ${values?.controlUnits?.map(controlUnit => controlUnit.name).join(', ')}
`
: `Mission ${
values?.missionTypes &&
values?.missionTypes.map(missionType => missionTypeEnum[missionType].libelle).join(' / ')
Expand Down

0 comments on commit c589c52

Please sign in to comment.