diff --git a/docker-compose-local.yml b/docker-compose-local.yml index 2719b4a8..207a7ace 100644 --- a/docker-compose-local.yml +++ b/docker-compose-local.yml @@ -1,4 +1,3 @@ -version: '3.8' services: oidc-provider: ports: diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 682b4bd2..2e38e3d1 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: oidc-provider: build: diff --git a/docker-compose.yml b/docker-compose.yml index 77df986b..3c59b4f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.8' services: oidc-provider: build: diff --git a/e2e/docker-compose.ci.yml b/e2e/docker-compose.ci.yml index 1c323832..afc04230 100644 --- a/e2e/docker-compose.ci.yml +++ b/e2e/docker-compose.ci.yml @@ -1,4 +1,3 @@ -version: '3.8' services: frontend: volumes: diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml index 28dfa358..4e6fccee 100644 --- a/e2e/docker-compose.yml +++ b/e2e/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.8' services: frontend: build: diff --git a/e2e/test/login.test.ts b/e2e/test/login.test.ts index cbe30e97..2069e7e8 100644 --- a/e2e/test/login.test.ts +++ b/e2e/test/login.test.ts @@ -5,5 +5,5 @@ import { DEV_USER } from '@utils/users.js'; test('Login', async ({ browser }) => { const { page } = await login(browser, DEV_USER); - await expect(page).toHaveURL('https://localhost:1443/'); + await expect(page).toHaveURL(/^https:\/\/localhost:1443.*/); }); diff --git a/frontend/src/components/SplitButton.tsx b/frontend/src/components/SplitButton.tsx index 89efeb0f..95fc3f73 100644 --- a/frontend/src/components/SplitButton.tsx +++ b/frontend/src/components/SplitButton.tsx @@ -20,6 +20,7 @@ interface Props { variant?: 'contained' | 'outlined'; hideSelectedOptionFromList?: boolean; disableButtonSelection?: boolean; + hideButtonSelection?: boolean; /** Functions to be triggered immediately when a menu item is clicked. Overrides default menu item selection logic. */ directOptionFunctions?: ((() => void) | null)[]; } @@ -31,6 +32,7 @@ export function SplitButton({ variant = 'outlined', hideSelectedOptionFromList, disableButtonSelection, + hideButtonSelection, directOptionFunctions, }: Props) { const [open, setOpen] = useState(false); @@ -66,9 +68,11 @@ export function SplitButton({ <> {renderButton(options[selectedIndex], selectedIndex)} - + {!hideButtonSelection && ( + + )} setPopupOpen(true)]} renderButton={(label, idx) => ( - + {!newProjectCandidates.isLoading && newProjectCandidates.data?.length === 0 ? ( + + ) : ( + <> + + + + )} diff --git a/frontend/src/views/Project/ProjectViewWrapper/ProjectShiftView.tsx b/frontend/src/views/Project/ProjectViewWrapper/ProjectShiftView.tsx index dc7f34c0..2a30f613 100644 --- a/frontend/src/views/Project/ProjectViewWrapper/ProjectShiftView.tsx +++ b/frontend/src/views/Project/ProjectViewWrapper/ProjectShiftView.tsx @@ -139,14 +139,16 @@ export function ProjectShiftView(props: Props) { /> diff --git a/shared/src/language/fi.ts b/shared/src/language/fi.ts index 4e7c657c..f7feb356 100644 --- a/shared/src/language/fi.ts +++ b/shared/src/language/fi.ts @@ -59,11 +59,14 @@ export const fi = { 'projectSearch.generateReport': 'Lataa raportti', 'projectSearch.reportFailed': 'Raportin luonti epäonnistui.', 'projectObjectView.modify': 'Muokkaa kohdetta', + 'projectObjectView.moveToProjectButton': 'Siirrä kohde toiselle hankkeelle', 'projectObjectView.moveToProject': 'Siirretään kohde toiselle hankkeelle', 'projectObjectView.moveToProject.label': 'Kohteen uusi hanke', 'projectObjectView.moveToProject.contentText': - 'Kohteen pystyy siirtämään toiselle investointihankkeelle, jonka toteutusväli sekä lautakuntavalinta mahdollistavat kohteen siirron. Kohteen mahdollinen SAP-rakenneosan tunniste poistetaan siirron yhteydessä.', - 'projectObjectView.moveToProject.noProjects': 'Ei sopivia hankkeita.', + 'Kohteen voi siirtää investointihankkeelle, jolla on sopiva toteutusväli sekä oikea lautakunta.', + 'projectObjectView.moveToProject.contentTextSap': + 'Kohteen mahdollinen SAP-rakenneosan tunniste poistetaan siirron yhteydessä.', + 'projectObjectView.moveToProject.noProjects': 'Sopivia hankkeita ei ole.', 'projectObjectView.moveToProject.formError': 'Uusi hanke puuttuu.', 'projectObjectView.moveToProject.success': 'Kohde siirretty onnistuneesti.', 'projectObjectView.moveToProject.failed': 'Kohteen siirto epäonnistui.', @@ -316,7 +319,7 @@ export const fi = { 'dateRange.endDate': 'Loppupäivä', 'budgetTable.year': 'Vuosi', 'budgetTable.yearHelp': - 'Talousluvut osoitetaan vuosikohtaisina. Näkymässä tarjolla olevat vuodet johdetaan suoraan käyttäjän kirjaamasta toteutusvälistä (alku- ja loppupäivämäärä).', + 'Talousluvut osoitetaan vuosikohtaisina. Näkymässä tarjolla olevat vuodet johdetaan suoraan käyttäjän kirjaamasta toteutusvälistä (alku- ja lopetusajankohta).', 'budgetTable.yearHelpOngoing': 'Toistaiseksi jatkuvan hankkeen talouslukuja on mahdollista raportoida viideksi vuodeksi eteenpäin.', 'budgetTable.yearHelpOngoingObject': @@ -378,10 +381,10 @@ export const fi = { 'projectObject.objectUsageLabelShort': 'Käyttötarkoitus', 'projectObject.objectUsageTooltip': 'Valitse kohteen toiminnallinen käyttötarkoitus.', 'projectObject.committeeLabel': 'Lautakunta', - 'projectObject.startDateLabel': 'Alkupäivämäärä', - 'projectObject.startDateTooltip': 'Valitse kohteelle aloituspäivämäärä.', - 'projectObject.endDateLabel': 'Loppupäivämäärä', - 'projectObject.endDateTooltip': 'Valitse kohteen lopetuspäivämäärä.', + 'projectObject.startDateLabel': 'Alkuajankohta', + 'projectObject.startDateTooltip': 'Valitse kohteelle aloitusajankohta.', + 'projectObject.endDateLabel': 'Loppuajankohta', + 'projectObject.endDateTooltip': 'Valitse kohteen lopetusajankohta.', 'projectObject.sapWBSIdLabel': 'SAP-rakenneosa', 'projectObject.sapWBSIdTooltip': 'Valitse SAP-rakenneosa.', 'projectObject.sapWBSIdNoSAPProjectIdTooltip': 'Hankkeelle ei ole määritetty SAP-projektia.', @@ -631,10 +634,10 @@ export const fi = { 'workTable.export.projectName': 'Hanke', 'workTable.export.objectName': 'Kohde', 'workTable.export.lifecycleState': 'Tila', - 'workTable.export.projectStartDate': 'Hankkeen aloituspäivämäärä', - 'workTable.export.projectEndDate': 'Hankkeen lopetuspäivämäärä', - 'workTable.export.objectStartDate': 'Kohteen aloituspäivämäärä', - 'workTable.export.objectEndDate': 'Kohteen lopetuspäivämäärä', + 'workTable.export.projectStartDate': 'Hankkeen aloitusajankohta', + 'workTable.export.projectEndDate': 'Hankkeen lopetusajankohta', + 'workTable.export.objectStartDate': 'Kohteen aloitusajankohta', + 'workTable.export.objectEndDate': 'Kohteen lopetusajankohta', 'workTable.export.objectType': 'Tyyppi', 'workTable.export.objectCategory': 'Omaisuusluokka', 'workTable.export.objectUsage': 'Käyttötarkoitus', @@ -681,6 +684,7 @@ export const fi = { 'wholeMunicipalityMapInfoBoxButton.tooltip': 'Koko kunnan aluetta koskevat hankkeet', 'wholeMunicipalityMapInfoBoxButton.singleTooltip': 'Koko kunnan aluetta koskeva hanke', 'email.subject': 'Aihe', + move: 'Siirrä', send: 'Lähetä', clear: 'Tyhjennä', ok: 'Ok',