RED-7812 - Dossier template will be renamed every time after each import

- when checking for the existence of the dossier template name ignore the dossier template id of the one that will be replaced
This commit is contained in:
Corina Olariu 2023-10-24 13:32:07 +03:00
parent bffae1292e
commit 6d245ae7b6
3 changed files with 6 additions and 5 deletions

View File

@ -556,6 +556,7 @@ public class DossierTemplateImportService {
private void updateDossierTemplateMeta(DossierTemplateEntity dossierTemplateEntity, DossierTemplate dossierTemplate, String userId) {
dossierTemplate.setId(dossierTemplateEntity.getId());
if (!dossierTemplateEntity.getName().equalsIgnoreCase(dossierTemplate.getName())) {
this.validateDossierTemplateName(dossierTemplate);
}
@ -714,7 +715,7 @@ public class DossierTemplateImportService {
int nameSuffix = 0;
String dossierTemplateName = dossierTemplateMeta.getName();
while (dossierTemplatePersistenceService.isDossierTemplateNameNotUnique(dossierTemplateMeta.getName())) {
while (dossierTemplatePersistenceService.isDossierTemplateNameNotUnique(dossierTemplateMeta.getName(), dossierTemplateMeta.getId())) {
if (nameSuffix == 0) {
dossierTemplateMeta.setName("Copy of " + dossierTemplateName);
} else {

View File

@ -90,7 +90,7 @@ public class DossierTemplatePersistenceService {
@Transactional
public void validateDossierTemplateNameIsUnique(String templateName) {
if (isDossierTemplateNameNotUnique(templateName)) {
if (isDossierTemplateNameNotUnique(templateName, null)) {
throw new ConflictException("DossierTemplate name must be unique");
}
}
@ -109,9 +109,9 @@ public class DossierTemplatePersistenceService {
@Transactional
public boolean isDossierTemplateNameNotUnique(String templateName) {
public boolean isDossierTemplateNameNotUnique(String templateName, String dossierTemplateIdToIgnore) {
return dossierTemplateRepository.existsByName(templateName);
return dossierTemplateRepository.existsByNameAndIdNot(templateName, dossierTemplateIdToIgnore);
}

View File

@ -18,6 +18,6 @@ public interface DossierTemplateRepository extends JpaRepository<DossierTemplate
Optional<DossierTemplateEntity> findByIdAndNotDeleted(String dossierTemplateId);
boolean existsByName(String name);
boolean existsByNameAndIdNot(String name, String id);
}