From 4f44030d4d7e3c150a2de23069c6fe22d95bca10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anne=20Lise=20Skj=C3=A6veland?= Date: Thu, 20 Jul 2023 16:27:48 +0200 Subject: [PATCH 1/8] Added ScopeHandedOver enumm and added to filter --- .../views/SearchIPO/Filter/index.tsx | 4 ++++ .../InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx | 10 ++++++++++ src/modules/InvitationForPunchOut/views/enums.ts | 1 + 3 files changed, 15 insertions(+) diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx index 2afdb60ae..6c3879199 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx @@ -93,6 +93,10 @@ const ipoStatuses: FilterInput[] = [ id: IpoStatusEnum.ACCEPTED, title: 'Accepted', }, + { + id: IpoStatusEnum.SCOPEHANDEDOVER, + title: 'Scope handed over', + }, ]; const punchOutDateFields: FilterInput[] = [ diff --git a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx index 8911e26d5..595eb6855 100644 --- a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx +++ b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx @@ -49,11 +49,17 @@ const stepsWhenCanceled: Step[] = [ { title: 'Punch-out is canceled', isCompleted: true }, ]; +const stepsWhenHandedOver: Step[] = [ + { title: 'Invitation for punch-out sent', isCompleted: true }, + { title: 'Punch-out is handed over', isCompleted: true }, +]; + enum StepsEnum { Planned = 1, Completed = 2, Accepted = 3, Canceled = 4, + ScopeHandedOver = 5, } const ipoHeaderSize = 136; @@ -143,6 +149,10 @@ const ViewIPO = (): JSX.Element => { setSteps(stepsWhenCanceled); setCurrentStep(StepsEnum.Canceled + 1); break; + case StepsEnum[5]: + setSteps(stepsWhenHandedOver); + setCurrentStep(StepsEnum.ScopeHandedOver + 1); + break; default: setCurrentStep(StepsEnum.Planned + 1); } diff --git a/src/modules/InvitationForPunchOut/views/enums.ts b/src/modules/InvitationForPunchOut/views/enums.ts index 09231a899..a344572c4 100644 --- a/src/modules/InvitationForPunchOut/views/enums.ts +++ b/src/modules/InvitationForPunchOut/views/enums.ts @@ -21,6 +21,7 @@ export enum IpoStatusEnum { PLANNED = 'Planned', COMPLETED = 'Completed', ACCEPTED = 'Accepted', + SCOPEHANDEDOVER = 'ScopeHandedOver', CANCELED = 'Canceled', } From fc5ec0d3ae4fca8a8d007106eda1f5eb53e1741c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anne=20Lise=20Skj=C3=A6veland?= Date: Fri, 21 Jul 2023 09:48:47 +0200 Subject: [PATCH 2/8] Unable to edit when scope handed over --- src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx index 595eb6855..d7f3dda40 100644 --- a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx +++ b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx @@ -51,7 +51,9 @@ const stepsWhenCanceled: Step[] = [ const stepsWhenHandedOver: Step[] = [ { title: 'Invitation for punch-out sent', isCompleted: true }, - { title: 'Punch-out is handed over', isCompleted: true }, + { title: 'Punch-out complete', isCompleted: true }, + { title: 'Punch-out accepted by company', isCompleted: true }, + { title: 'Punch-out handed over to company', isCompleted: true }, ]; enum StepsEnum { @@ -526,6 +528,8 @@ const ViewIPO = (): JSX.Element => { participants={invitation.participants} isEditable={ invitation.status == IpoStatusEnum.PLANNED || + invitation.status == + IpoStatusEnum.SCOPEHANDEDOVER || (isAdmin && isUsingAdminRights) } showEditButton={ From cc9b575f95a940007e0f3c2a3ebe9b1d0576d2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anne=20Lise=20Skj=C3=A6veland?= Date: Fri, 21 Jul 2023 09:50:19 +0200 Subject: [PATCH 3/8] Removed step created when handed over --- src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx index d7f3dda40..5e3864568 100644 --- a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx +++ b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx @@ -53,7 +53,6 @@ const stepsWhenHandedOver: Step[] = [ { title: 'Invitation for punch-out sent', isCompleted: true }, { title: 'Punch-out complete', isCompleted: true }, { title: 'Punch-out accepted by company', isCompleted: true }, - { title: 'Punch-out handed over to company', isCompleted: true }, ]; enum StepsEnum { From 5466755502084900416db6b2cd056f3013a07573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anne=20Lise=20Skj=C3=A6veland?= Date: Fri, 21 Jul 2023 09:55:34 +0200 Subject: [PATCH 4/8] Cannot edit when scope handed over --- src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx index 5e3864568..94aef6e73 100644 --- a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx +++ b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx @@ -527,8 +527,6 @@ const ViewIPO = (): JSX.Element => { participants={invitation.participants} isEditable={ invitation.status == IpoStatusEnum.PLANNED || - invitation.status == - IpoStatusEnum.SCOPEHANDEDOVER || (isAdmin && isUsingAdminRights) } showEditButton={ From 71da8008d7d988ecd775dc173efac47e70bcd30a Mon Sep 17 00:00:00 2001 From: VRiveland Date: Thu, 27 Jul 2023 09:10:19 +0200 Subject: [PATCH 5/8] Renamed files --- src/app/ProcosysRouter.tsx | 2 +- .../{index.tsx => InvitationForPunchOut.tsx} | 2 +- .../{index.tsx => CheckboxFilterWithDates.tsx} | 2 +- .../__tests__/CheckboxFilterWithDates.test.jsx | 2 +- .../SearchIPO/Filter/{index.tsx => InvitationsFilter.tsx} | 6 +++--- .../PersonSelector/{index.tsx => PersonSelector.tsx} | 2 +- .../PersonSelector/__tests__/PersonSelector.test.jsx | 2 +- .../{index.style.tsx => RoleSelector.style.tsx} | 0 .../Filter/RoleSelector/{index.tsx => RoleSelector.tsx} | 4 ++-- .../Filter/RoleSelector/__tests__/RoleSelector.test.jsx | 2 +- .../{index.style.tsx => SelectFilter.style.tsx} | 0 .../Filter/SelectFilter/{index.tsx => SelectFilter.tsx} | 8 ++++---- .../Filter/SelectFilter/__tests__/SelectFilter.test.jsx | 2 +- .../views/SearchIPO/Filter/__tests__/Filter.test.jsx | 2 +- .../SearchIPO/{index.style.tsx => SearchIpo.style.tsx} | 0 .../views/SearchIPO/{index.tsx => SearchIpo.tsx} | 4 ++-- .../views/SearchIPO/__tests__/SearchIPO.test.jsx | 2 +- 17 files changed, 21 insertions(+), 21 deletions(-) rename src/modules/InvitationForPunchOut/{index.tsx => InvitationForPunchOut.tsx} (98%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/{index.tsx => CheckboxFilterWithDates.tsx} (99%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/{index.tsx => InvitationsFilter.tsx} (98%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/{index.tsx => PersonSelector.tsx} (98%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/{index.style.tsx => RoleSelector.style.tsx} (100%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/{index.tsx => RoleSelector.tsx} (95%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/{index.style.tsx => SelectFilter.style.tsx} (100%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/{index.tsx => SelectFilter.tsx} (87%) rename src/modules/InvitationForPunchOut/views/SearchIPO/{index.style.tsx => SearchIpo.style.tsx} (100%) rename src/modules/InvitationForPunchOut/views/SearchIPO/{index.tsx => SearchIpo.tsx} (99%) diff --git a/src/app/ProcosysRouter.tsx b/src/app/ProcosysRouter.tsx index 5ceb6ac15..380bf3c0c 100644 --- a/src/app/ProcosysRouter.tsx +++ b/src/app/ProcosysRouter.tsx @@ -21,7 +21,7 @@ const UserGreeting = React.lazy(() => import('./../modules/UserGreeting')); const Preservation = React.lazy(() => import('./../modules/Preservation')); const PlantConfig = React.lazy(() => import('./../modules/PlantConfig')); const InvitationForPunchOut = React.lazy( - () => import('./../modules/InvitationForPunchOut') + () => import('../modules/InvitationForPunchOut/InvitationForPunchOut') ); const Page404 = (): JSX.Element => { diff --git a/src/modules/InvitationForPunchOut/index.tsx b/src/modules/InvitationForPunchOut/InvitationForPunchOut.tsx similarity index 98% rename from src/modules/InvitationForPunchOut/index.tsx rename to src/modules/InvitationForPunchOut/InvitationForPunchOut.tsx index d4073130b..205e0d39d 100644 --- a/src/modules/InvitationForPunchOut/index.tsx +++ b/src/modules/InvitationForPunchOut/InvitationForPunchOut.tsx @@ -11,7 +11,7 @@ import CreateIPO from './views/CreateAndEditIPO/CreateIPO'; import EditIPO from './views/CreateAndEditIPO/EditIPO'; import { Helmet } from 'react-helmet'; import { InvitationForPunchOutContextProvider } from './context/InvitationForPunchOutContext'; -import SearchIPO from './views/SearchIPO'; +import SearchIPO from './views/SearchIPO/SearchIpo'; import ViewIPO from './views/ViewIPO/ViewIPO'; import withAccessControl from '@procosys/core/security/withAccessControl'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/CheckboxFilterWithDates.tsx similarity index 99% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/CheckboxFilterWithDates.tsx index 622d905bb..066f66860 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/CheckboxFilterWithDates.tsx @@ -2,7 +2,7 @@ import { CheckboxFilterValue, dateFilterParamType, filterParamType, -} from '../index'; +} from '../InvitationsFilter'; import { CheckboxSection, DateField, DatesContainer } from './index.style'; import { Collapse, CollapseInfo } from '../index.style'; import React, { ChangeEvent, useState } from 'react'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/__tests__/CheckboxFilterWithDates.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/__tests__/CheckboxFilterWithDates.test.jsx index 8f1567655..bd2ede3e1 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/__tests__/CheckboxFilterWithDates.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/CheckboxFilterWithDates/__tests__/CheckboxFilterWithDates.test.jsx @@ -1,6 +1,6 @@ import { fireEvent, render } from '@testing-library/react'; -import CheckboxFilterWithDates from '../index'; +import CheckboxFilterWithDates from '../CheckboxFilterWithDates'; import React from 'react'; const checkboxItems = [ diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/InvitationsFilter.tsx similarity index 98% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/InvitationsFilter.tsx index 6c3879199..e22a83c86 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/InvitationsFilter.tsx @@ -10,11 +10,11 @@ import { import { IPOFilter, ProjectDetails, SavedIPOFilter } from '../types'; import React, { useEffect, useRef, useState } from 'react'; -import CheckboxFilterWithDates from './CheckboxFilterWithDates'; +import CheckboxFilterWithDates from './CheckboxFilterWithDates/CheckboxFilterWithDates'; import EdsIcon from '@procosys/components/EdsIcon'; import { IpoStatusEnum } from '../../enums'; import SavedFilters from './SavedFilters'; -import SelectFilter from './SelectFilter'; +import SelectFilter from './SelectFilter/SelectFilter'; import { SelectItem } from '@procosys/components/Select'; import { isValidDate } from '@procosys/core/services/DateService'; import { @@ -95,7 +95,7 @@ const ipoStatuses: FilterInput[] = [ }, { id: IpoStatusEnum.SCOPEHANDEDOVER, - title: 'Scope handed over', + title: 'Scope Handed Over', }, ]; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/PersonSelector.tsx similarity index 98% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/PersonSelector.tsx index 094b1a04a..44e1547c3 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/PersonSelector.tsx @@ -6,7 +6,7 @@ import Dropdown from '@procosys/components/Dropdown'; import EdsIcon from '@procosys/components/EdsIcon'; import { SelectItem } from '@procosys/components/Select'; import Spinner from '@procosys/components/Spinner'; -import { rolePersonParamType } from '..'; +import { rolePersonParamType } from '../InvitationsFilter'; import { showSnackbarNotification } from '@procosys/core/services/NotificationService'; import { useInvitationForPunchOutContext } from '@procosys/modules/InvitationForPunchOut/context/InvitationForPunchOutContext'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/__tests__/PersonSelector.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/__tests__/PersonSelector.test.jsx index 25c5da83a..35c5aa682 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/__tests__/PersonSelector.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/PersonSelector/__tests__/PersonSelector.test.jsx @@ -1,4 +1,4 @@ -import PersonSelector from '../index'; +import PersonSelector from '../PersonSelector'; import React from 'react'; import { render } from '@testing-library/react'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/index.style.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/RoleSelector.style.tsx similarity index 100% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/index.style.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/RoleSelector.style.tsx diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/RoleSelector.tsx similarity index 95% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/RoleSelector.tsx index d38c2fe6b..04ba7bb1c 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/RoleSelector.tsx @@ -1,11 +1,11 @@ -import { Container, DropdownItem } from './index.style'; +import { Container, DropdownItem } from './RoleSelector.style'; import React, { useEffect, useState } from 'react'; import Dropdown from '@procosys/components/Dropdown'; import EdsIcon from '@procosys/components/EdsIcon'; import { SelectItem } from '@procosys/components/Select'; import Spinner from '@procosys/components/Spinner'; -import { rolePersonParamType } from '..'; +import { rolePersonParamType } from '../InvitationsFilter'; interface RoleSelectorProps { functionalRoleCode: string; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/__tests__/RoleSelector.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/__tests__/RoleSelector.test.jsx index b54496559..607b982d3 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/__tests__/RoleSelector.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/RoleSelector/__tests__/RoleSelector.test.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import RoleSelector from '../index'; +import RoleSelector from '../RoleSelector'; import { render } from '@testing-library/react'; const roles = [ diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/index.style.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/SelectFilter.style.tsx similarity index 100% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/index.style.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/SelectFilter.style.tsx diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/SelectFilter.tsx similarity index 87% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/SelectFilter.tsx index 600984c94..2eda065d1 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/SelectFilter.tsx @@ -1,10 +1,10 @@ import { Collapse, CollapseInfo } from '../index.style'; import React, { useState } from 'react'; -import { FilterContainer } from './index.style'; -import PersonSelector from '../PersonSelector'; -import RoleSelector from '../RoleSelector'; +import { FilterContainer } from './SelectFilter.style'; +import PersonSelector from '../PersonSelector/PersonSelector'; +import RoleSelector from '../RoleSelector/RoleSelector'; import { SelectItem } from '@procosys/components/Select'; -import { rolePersonParamType } from '..'; +import { rolePersonParamType } from '../InvitationsFilter'; import { KeyboardArrowUp, KeyboardArrowDown } from '@mui/icons-material'; type SelectProps = { diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/__tests__/SelectFilter.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/__tests__/SelectFilter.test.jsx index 907c361ef..b383d4888 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/__tests__/SelectFilter.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/SelectFilter/__tests__/SelectFilter.test.jsx @@ -2,7 +2,7 @@ import { fireEvent, render } from '@testing-library/react'; import EdsIcon from '@procosys/components/EdsIcon'; import React from 'react'; -import SelectFilter from '../index'; +import SelectFilter from '../SelectFilter'; const roles = [ { diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/__tests__/Filter.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/__tests__/Filter.test.jsx index bcbeec7df..dfa32dfc6 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/__tests__/Filter.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Filter/__tests__/Filter.test.jsx @@ -1,6 +1,6 @@ import { fireEvent, render } from '@testing-library/react'; -import InvitationsFilter from '../index'; +import InvitationsFilter from '../InvitationsFilter'; import React from 'react'; const emptyFilter = { diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/index.style.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.style.tsx similarity index 100% rename from src/modules/InvitationForPunchOut/views/SearchIPO/index.style.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.style.tsx diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx similarity index 99% rename from src/modules/InvitationForPunchOut/views/SearchIPO/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx index 64191e671..b141ecfa8 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx @@ -10,14 +10,14 @@ import { LeftPartOfHeader, StyledButton, TooltipText, -} from './index.style'; +} from './SearchIpo.style'; import { IPOFilter, IPOs, SavedIPOFilter } from './types'; import React, { useEffect, useReducer, useRef, useState } from 'react'; import { Canceler } from 'axios'; import Dropdown from '@procosys/components/Dropdown'; import EdsIcon from '@procosys/components/EdsIcon'; -import InvitationsFilter from './Filter'; +import InvitationsFilter from './Filter/InvitationsFilter'; import InvitationsTable from './Table'; import { Link } from 'react-router-dom'; import { ProjectDetails } from '@procosys/modules/InvitationForPunchOut/types'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/__tests__/SearchIPO.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/__tests__/SearchIPO.test.jsx index c9d13f798..3125ca3b1 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/__tests__/SearchIPO.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/__tests__/SearchIPO.test.jsx @@ -1,7 +1,7 @@ import { render, waitFor } from '@testing-library/react'; import React from 'react'; -import SearchIPO from '../../SearchIPO'; +import SearchIPO from '../SearchIpo'; import { createMemoryHistory } from 'history'; import { Router } from 'react-router'; From 316acac9d704ab0b6755180a05e889c6fef70898 Mon Sep 17 00:00:00 2001 From: VRiveland Date: Thu, 27 Jul 2023 09:15:06 +0200 Subject: [PATCH 6/8] Improve readability for ScopeHandedOver status in search IPO --- .../http/InvitationForPunchOutApiClient.ts | 3 ++- .../InvitationForPunchOut/views/SearchIPO/Table/index.tsx | 5 ++++- src/modules/InvitationForPunchOut/views/SearchIPO/types.d.ts | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/InvitationForPunchOut/http/InvitationForPunchOutApiClient.ts b/src/modules/InvitationForPunchOut/http/InvitationForPunchOutApiClient.ts index 2a90d16e5..20fd4c059 100644 --- a/src/modules/InvitationForPunchOut/http/InvitationForPunchOutApiClient.ts +++ b/src/modules/InvitationForPunchOut/http/InvitationForPunchOutApiClient.ts @@ -5,6 +5,7 @@ import { ProCoSysApiError } from '../../../core/ProCoSysApiError'; import ProCoSysSettings from '../../../core/ProCoSysSettings'; import Qs from 'qs'; import { RequestCanceler } from '../../../http/HttpClient'; +import { IpoStatusEnum } from '../views/enums'; export class IpoApiError extends ProCoSysApiError { constructor(error: AxiosError) { @@ -180,7 +181,7 @@ interface FunctionalRoleResponse { interface IPO { id: number; title: string; - status: string; + status: IpoStatusEnum; type: string; createdAtUtc: Date; startTimeUtc: Date; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx index 004669f9d..c30f0fd07 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx @@ -6,6 +6,7 @@ import { getFormattedDate } from '@procosys/core/services/DateService'; import { Query, TableOptions, UseTableRowProps } from 'react-table'; import ProcosysTable, { TableSorting } from '@procosys/components/Table'; import { Tooltip } from '@mui/material'; +import { IpoStatusEnum } from '../../enums'; interface InvitationsTableProps { getIPOs: ( @@ -336,7 +337,9 @@ const InvitationsTable = ({ Header: 'Status', id: 'status', accessor: (d: IPO): string | undefined => { - return d.status; + if (d.status == IpoStatusEnum.SCOPEHANDEDOVER) + return 'Scope handed over'; + else return d.status; }, Cell: (rowData: TableOptions): JSX.Element => { return {rowData.row.values.status}; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/types.d.ts b/src/modules/InvitationForPunchOut/views/SearchIPO/types.d.ts index 03bdf7cb9..2d86c910b 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/types.d.ts +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/types.d.ts @@ -1,7 +1,9 @@ +import { IpoStatusEnum } from '../enums'; + export interface IPO { id: number; title: string; - status: string; + status: IpoStatusEnum; type: string; createdAtUtc: Date; startTimeUtc: Date; From dfc46cc366b49dba387f074e94b855166a3d5948 Mon Sep 17 00:00:00 2001 From: VRiveland Date: Thu, 27 Jul 2023 09:33:19 +0200 Subject: [PATCH 7/8] Rename --- src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx | 2 +- .../Table/{index.style.tsx => InvitationsTable.style.tsx} | 0 .../views/SearchIPO/Table/{index.tsx => InvitationsTable.tsx} | 2 +- .../views/SearchIPO/Table/__tests__/Table.test.jsx | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename src/modules/InvitationForPunchOut/views/SearchIPO/Table/{index.style.tsx => InvitationsTable.style.tsx} (100%) rename src/modules/InvitationForPunchOut/views/SearchIPO/Table/{index.tsx => InvitationsTable.tsx} (99%) diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx index b141ecfa8..dd5d819b8 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/SearchIpo.tsx @@ -18,7 +18,7 @@ import { Canceler } from 'axios'; import Dropdown from '@procosys/components/Dropdown'; import EdsIcon from '@procosys/components/EdsIcon'; import InvitationsFilter from './Filter/InvitationsFilter'; -import InvitationsTable from './Table'; +import InvitationsTable from './Table/InvitationsTable'; import { Link } from 'react-router-dom'; import { ProjectDetails } from '@procosys/modules/InvitationForPunchOut/types'; import { SelectItem } from '@procosys/components/Select'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.style.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/InvitationsTable.style.tsx similarity index 100% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.style.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Table/InvitationsTable.style.tsx diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/InvitationsTable.tsx similarity index 99% rename from src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx rename to src/modules/InvitationForPunchOut/views/SearchIPO/Table/InvitationsTable.tsx index c30f0fd07..3d5e3aafc 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/index.tsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/InvitationsTable.tsx @@ -1,4 +1,4 @@ -import { Container, CustomLink } from './index.style'; +import { Container, CustomLink } from './InvitationsTable.style'; import React, { useEffect, useState } from 'react'; import { IPO } from '../types'; import { Typography } from '@equinor/eds-core-react'; diff --git a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/__tests__/Table.test.jsx b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/__tests__/Table.test.jsx index b55b34012..fe15183d5 100644 --- a/src/modules/InvitationForPunchOut/views/SearchIPO/Table/__tests__/Table.test.jsx +++ b/src/modules/InvitationForPunchOut/views/SearchIPO/Table/__tests__/Table.test.jsx @@ -1,4 +1,4 @@ -import InvitationsTable from '../index'; +import InvitationsTable from '../InvitationsTable'; import React from 'react'; import { render, waitFor } from '@testing-library/react'; From 68ef6b4faef3ad8ef6da2811e782ec877e2853c6 Mon Sep 17 00:00:00 2001 From: VRiveland Date: Thu, 27 Jul 2023 09:43:15 +0200 Subject: [PATCH 8/8] Allow admin to delete IPOs with status ScopeHandedOver --- .../InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx index 94aef6e73..603bce999 100644 --- a/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx +++ b/src/modules/InvitationForPunchOut/views/ViewIPO/ViewIPO.tsx @@ -51,8 +51,7 @@ const stepsWhenCanceled: Step[] = [ const stepsWhenHandedOver: Step[] = [ { title: 'Invitation for punch-out sent', isCompleted: true }, - { title: 'Punch-out complete', isCompleted: true }, - { title: 'Punch-out accepted by company', isCompleted: true }, + { title: 'Punch-out scope handed over', isCompleted: true }, ]; enum StepsEnum { @@ -536,6 +535,10 @@ const ViewIPO = (): JSX.Element => { canDelete={ invitation.canDelete || (invitation.status === IpoStatusEnum.CANCELED && + isAdmin && + isUsingAdminRights) || + (invitation.status === + IpoStatusEnum.SCOPEHANDEDOVER && isAdmin && isUsingAdminRights) }