diff --git a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/JulkaisutService.java b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/JulkaisutService.java index 1fdf3c498..968927329 100644 --- a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/JulkaisutService.java +++ b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/JulkaisutService.java @@ -1,8 +1,6 @@ package fi.vm.sade.eperusteet.service; -import fi.vm.sade.eperusteet.domain.JulkaisuPerusteTila; import fi.vm.sade.eperusteet.domain.JulkaisuTila; -import fi.vm.sade.eperusteet.domain.Peruste; import fi.vm.sade.eperusteet.dto.JulkaisuSisaltoTyyppi; import fi.vm.sade.eperusteet.dto.peruste.JulkaisuBaseDto; import fi.vm.sade.eperusteet.dto.peruste.PerusteKaikkiDto; @@ -33,6 +31,9 @@ public interface JulkaisutService { @PreAuthorize("hasPermission(#projektiId, 'perusteprojekti', 'TILANVAIHTO') or hasPermission(#projektiId, 'perusteprojekti', 'KORJAUS')") CompletableFuture teeJulkaisu(@P("projektiId") long projektiId, JulkaisuBaseDto julkaisuBaseDto); + @PreAuthorize("hasPermission(#perusteId, 'peruste', 'MUOKKAUS') or hasPermission(#perusteId, 'peruste', 'KORJAUS')") + void paivitaMaarayskokoelmaanPerusteenTiedot(@P("perusteId") long perusteId); + @PreAuthorize("hasPermission(#perusteId, 'peruste', 'LUKU')") JulkaisuTila viimeisinJulkaisuTila(@P("perusteId") Long perusteId); diff --git a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/JulkaisutServiceImpl.java b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/JulkaisutServiceImpl.java index 2e5f2807c..19e51bc95 100644 --- a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/JulkaisutServiceImpl.java +++ b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/JulkaisutServiceImpl.java @@ -381,8 +381,11 @@ private Date selvitaMuutosmaarayksenVoimassaoloAlkaa(Peruste peruste, JulkaisuBa .orElse(null); } - private void lisaaMaaraysKokoelmaan(JulkaisuBaseDto julkaisuBaseDto, Peruste peruste, JulkaistuPeruste julkaisu) { - MaaraysDto maarays = maaraysService.getPerusteenMaarays(peruste.getId()); + @Override + @IgnorePerusteUpdateCheck + public void paivitaMaarayskokoelmaanPerusteenTiedot(long perusteId) { + Peruste peruste = perusteRepository.findOne(perusteId); + MaaraysDto maarays = maaraysService.getPerusteenMaarays(perusteId); if (maarays != null) { maarays.setTila(MaaraysTila.JULKAISTU); maarays.setNimi(mapper.map(peruste.getNimi(), LokalisoituTekstiDto.class)); @@ -390,8 +393,13 @@ private void lisaaMaaraysKokoelmaan(JulkaisuBaseDto julkaisuBaseDto, Peruste per maarays.setVoimassaoloAlkaa(peruste.getVoimassaoloAlkaa()); maarays.setVoimassaoloLoppuu(peruste.getVoimassaoloLoppuu()); maarays.setMaarayspvm(peruste.getPaatospvm()); - maarays = maaraysService.updateMaarays(maarays); + maaraysService.updateMaarays(maarays); } + } + + private void lisaaMaaraysKokoelmaan(JulkaisuBaseDto julkaisuBaseDto, Peruste peruste, JulkaistuPeruste julkaisu) { + paivitaMaarayskokoelmaanPerusteenTiedot(peruste.getId()); + MaaraysDto maarays = maaraysService.getPerusteenMaarays(peruste.getId()); if (julkaisuBaseDto.getMuutosmaarays() != null) { if (peruste.getJulkaisut().isEmpty() && maarays != null) { diff --git a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/MaintenanceServiceImpl.java b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/MaintenanceServiceImpl.java index dd12fdc4a..2169afda6 100644 --- a/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/MaintenanceServiceImpl.java +++ b/eperusteet/eperusteet-service/src/main/java/fi/vm/sade/eperusteet/service/impl/MaintenanceServiceImpl.java @@ -260,6 +260,8 @@ private void julkaisePeruste(Long perusteId, String tiedote) { perusteRepository.saveAndFlush(peruste); julkaisutRepository.saveAndFlush(julkaisu); julkaistuPerusteDataStoreRepository.syncPeruste(peruste.getId()); + + julkaisutService.paivitaMaarayskokoelmaanPerusteenTiedot(perusteId); return true; }); } diff --git a/eperusteet/eperusteet-service/src/test/java/fi/vm/sade/eperusteet/service/util/JulkaisutServiceMock.java b/eperusteet/eperusteet-service/src/test/java/fi/vm/sade/eperusteet/service/util/JulkaisutServiceMock.java index 6bd311a41..63e548292 100644 --- a/eperusteet/eperusteet-service/src/test/java/fi/vm/sade/eperusteet/service/util/JulkaisutServiceMock.java +++ b/eperusteet/eperusteet-service/src/test/java/fi/vm/sade/eperusteet/service/util/JulkaisutServiceMock.java @@ -42,6 +42,11 @@ public CompletableFuture teeJulkaisu(long projektiId, JulkaisuBaseDto julk return null; } + @Override + public void paivitaMaarayskokoelmaanPerusteenTiedot(long perusteId) { + + } + @Override public JulkaisuTila viimeisinJulkaisuTila(Long perusteId) { return null;