3122 Stöd för manuell hantering av slutsem för handledare

This commit is contained in:
Wayne Westmoreland 2023-10-05 21:55:56 +02:00
parent 2fc1b53394
commit 3a45f356eb
3 changed files with 31 additions and 3 deletions
core/src/main/java/se/su/dsv/scipro/finalseminar
view/src/main/java/se/su/dsv/scipro/finalseminar

@ -59,6 +59,7 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
private Boolean onlyActiveOrCompletedProjects;
private User headSupervisor;
private DegreeType degreeType;
private Boolean onlyNotHavingManualParticipants;
public Date getFromDate() {
return this.fromDate;
@ -124,6 +125,14 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
this.degreeType = degreeType;
}
public Boolean getOnlyNotHavingManualParticipants() {
return onlyNotHavingManualParticipants;
}
public void setOnlyNotHavingManualParticipants(Boolean onlyNotHavingManualParticipants) {
this.onlyNotHavingManualParticipants = onlyNotHavingManualParticipants;
}
@Override
public boolean equals(final Object o) {
if (o == this) return true;
@ -137,7 +146,8 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
&& Objects.equals(this.getOnlyActiveProjects(), other.getOnlyActiveProjects())
&& Objects.equals(this.getOnlyActiveOrCompletedProjects(), other.getOnlyActiveOrCompletedProjects())
&& Objects.equals(this.getHeadSupervisor(), other.getHeadSupervisor())
&& Objects.equals(this.getDegreeType(), other.getDegreeType());
&& Objects.equals(this.getDegreeType(), other.getDegreeType())
&& Objects.equals(this.onlyNotHavingManualParticipants, other.onlyNotHavingManualParticipants);
}
protected boolean canEqual(final Object other) {
@ -154,12 +164,22 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
this.getOnlyActiveProjects(),
this.getOnlyActiveOrCompletedProjects(),
this.getHeadSupervisor(),
this.getDegreeType());
this.getDegreeType(),
this.getOnlyNotHavingManualParticipants());
}
@Override
public String toString() {
return "FinalSeminarService.Filter(fromDate=" + this.getFromDate() + ", toDate=" + this.getToDate() + ", lazyDeleted=" + this.getLazyDeleted() + ", exempted=" + this.getExempted() + ", onlyActiveProjects=" + this.getOnlyActiveProjects() + ", onlyActiveOrCompletedProjects=" + this.getOnlyActiveOrCompletedProjects() + ", headSupervisor=" + this.getHeadSupervisor() + ", degreeType=" + this.getDegreeType() + ")";
return "FinalSeminarService.Filter(" +
"fromDate=" + this.getFromDate()
+ ", toDate=" + this.getToDate()
+ ", lazyDeleted=" + this.getLazyDeleted()
+ ", exempted=" + this.getExempted()
+ ", onlyActiveProjects=" + this.getOnlyActiveProjects()
+ ", onlyActiveOrCompletedProjects=" + this.getOnlyActiveOrCompletedProjects()
+ ", headSupervisor=" + this.getHeadSupervisor()
+ ", degreeType=" + this.getDegreeType()
+ ", onlyNotHavingManualParticipants=" + this.getOnlyNotHavingManualParticipants() + ")";
}
}
}

@ -346,6 +346,9 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
if (params.getOnlyActiveOrCompletedProjects() != null) {
bb.and(onlyActiveOrCompletedProjectsFilter());
}
if (params.getOnlyNotHavingManualParticipants() != null){
bb.and(onlyNotHavingManualParticipantsFilter());
}
if (params.getDegreeType() != null) {
bb.and(QFinalSeminar.finalSeminar.project.projectType.degreeType.eq(params.getDegreeType()));
}
@ -364,6 +367,10 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
return QFinalSeminar.finalSeminar.project.projectStatus.eq(ProjectStatus.ACTIVE);
}
private BooleanExpression onlyNotHavingManualParticipantsFilter() {
return QFinalSeminar.finalSeminar.manualParticipants.isFalse();
}
private BooleanExpression onlyActiveOrCompletedProjectsFilter() {
return QFinalSeminar.finalSeminar.project.projectStatus.in(ProjectStatus.ACTIVE, ProjectStatus.COMPLETED);
}

@ -55,6 +55,7 @@ public class ProjectOppositionPage extends AbstractProjectDetailsPage implements
filter.setLazyDeleted(Boolean.FALSE);
filter.setDegreeType(getActiveProject().getProjectType().getDegreeType());
filter.setOnlyActiveProjects(Boolean.TRUE);
filter.setOnlyNotHavingManualParticipants(Boolean.TRUE);
add(new FeedbackPanel("feedback"));