Tog bort projectsupervisorpoolpage eftersom datat sätts i daisy
Change-Id: I2596d57fde61c7498c138b09ef5b1e74013e59bf
This commit is contained in:
parent
edc46cdaf6
commit
41f4ef02cb
src/main/java/se/su/dsv/scipro
@ -44,18 +44,6 @@ import se.su.dsv.scipro.knol.resource.page.ResourcePage;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LoginPage;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LogoutPage;
|
||||
import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
|
||||
import se.su.dsv.scipro.peer.pages.PeerRequestSubmissionPage;
|
||||
import se.su.dsv.scipro.peer.pages.PeerReviewTemplateCreationPage;
|
||||
import se.su.dsv.scipro.peer.pages.PeerReviewTemplatePage;
|
||||
import se.su.dsv.scipro.peer.pages.PeerReviewTemplatePreviewPage;
|
||||
import se.su.dsv.scipro.peer.pages.ProjectPeerPortalPage;
|
||||
import se.su.dsv.scipro.peer.pages.ProjectPeerReviewGuidePage;
|
||||
import se.su.dsv.scipro.peer.pages.ProjectPeerReviewPage;
|
||||
import se.su.dsv.scipro.peer.pages.ProjectPeerStatsPage;
|
||||
import se.su.dsv.scipro.peer.pages.SupervisorPeerPortalPage;
|
||||
import se.su.dsv.scipro.peer.pages.SupervisorPeerReviewGuidePage;
|
||||
import se.su.dsv.scipro.peer.pages.SupervisorPeerReviewPage;
|
||||
import se.su.dsv.scipro.peer.pages.SupervisorPeerStatsPage;
|
||||
import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
|
||||
import se.su.dsv.scipro.project.pages.NoActiveProjectPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectEventPage;
|
||||
@ -64,7 +52,6 @@ import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectScheduleGeneratorPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectSchedulePlannerPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectStartPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectSupervisorPoolPage;
|
||||
import se.su.dsv.scipro.repository.RepositoryApplication;
|
||||
import se.su.dsv.scipro.repository.pages.RepositoryDownloadPage;
|
||||
import se.su.dsv.scipro.repository.pages.SysAdminFilePage;
|
||||
@ -206,7 +193,6 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
|
||||
mountBookmarkablePage("project/files", ProjectFilePage.class);
|
||||
mountBookmarkablePage("project/schedule", ProjectSchedulePlannerPage.class);
|
||||
mountBookmarkablePage("project/opposition", ProjectOppositionPage.class);
|
||||
mountBookmarkablePage("project/supervisorpool", ProjectSupervisorPoolPage.class);
|
||||
mountBookmarkablePage("project/allfinalseminars", FinalSeminarProjectListPage.class);
|
||||
mountBookmarkablePage("project", ProjectStartPage.class);
|
||||
mountBookmarkablePage("noproject", NoActiveProjectPage.class);
|
||||
|
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:extend>
|
||||
|
||||
<div wicket:id="container" class="margin">
|
||||
<h3>Chosen co-supervisor(s)</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Choosen</th>
|
||||
</tr>
|
||||
<tr wicket:id="listView">
|
||||
<td><span wicket:id="userInfo"></span></td>
|
||||
<td><input type="checkbox" wicket:id="selected" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<h3>Available co-supervisor(s)</h3>
|
||||
<div>
|
||||
<label for="search">Search:</label> <input type="text" class="text"
|
||||
id="search" wicket:id="searchField" />
|
||||
</div>
|
||||
<div wicket:id="availableContainer" class="margin">
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Choosen</th>
|
||||
</tr>
|
||||
<tr wicket:id="userDataView">
|
||||
<td><span wicket:id="userInfo"></span></td>
|
||||
<td><input type="checkbox" wicket:id="choosen" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div wicket:id="pagingNavigator"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
@ -1,224 +0,0 @@
|
||||
package se.su.dsv.scipro.project.pages;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
|
||||
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.markup.repeater.data.DataView;
|
||||
import org.apache.wicket.markup.repeater.data.IDataProvider;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.PropertyModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectFollowerDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.RoleDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.UserDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectTeamMember;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
|
||||
import se.su.dsv.scipro.dataproviders.UserSearchDataProvider;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
|
||||
@Authorization(authorizedRoles={Roles.SYSADMIN})
|
||||
public class ProjectSupervisorPoolPage extends ProjectPage {
|
||||
|
||||
public static final String MAIN_MENU_LABEL = "Supervisor Pool";
|
||||
|
||||
@SpringBean
|
||||
ProjectDao projectDao;
|
||||
|
||||
@SpringBean
|
||||
ProjectFollowerDao projectFollowerDao;
|
||||
|
||||
@SpringBean
|
||||
UserDao userDao;
|
||||
|
||||
@SpringBean
|
||||
RoleDao roleDao;
|
||||
|
||||
private String userSearch;
|
||||
private DataView<User> dataView;
|
||||
private ListView<User> listView;
|
||||
private WebMarkupContainer container, availableContainer;
|
||||
private TextField<String> searchField;
|
||||
|
||||
public ProjectSupervisorPoolPage(PageParameters pp) {
|
||||
super(pp);
|
||||
searchField = new TextField<String>("searchField",
|
||||
new PropertyModel<String>(this, "userSearch"));
|
||||
container = new WebMarkupContainer("container");
|
||||
container.setOutputMarkupId(true);
|
||||
availableContainer = new WebMarkupContainer("availableContainer");
|
||||
availableContainer.setOutputMarkupId(true);
|
||||
|
||||
OnChangeAjaxBehavior userSearchTextBehaviour = new OnChangeAjaxBehavior() {
|
||||
|
||||
private static final long serialVersionUID = -3243439315735164519L;
|
||||
|
||||
@Override
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
if (userSearch != null) {
|
||||
if (userSearch.length() >= 3) {
|
||||
checkRole();
|
||||
}
|
||||
} else {
|
||||
checkRole();
|
||||
}
|
||||
target.addComponent(container);
|
||||
target.addComponent(availableContainer);
|
||||
};
|
||||
};
|
||||
|
||||
searchField.add(userSearchTextBehaviour);
|
||||
availableContainer.add(searchField);
|
||||
checkRole();
|
||||
|
||||
add(searchField);
|
||||
add(container);
|
||||
add(availableContainer);
|
||||
}
|
||||
|
||||
public void checkRole() {
|
||||
List<User> notIncludeList = new ArrayList<User>();
|
||||
List<User> projectFollowerList = new ArrayList<User>();
|
||||
notIncludeList.add(SciProSession.get().getActiveProject().getHeadSupervisor().getUser());
|
||||
for (ProjectFollower projectFollower : SciProSession.get().getActiveProject().getProjectFollowers()) {
|
||||
notIncludeList.add(projectFollower.getFollower().getUser());
|
||||
projectFollowerList.add(projectFollower.getFollower().getUser());
|
||||
}
|
||||
loadUserDataView(new UserSearchDataProvider(userSearch, Employee.class, notIncludeList), projectFollowerList);
|
||||
container.removeAll();
|
||||
container.add(listView);
|
||||
availableContainer.removeAll();
|
||||
availableContainer.add(dataView);
|
||||
availableContainer.add(new PagingNavigator("pagingNavigator", dataView));
|
||||
|
||||
}
|
||||
|
||||
public void loadUserDataView(IDataProvider<User> userDataProvider, List<User> userList) {
|
||||
dataView = new DataView<User>("userDataView", userDataProvider, 10) {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(Item<User> item) {
|
||||
final User user = item.getModelObject();
|
||||
String userInfo = user.getFirstName() + " " + user.getLastName() + " <"
|
||||
+ user.getEmailAddress() + ">";
|
||||
Label userInfoLabel = new Label("userInfo", userInfo);
|
||||
item.add(userInfoLabel);
|
||||
boolean choosen = false;
|
||||
|
||||
if (projectDao.isSupervisorOrFollowerOf(user, SciProSession.get()
|
||||
.getActiveProject())) {
|
||||
choosen = true;
|
||||
}
|
||||
AjaxCheckBox studentCheckBox = new AjaxCheckBox("choosen", new Model<Boolean>(
|
||||
choosen)) {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
Boolean model = (Boolean) getDefaultModelObject();
|
||||
ProjectFollower projectFollower = new ProjectFollower();
|
||||
projectFollower.setProjectRole(ProjectTeamMemberRoles.CO_SUPERVISOR);
|
||||
projectFollower.setProject(SciProSession.get().getActiveProject());
|
||||
ProjectTeamMember projectTeamMember = (ProjectTeamMember) roleDao
|
||||
.makeEmployee(userDao.reLoad(user));
|
||||
projectFollower.setFollower(projectTeamMember);
|
||||
projectFollower = projectFollowerDao.save(projectFollower);
|
||||
Project activeProject = SciProSession.get().getActiveProject();
|
||||
activeProject.getProjectFollowers().add(projectFollower);
|
||||
projectDao.save(activeProject);
|
||||
checkRole();
|
||||
target.addComponent(container);
|
||||
target.addComponent(availableContainer);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
item.add(studentCheckBox);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
listView = new ListView<User>("listView", userList) {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<User> item) {
|
||||
final User user = item.getModelObject();
|
||||
String userInfo = user.getFirstName() + " " + user.getLastName() + " <"
|
||||
+ user.getEmailAddress() + ">";
|
||||
Label userInfoLabel = new Label("userInfo", userInfo);
|
||||
item.add(userInfoLabel);
|
||||
boolean choosen = false;
|
||||
|
||||
if (projectDao.isSupervisorOrFollowerOf(user, SciProSession.get()
|
||||
.getActiveProject())) {
|
||||
choosen = true;
|
||||
}
|
||||
AjaxCheckBox studentCheckBox = new AjaxCheckBox("selected", new Model<Boolean>(
|
||||
choosen)) {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void onUpdate(AjaxRequestTarget target) {
|
||||
Boolean model = (Boolean) getDefaultModelObject();
|
||||
if (model) {
|
||||
ProjectFollower projectFollower = new ProjectFollower();
|
||||
projectFollower.setProjectRole(ProjectTeamMemberRoles.CO_SUPERVISOR);
|
||||
projectFollower.setProject(SciProSession.get().getActiveProject());
|
||||
ProjectTeamMember projectTeamMember = (ProjectTeamMember) roleDao
|
||||
.makeEmployee(userDao.reLoad(user));
|
||||
projectFollower.setFollower(projectTeamMember);
|
||||
projectFollower = projectFollowerDao.save(projectFollower);
|
||||
Project activeProject = SciProSession.get().getActiveProject();
|
||||
activeProject.getProjectFollowers().add(projectFollower);
|
||||
projectDao.save(activeProject);
|
||||
} else{
|
||||
Project activeProject = SciProSession.get().getActiveProject();
|
||||
SortedSet<ProjectFollower> projectFollowers = activeProject.getProjectFollowers();
|
||||
for(Iterator<ProjectFollower> it = projectFollowers.iterator(); it.hasNext();){
|
||||
if(it.next().getFollower().getUser().equals(user))
|
||||
it.remove();
|
||||
}
|
||||
projectDao.save(activeProject);
|
||||
|
||||
}
|
||||
checkRole();
|
||||
target.addComponent(container);
|
||||
target.addComponent(availableContainer);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
item.add(studentCheckBox);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -17,7 +17,6 @@ import se.su.dsv.scipro.project.pages.ProjectPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectSchedulePlannerPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectStartPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectSupervisorPoolPage;
|
||||
import se.su.dsv.scipro.repository.panels.ProjectFilePanel;
|
||||
|
||||
/**
|
||||
@ -45,7 +44,6 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
|
||||
itemList.add(new MenuItem("Files", ProjectFilePage.class, ProjectFilePanel.getPrefabricatedPageParameters(activeProject)));
|
||||
itemList.add(new MenuItem("Opposition & Active participation", ProjectOppositionPage.class));
|
||||
itemList.add(new MenuItem("Peer review", ProjectPeerPortalPage.class));
|
||||
itemList.add(new MenuItem("Supervisor Pool", ProjectSupervisorPoolPage.class));
|
||||
itemList.add(new MenuItem("All Final Seminars", FinalSeminarProjectListPage.class));
|
||||
} else {
|
||||
itemList.add(new MenuItem("No active project!", NoActiveProjectPage.class));
|
||||
|
Loading…
x
Reference in New Issue
Block a user