made new accepted student project idea datapanel
This commit is contained in:
parent
ea53b74f45
commit
0387f61010
src/main/java/se/su/dsv/scipro
springdata
supervisor/pages
@ -8,6 +8,7 @@ import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.match.dataobject.Match;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
@ -55,6 +56,11 @@ public class ProjectIdeaServiceImpl extends AbstractQueryService<ProjectIdea, Lo
|
||||
return projectIdeaRepo.findAll(isMatchStatus(status), pageable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<ProjectIdea> findByMatchedTo(Employee employee, Pageable pageable) {
|
||||
return projectIdeaRepo.findAll(isMatchStatus(Match.Status.CONFIRMED).and(isMatchedTo(employee)), pageable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long countProjectIdeaByMatchStatus(Match.Status status) {
|
||||
return projectIdeaRepo.count(isMatchStatus(status));
|
||||
@ -65,6 +71,11 @@ public class ProjectIdeaServiceImpl extends AbstractQueryService<ProjectIdea, Lo
|
||||
return projectIdeaRepo.count(isMatchStatus(status).and(isProjectClass(projectClass)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long countByMatchedTo(Employee employee) {
|
||||
return projectIdeaRepo.count(isMatchStatus(Match.Status.CONFIRMED).and(isMatchedTo(employee)));
|
||||
}
|
||||
|
||||
private BooleanExpression isMatchStatus(Match.Status status){
|
||||
return QProjectIdea.projectIdea.match.status.eq(status);
|
||||
}
|
||||
@ -115,4 +126,8 @@ public class ProjectIdeaServiceImpl extends AbstractQueryService<ProjectIdea, Lo
|
||||
|
||||
}
|
||||
|
||||
private BooleanExpression isMatchedTo(Employee employee){
|
||||
return QProjectIdea.projectIdea.match.supervisor.eq(employee);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import java.util.Set;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.match.dataobject.Match;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
@ -17,10 +18,14 @@ import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
public interface ProjectIdeaService extends GenericService<ProjectIdea,Long>, QueryService<ProjectIdea, Long> {
|
||||
|
||||
public Page<ProjectIdea> find(Set<Match.Status> statusSet, String filterString, Date fromDate, Date toDate, Pageable pageable);
|
||||
public Long count(Set<Match.Status> statusSet, String filterString, Date fromDate, Date toDate);
|
||||
|
||||
public Page<ProjectIdea> find(Match.Status status, Pageable pageable);
|
||||
public Long countProjectIdeaByMatchStatus(Match.Status status);
|
||||
public Page<ProjectIdea> findByMatchedTo(Employee employee, Pageable pageable);
|
||||
|
||||
|
||||
public Long count(Set<Match.Status> statusSet, String filterString, Date fromDate, Date toDate);
|
||||
public Long countProjectIdeaByMatchStatus(Match.Status status);
|
||||
public Long countProjectIdeaByMatchStatusAndProjectClass(Match.Status status, ProjectClass projectClass);
|
||||
public Long countByMatchedTo(Employee employee);
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,10 +3,11 @@
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<div class="prepend-top span-24 last">
|
||||
<div wicket:id="feedBackPanel" />
|
||||
<div wicket:id="matchedThesisPanel"></div>
|
||||
</div>
|
||||
<!--<div class="prepend-top span-24 last">-->
|
||||
<!--<div wicket:id="feedBackPanel" />-->
|
||||
<!--<div wicket:id="matchedThesisPanel"></div> -->
|
||||
<!--</div>-->
|
||||
<div wicket:id="dp"></div>
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
@ -3,20 +3,74 @@ package se.su.dsv.scipro.supervisor.pages;
|
||||
import org.apache.wicket.Component;
|
||||
import org.apache.wicket.PageParameters;
|
||||
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
|
||||
import org.apache.wicket.markup.html.panel.FeedbackPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.datatables.GenericDataPanel;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
import se.su.dsv.scipro.reusable.SafeLongToIntService;
|
||||
import se.su.dsv.scipro.springdata.services.EmployeeService;
|
||||
import se.su.dsv.scipro.springdata.services.GenericService;
|
||||
import se.su.dsv.scipro.springdata.services.ProjectIdeaService;
|
||||
import se.su.dsv.scipro.supervisor.panels.SupervisorMatchedThesisPanel;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public class SupervisorMyProjectIdeasPage extends AbstractSupervisorProjectIdeaPage {
|
||||
|
||||
public static final String MAIN_MENU_LABEL = "Supervisor";
|
||||
private static final long serialVersionUID = -6146389373527384427L;
|
||||
|
||||
@SpringBean
|
||||
private ProjectIdeaService projectIdeaService;
|
||||
@SpringBean
|
||||
private SafeLongToIntService safeLongToIntService;
|
||||
@SpringBean
|
||||
private EmployeeService employeeService;
|
||||
|
||||
public SupervisorMyProjectIdeasPage(PageParameters pp) {
|
||||
super(pp);
|
||||
Component feedBackPanel = new FeedbackPanel("feedBackPanel");
|
||||
feedBackPanel.setOutputMarkupId(true);
|
||||
add(feedBackPanel);
|
||||
add(new SupervisorMatchedThesisPanel("matchedThesisPanel", SciProSession.get().getUser(), "Supervisor", feedBackPanel));
|
||||
}
|
||||
super(pp);
|
||||
// Component feedBackPanel = new FeedbackPanel("feedBackPanel");
|
||||
// feedBackPanel.setOutputMarkupId(true);
|
||||
// add(feedBackPanel);
|
||||
// add(new SupervisorMatchedThesisPanel("matchedThesisPanel", SciProSession.get().getUser(), "Supervisor", feedBackPanel));
|
||||
|
||||
|
||||
add(new GenericDataPanel<ProjectIdea>("dp") {
|
||||
|
||||
@Override
|
||||
public GenericService getService() {
|
||||
return projectIdeaService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSortString() {
|
||||
return "dateCreated";
|
||||
}
|
||||
|
||||
@Override
|
||||
public IColumn[] getColumns() {
|
||||
IColumn[] columns = new IColumn[1];
|
||||
columns[0] = new PropertyColumn<ProjectIdea>(Model.of("Title"), "title", "title");
|
||||
return columns;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<ProjectIdea> getIterator() {
|
||||
return projectIdeaService.findByMatchedTo(employeeService.findByUser(SciProSession.get().getUser()), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSize() {
|
||||
return safeLongToIntService.safeLongToInt(projectIdeaService.countByMatchedTo(employeeService.findByUser(SciProSession.get().getUser())));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user