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:
parent
bffae1292e
commit
6d245ae7b6
@ -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 {
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user