Skip to content

Commit abe93a2

Browse files
Merge pull request #5867 from espoon-voltti/hoh-children-modified-metadata
Päämiehen tiedot: Päämiehen alaiset lapset: esim. lisää lapsi: kuka muokannut viimeksi ja milloin, samoin lokitieto jos päättää lapsitiedon
2 parents d188906 + f07f146 commit abe93a2

File tree

1 file changed

+87
-56
lines changed

1 file changed

+87
-56
lines changed

frontend/src/employee-frontend/components/person-profile/PersonFridgeChild.tsx

+87-56
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { wrapResult } from 'lib-common/api'
1010
import { ParentshipWithPermittedActions } from 'lib-common/generated/api-types/pis'
1111
import { UUID } from 'lib-common/types'
1212
import { getAge } from 'lib-common/utils/local-date'
13+
import Tooltip from 'lib-components/atoms/Tooltip'
1314
import { AddButtonRow } from 'lib-components/atoms/buttons/AddButton'
1415
import { CollapsibleContentArea } from 'lib-components/layout/Container'
1516
import { Table, Tbody, Td, Th, Thead, Tr } from 'lib-components/layout/Table'
@@ -118,6 +119,7 @@ export default React.memo(function PersonFridgeChild({
118119
<Th>{i18n.common.form.age}</Th>
119120
<Th>{i18n.common.form.startDate}</Th>
120121
<Th>{i18n.common.form.endDate}</Th>
122+
<Th>{i18n.common.form.lastModified}</Th>
121123
<Th />
122124
</Tr>
123125
</Thead>
@@ -133,63 +135,92 @@ export default React.memo(function PersonFridgeChild({
133135
permittedActions
134136
}: ParentshipWithPermittedActions,
135137
i: number
136-
) => (
137-
<Tr
138-
key={`${fridgeChild.child.id}-${i}`}
139-
data-qa="table-fridge-child-row"
140-
>
141-
<NameTd>
142-
<Link to={`/child-information/${fridgeChild.child.id}`}>
143-
{formatName(
144-
fridgeChild.child.firstName,
145-
fridgeChild.child.lastName,
146-
i18n,
147-
true
138+
) => {
139+
const modifiedAt =
140+
fridgeChild.creationModificationMetadata.modifiedAt ||
141+
fridgeChild.creationModificationMetadata.createdAt
142+
const modifiedByName =
143+
fridgeChild.creationModificationMetadata.modifiedByName ||
144+
fridgeChild.creationModificationMetadata.createdByName
145+
146+
return (
147+
<Tr
148+
key={`${fridgeChild.child.id}-${i}`}
149+
data-qa="table-fridge-child-row"
150+
>
151+
<NameTd>
152+
<Link to={`/child-information/${fridgeChild.child.id}`}>
153+
{formatName(
154+
fridgeChild.child.firstName,
155+
fridgeChild.child.lastName,
156+
i18n,
157+
true
158+
)}
159+
</Link>
160+
</NameTd>
161+
<Td>
162+
{fridgeChild.child.socialSecurityNumber ??
163+
fridgeChild.child.dateOfBirth.format()}
164+
</Td>
165+
<Td data-qa="child-age">
166+
{getAge(fridgeChild.child.dateOfBirth)}
167+
</Td>
168+
<DateTd>{fridgeChild.startDate.format()}</DateTd>
169+
<DateTd>{fridgeChild.endDate.format()}</DateTd>
170+
<Td>
171+
{modifiedAt ? (
172+
<Tooltip
173+
tooltip={
174+
modifiedByName
175+
? i18n.common.form.lastModifiedBy(
176+
modifiedByName
177+
)
178+
: null
179+
}
180+
position="left"
181+
>
182+
{modifiedAt.format()}
183+
</Tooltip>
184+
) : (
185+
i18n.common.unknown
148186
)}
149-
</Link>
150-
</NameTd>
151-
<Td>
152-
{fridgeChild.child.socialSecurityNumber ??
153-
fridgeChild.child.dateOfBirth.format()}
154-
</Td>
155-
<Td data-qa="child-age">
156-
{getAge(fridgeChild.child.dateOfBirth)}
157-
</Td>
158-
<DateTd>{fridgeChild.startDate.format()}</DateTd>
159-
<DateTd>{fridgeChild.endDate.format()}</DateTd>
160-
<ButtonsTd>
161-
<Toolbar
162-
dateRange={fridgeChild}
163-
onRetry={
164-
fridgeChild.conflict
165-
? () => {
166-
void retryParentshipResult({
167-
id: fridgeChild.id
168-
}).then(reloadFridgeChildren)
169-
}
170-
: undefined
171-
}
172-
editable={permittedActions.includes('UPDATE')}
173-
onEdit={() => {
174-
setSelectedParentshipId(fridgeChild.id)
175-
toggleUiMode(`edit-fridge-child-${fridgeChild.id}`)
176-
}}
177-
deletable={
178-
fridgeChild.conflict
179-
? permittedActions.includes(
180-
'DELETE_CONFLICTED_PARENTSHIP'
181-
)
182-
: permittedActions.includes('DELETE')
183-
}
184-
onDelete={() => {
185-
setSelectedParentshipId(fridgeChild.id)
186-
toggleUiMode(`remove-fridge-child-${fridgeChild.id}`)
187-
}}
188-
conflict={fridgeChild.conflict}
189-
/>
190-
</ButtonsTd>
191-
</Tr>
192-
)
187+
</Td>
188+
<ButtonsTd>
189+
<Toolbar
190+
dateRange={fridgeChild}
191+
onRetry={
192+
fridgeChild.conflict
193+
? () => {
194+
void retryParentshipResult({
195+
id: fridgeChild.id
196+
}).then(reloadFridgeChildren)
197+
}
198+
: undefined
199+
}
200+
editable={permittedActions.includes('UPDATE')}
201+
onEdit={() => {
202+
setSelectedParentshipId(fridgeChild.id)
203+
toggleUiMode(`edit-fridge-child-${fridgeChild.id}`)
204+
}}
205+
deletable={
206+
fridgeChild.conflict
207+
? permittedActions.includes(
208+
'DELETE_CONFLICTED_PARENTSHIP'
209+
)
210+
: permittedActions.includes('DELETE')
211+
}
212+
onDelete={() => {
213+
setSelectedParentshipId(fridgeChild.id)
214+
toggleUiMode(
215+
`remove-fridge-child-${fridgeChild.id}`
216+
)
217+
}}
218+
conflict={fridgeChild.conflict}
219+
/>
220+
</ButtonsTd>
221+
</Tr>
222+
)
223+
}
193224
)}
194225
</Tbody>
195226
</Table>

0 commit comments

Comments
 (0)