3122 tr fIX Stöd för manuell hantering av slutsem för handledare
This commit is contained in:
parent
d027551c98
commit
0acf5f2bad
core/src/main/java/se/su/dsv/scipro/finalseminar
view/src/main/java/se/su/dsv/scipro/finalseminar
@ -269,10 +269,13 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
|
||||
@Override
|
||||
@Transactional
|
||||
public Either<OpposeError, FinalSeminarOpposition> attemptAddOppositionAsSupervisor(User student, FinalSeminar finalSeminar, Project project) {
|
||||
if (finalSeminar.getActiveParticipants().contains(student)) {
|
||||
|
||||
if (alreadyActiveParticipant(student, finalSeminar)) {
|
||||
return Either.left(OpposeError.ALREADY_PARTICIPANT);
|
||||
} else if (finalSeminar.getOpponents().contains(student)) {
|
||||
} else if (alreadyOpponent(student, finalSeminar)) {
|
||||
return Either.left(OpposeError.ALREADY_OPPONENT);
|
||||
} else if (isAuthor(student, finalSeminar)) {
|
||||
return Either.left(OpposeError.IS_AUTHOR);
|
||||
} else {
|
||||
return Either.right(createAndSaveOpposition(student, finalSeminar, project));
|
||||
}
|
||||
@ -298,10 +301,12 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
|
||||
@Override
|
||||
@Transactional
|
||||
public Either<ParticipateError, FinalSeminarActiveParticipation> attemptAddActiveParticipationAsSupervisor(User student, FinalSeminar finalSeminar, Project project) {
|
||||
if (finalSeminar.getActiveParticipants().contains(student)) {
|
||||
return Either.left(ParticipateError.AlreadyParticipant);
|
||||
} else if (finalSeminar.getOpponents().contains(student)) {
|
||||
return Either.left(ParticipateError.AlreadyOpponent);
|
||||
if (alreadyActiveParticipant(student, finalSeminar)) {
|
||||
return Either.left(ParticipateError.ALREADY_PARTICIPANT);
|
||||
} else if (alreadyOpponent(student, finalSeminar)) {
|
||||
return Either.left(ParticipateError.ALREADY_OPPONENT);
|
||||
} else if (isAuthor(student, finalSeminar)) {
|
||||
return Either.left(ParticipateError.IS_AUTHOR);
|
||||
} else {
|
||||
return Either.right(createAndSaveActiveParticipation(student, finalSeminar, project));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
public enum OpposeError {
|
||||
ALREADY_OPPONENT, ALREADY_PARTICIPANT
|
||||
ALREADY_OPPONENT, ALREADY_PARTICIPANT, IS_AUTHOR
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
public enum ParticipateError {
|
||||
AlreadyOpponent, AlreadyParticipant
|
||||
ALREADY_OPPONENT, ALREADY_PARTICIPANT, IS_AUTHOR
|
||||
}
|
@ -224,9 +224,11 @@ public class SeminarCRUDPanel extends GenericPanel<FinalSeminar> {
|
||||
result.fold(
|
||||
error -> {
|
||||
switch (error) {
|
||||
case AlreadyOpponent ->
|
||||
case IS_AUTHOR ->
|
||||
error(potentialParticipant.getFullName() + " that you selected as an active participant is an author");
|
||||
case ALREADY_OPPONENT ->
|
||||
error(potentialParticipant.getFullName() + " that you selected as an active participant is already an opponent");
|
||||
case AlreadyParticipant ->
|
||||
case ALREADY_PARTICIPANT ->
|
||||
error(potentialParticipant.getFullName() + " that you selected as an active participant is already an active participant");
|
||||
}
|
||||
return false;
|
||||
@ -261,6 +263,8 @@ public class SeminarCRUDPanel extends GenericPanel<FinalSeminar> {
|
||||
result.fold(
|
||||
error -> {
|
||||
switch (error) {
|
||||
case IS_AUTHOR ->
|
||||
error(potentialOpponent.getFullName() + " that you selected as an active participant is an author");
|
||||
case ALREADY_OPPONENT ->
|
||||
error(potentialOpponent.getFullName() + " that you selected as an opponent is already an opponent");
|
||||
case ALREADY_PARTICIPANT ->
|
||||
|
Loading…
x
Reference in New Issue
Block a user