Skip to content

Commit

Permalink
avniproject/avni-webapp#1387 | Fixed identifier user assignment error…
Browse files Browse the repository at this point in the history
…s on edit- 'Element doesn't exist' and 'Identifier prefix is not assigned to the user'.
  • Loading branch information
adamsanadi6 committed Dec 3, 2024
1 parent de79b57 commit 6751c2f
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,14 @@ public boolean isExhausted() {

public void validate() throws ValidationException {
String prefix = identifierSource.getType().equals(IdentifierGeneratorType.userPoolBasedIdentifierGenerator) ? identifierSource.getPrefix() : assignedTo.getUserSettings().getIdPrefix();
if (Long.parseLong(identifierStart.replace(prefix, "")) > Long.parseLong(identifierEnd.replace(prefix, "")))
throw new ValidationException("Identifier start should be less than identifier end");

if (identifierSource.getType().equals(IdentifierGeneratorType.userBasedIdentifierGenerator) && assignedTo.getUserSettings().getIdPrefix() == null)
if (identifierSource.getType().equals(IdentifierGeneratorType.userBasedIdentifierGenerator) && (assignedTo.getUserSettings().getIdPrefix() == null || assignedTo.getUserSettings().getIdPrefix().isEmpty()))
throw new ValidationException("Id prefix is not assigned to the user");

if (!(identifierStart.startsWith(prefix) && identifierEnd.startsWith(prefix)))
throw new ValidationException("Both Identifier Start and End should match the prefix " + prefix);

if (Long.parseLong(identifierStart.replace(prefix, "")) > Long.parseLong(identifierEnd.replace(prefix, "")))
throw new ValidationException("Identifier start should be less than identifier end");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public ResponseEntity getOne(@PathVariable("id") Long id) {

@PostMapping(value = "/web/identifierUserAssignment")
@Transactional
ResponseEntity saveIdentifierAssignment(@RequestBody IdentifierUserAssignmentContractWeb request) {
public ResponseEntity saveIdentifierAssignment(@RequestBody IdentifierUserAssignmentContractWeb request) {
accessControlService.checkPrivilege(PrivilegeType.EditIdentifierUserAssignment);
IdentifierUserAssignment identifierUserAssignment = getIdentifierUserAssignment(request);

Expand Down Expand Up @@ -116,6 +116,8 @@ private IdentifierUserAssignment getIdentifierUserAssignment(IdentifierUserAssig
identifierUserAssignment.setIdentifierSource(request.getIdentifierSourceId() == null ? null : identifierSourceRepository.findOne(request.getIdentifierSourceId()));
identifierUserAssignment.setIdentifierStart(request.getIdentifierStart());
identifierUserAssignment.setIdentifierEnd(request.getIdentifierEnd());
identifierUserAssignment.setId(request.getId());
identifierUserAssignment.setOrganisationId(request.getOrganisationId());
return identifierUserAssignment;
}
}

0 comments on commit 6751c2f

Please sign in to comment.