Enforce code formatting via Prettier #44
|
@ -29,7 +29,7 @@ public interface DaisyAPI {
|
|||
|
||||
Response addContributor(Integer projectId, ProjectParticipant contributor);
|
||||
|
||||
void deleteThesisPerson(Integer projectId, Integer personId);
|
||||
Response deleteThesisPerson(Integer projectId, Integer personId);
|
||||
|
||||
Response createProject(ThesisToBeCreated project);
|
||||
|
||||
|
|
|
@ -144,8 +144,8 @@ public class DaisyAPIImpl implements DaisyAPI {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void deleteThesisPerson(Integer projectId, Integer personId) {
|
||||
thesis()
|
||||
public Response deleteThesisPerson(Integer projectId, Integer personId) {
|
||||
return thesis()
|
||||
.path(String.valueOf(projectId))
|
||||
.path(PERSON)
|
||||
.path(String.valueOf(personId))
|
||||
|
|
|
@ -4,6 +4,7 @@ import static com.querydsl.core.types.dsl.Expressions.anyOf;
|
|||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Named;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.time.Instant;
|
||||
import java.time.Period;
|
||||
import java.util.Calendar;
|
||||
|
@ -251,18 +252,36 @@ public class ProjectExporter extends AbstractWorker {
|
|||
}
|
||||
|
||||
private void updateHeadSupervisor(Project project) throws ExternalExportException {
|
||||
boolean add = true;
|
||||
boolean toAdd = true;
|
||||
Set<ProjectParticipant> contributors = daisyAPI.getContributors(project.getIdentifier());
|
||||
for (ProjectParticipant contributor : contributors) {
|
||||
if (contributor.getRole() == Role.SUPERVISOR) {
|
||||
if (contributor.getPerson().getId().equals(project.getHeadSupervisor().getIdentifier())) {
|
||||
add = false;
|
||||
toAdd = false;
|
||||
} else {
|
||||
daisyAPI.deleteThesisPerson(project.getIdentifier(), contributor.getPerson().getId());
|
||||
Response response = daisyAPI.deleteThesisPerson(
|
||||
project.getIdentifier(),
|
||||
contributor.getPerson().getId()
|
||||
);
|
||||
if (response.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) {
|
||||
LOG.warn(
|
||||
"Failed to delete supervisor from project: {} (id: {} / {})",
|
||||
project.getTitle(),
|
||||
project.getId(),
|
||||
project.getIdentifier()
|
||||
);
|
||||
|
||||
// Card 3413
|
||||
// Do not attempt to add the new supervisor if the old one is still there to prevent
|
||||
// the project from having multiple supervisors.
|
||||
// Hopefully Daisy API will soon have support for the function "change supervisor"
|
||||
// rather than just INSERT and DELETE rows in a table.
|
||||
toAdd = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (add) {
|
||||
if (toAdd) {
|
||||
externalExporter.addContributorToProject(project, project.getHeadSupervisor(), Role.SUPERVISOR);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user