added cancel button to students when already confirmed idea participation. also new dialog on supervisor project idea start page to see if watson boxes are filled in. + authorized for sys admins on new idea pages to make them ready for test server
This commit is contained in:
parent
f82710dec5
commit
ed0a4560b0
src/main/java/se/su/dsv/scipro
project
pages
panels
springdata
supervisor
@ -24,11 +24,13 @@ import se.su.dsv.scipro.match.dataobject.Idea.IdeaStatus;
|
||||
import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
|
||||
import se.su.dsv.scipro.project.panels.AcceptIdeaDialogPanel;
|
||||
import se.su.dsv.scipro.project.panels.CompleteIdeaDialogPanel;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.springdata.services.GenericService;
|
||||
import se.su.dsv.scipro.springdata.services.StudentService;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorIdeaService;
|
||||
|
||||
|
||||
@Authorization(authorizedRoles={Roles.SYSADMIN})
|
||||
public class ProjectIdeaStartPage extends AbstractProjectIdeaPage {
|
||||
|
||||
@SpringBean
|
||||
|
@ -1,16 +1,11 @@
|
||||
package se.su.dsv.scipro.project.panels;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.markup.html.basic.EnclosureContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.Button;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
@ -18,7 +13,6 @@ import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.match.dataobject.IdeaParticipation;
|
||||
import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
|
||||
import se.su.dsv.scipro.reusable.AddRemoveStudentsPanel;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorIdeaService;
|
||||
@ -44,7 +38,7 @@ public class AcceptIdeaDialogPanel extends Panel {
|
||||
public AcceptIdeaForm(String id, final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
|
||||
super(id, model);
|
||||
addPartnerPanel(model, unconfirmed);
|
||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, unconfirmed));
|
||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, unconfirmed, false));
|
||||
addUnconfirmedContainer(model, loggedInUser, unconfirmed); //Info box with accept/decline buttons
|
||||
addButton(model, loggedInUser, unconfirmed);
|
||||
}
|
||||
@ -67,7 +61,7 @@ public class AcceptIdeaDialogPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onSubmit(){
|
||||
ideaService.partnerDeclineIdea(model);
|
||||
ideaService.declineIdea(model);
|
||||
getSession().info("You have declined to be a part of the project: "+ model.getObject().getTitle());
|
||||
}
|
||||
};
|
||||
|
@ -7,7 +7,8 @@
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<form wicket:id="form">
|
||||
<div wicket:id="ideaDetails"></div>
|
||||
<span class="right"><input type="submit" wicket:id="cancelButton" value="Cancel selection of this project"/></span>
|
||||
<div wicket:id="ideaDetails"></div>
|
||||
<div class="prepend-top" wicket:id="watsonDetails"></div>
|
||||
<input type="submit" wicket:id="saveButton" value="Save"/>
|
||||
</form>
|
||||
|
@ -28,9 +28,10 @@ public class CompleteIdeaDialogPanel extends Panel {
|
||||
|
||||
public CompleteIdeaForm(String id, final IModel<SupervisorIdea> model) {
|
||||
super(id, model);
|
||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, true));
|
||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, true, false));
|
||||
add(new ProjectIdeaWatsonPanel("watsonDetails", model));
|
||||
addSaveButton(model);
|
||||
addCancelButton(model);
|
||||
}
|
||||
|
||||
private void addSaveButton(final IModel<SupervisorIdea> model) {
|
||||
@ -48,8 +49,21 @@ public class CompleteIdeaDialogPanel extends Panel {
|
||||
add(button);
|
||||
}
|
||||
|
||||
|
||||
private void addCancelButton(final IModel<SupervisorIdea> model) {
|
||||
Button button = new Button("cancelButton") {
|
||||
|
||||
private static final long serialVersionUID = -7066867035489876553L;
|
||||
|
||||
@Override
|
||||
public void onSubmit() {
|
||||
ideaService.declineIdea(model);
|
||||
getSession().info("Project idea participation cancelled");
|
||||
}
|
||||
};
|
||||
button.add(new JavascriptEventConfirmation("onClick", "Are you sure you want to cancel this selection?"));
|
||||
add(button);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,17 @@
|
||||
<b>Authors:</b><br />
|
||||
<span wicket:id="authorList"><span wicket:id="authorName"></span><br /></span>
|
||||
</div>
|
||||
<br />
|
||||
<div class="append-bottom" wicket:id="watsonEnclosure">
|
||||
<b>What?</b><br />
|
||||
<span wicket:id="what"></span><br /><br />
|
||||
<b>Why?</b><br />
|
||||
<span wicket:id="why"></span><br /><br />
|
||||
<b>Theoretically how?</b><br />
|
||||
<span wicket:id="theory"></span><br /><br />
|
||||
<b>Practically how?</b><br />
|
||||
<span wicket:id="practical"></span><br />
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -26,7 +26,7 @@ public class ProjectIdeaDetailsPanel extends Panel {
|
||||
@SpringBean
|
||||
private SupervisorService supervisorService;
|
||||
|
||||
public ProjectIdeaDetailsPanel(String id, IModel<SupervisorIdea> model, boolean showAuthors) {
|
||||
public ProjectIdeaDetailsPanel(String id, IModel<SupervisorIdea> model, boolean showAuthors, boolean showWatsons) {
|
||||
super(id, model);
|
||||
Employee ideaCreator = supervisorService.findOne(model.getObject().getCreator().getId());
|
||||
add(new Label("level", model.getObject().getProjectClass().getName()));
|
||||
@ -36,6 +36,7 @@ public class ProjectIdeaDetailsPanel extends Panel {
|
||||
addResearchAreas(ideaCreator);
|
||||
addKeywords(model);
|
||||
addAuthorsEnclosure(model, showAuthors); //List of authors so the partner knows who to write with before accepting
|
||||
addWatsonInfo(model, showWatsons); //Watson info when viewing in supervisor view
|
||||
}
|
||||
|
||||
private void addResearchAreas(Employee ideaCreator) {
|
||||
@ -80,9 +81,24 @@ public class ProjectIdeaDetailsPanel extends Panel {
|
||||
}
|
||||
};
|
||||
authorList.setVisible(showAuthors);
|
||||
EnclosureContainer authorEnc = new EnclosureContainer("authorsEnclosure", authorList);
|
||||
authorEnc.add(authorList);
|
||||
add(authorEnc);
|
||||
EnclosureContainer authorEnclosure = new EnclosureContainer("authorsEnclosure", authorList);
|
||||
authorEnclosure.add(authorList);
|
||||
add(authorEnclosure);
|
||||
}
|
||||
|
||||
private void addWatsonInfo(IModel<SupervisorIdea> model, boolean showWatsons) {
|
||||
String whatString = model.getObject().getWatson().getWhat().equals("")?"Waiting for student to fill in":model.getObject().getWatson().getWhat();
|
||||
String whyString = model.getObject().getWatson().getWhy().equals("")?"Waiting for student to fill in":model.getObject().getWatson().getWhy();
|
||||
String theoryString = model.getObject().getWatson().getTheoryHow().equals("")?"Waiting for student to fill in":model.getObject().getWatson().getTheoryHow();
|
||||
String pracString = model.getObject().getWatson().getPracticalHow().equals("")?"Waiting for student to fill in":model.getObject().getWatson().getPracticalHow();
|
||||
|
||||
Label what = new Label("what", whatString);
|
||||
what.setVisible(showWatsons);
|
||||
EnclosureContainer watsonEnclosure = new EnclosureContainer("watsonEnclosure", what);
|
||||
watsonEnclosure.add(new Label("why", whyString));
|
||||
watsonEnclosure.add(new Label("theory", theoryString));
|
||||
watsonEnclosure.add(new Label("practical", pracString));
|
||||
watsonEnclosure.add(what);
|
||||
add(watsonEnclosure);
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import se.su.dsv.scipro.components.AbstractMenuPanel;
|
||||
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightAuthorMyProjects;
|
||||
import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightProjectIdeas;
|
||||
import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
|
||||
import se.su.dsv.scipro.project.pages.MyProjectIdeasPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectIdeaStartPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
|
||||
@ -32,7 +33,7 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
|
||||
List<MenuItem> itemList = new ArrayList<MenuItem>();
|
||||
|
||||
itemList.add(new MenuItem("My project(s)", ProjectStartPage.class, MenuHighlightAuthorMyProjects.class));
|
||||
itemList.add(new MenuItem("Project ideas", ProjectIdeaStartPage.class, MenuHighlightProjectIdeas.class));
|
||||
itemList.add(new MenuItem("Project ideas", MyProjectIdeasPage.class, MenuHighlightProjectIdeas.class));
|
||||
itemList.add(new MenuItem("Project Partner", ProjectPartnerPage.class));
|
||||
itemList.add(new MenuItem("All Final Seminars", FinalSeminarProjectListPage.class));
|
||||
|
||||
|
@ -54,7 +54,7 @@ public class ProjectsOverviewPanel extends Panel {
|
||||
setResponsePage(ProjectDetailsPage.class, pp);
|
||||
}
|
||||
if(projects.size()==0){
|
||||
setResponsePage(ProjectIdeaStartPage.class);
|
||||
setResponsePage(MyProjectIdeasPage.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,10 @@
|
||||
package se.su.dsv.scipro.springdata.serviceimpls;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -25,6 +22,7 @@ import se.su.dsv.scipro.match.dataobject.Idea.IdeaStatus;
|
||||
import se.su.dsv.scipro.match.dataobject.IdeaParticipation;
|
||||
import se.su.dsv.scipro.match.dataobject.QSupervisorIdea;
|
||||
import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
|
||||
import se.su.dsv.scipro.match.dataobject.Watson;
|
||||
import se.su.dsv.scipro.springdata.repos.SupervisorIdeaRepo;
|
||||
import se.su.dsv.scipro.springdata.services.StudentService;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorIdeaService;
|
||||
@ -41,8 +39,6 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
|
||||
private SupervisorIdeaRepo supervisorIdeaRepo;
|
||||
@Resource
|
||||
private StudentService studentService;
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
||||
private int MAX_PARTNERS = 1;
|
||||
|
||||
@ -132,12 +128,16 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
|
||||
|
||||
@Override
|
||||
@Transactional ( readOnly = false )
|
||||
public void partnerDeclineIdea(IModel<SupervisorIdea> model) {
|
||||
public void declineIdea(IModel<SupervisorIdea> model) {
|
||||
SupervisorIdea idea = supervisorIdeaRepo.findOne(model.getObject().getId());
|
||||
//Remove participations
|
||||
for (IdeaParticipation ip : idea.getIdeaParticipations()) {
|
||||
Student s = ip.getStudent();
|
||||
s.removeIdeaParticipation(ip);
|
||||
}
|
||||
}
|
||||
//Erase watson boxes
|
||||
idea.setWatson(new Watson());
|
||||
//Change status back to waiting
|
||||
idea.setIdeaStatus(IdeaStatus.WAITING);
|
||||
|
||||
}
|
||||
@ -146,10 +146,14 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
|
||||
@Transactional ( readOnly = false )
|
||||
public void updateIdea(IModel<SupervisorIdea> model) {
|
||||
SupervisorIdea idea = supervisorIdeaRepo.findOne(model.getObject().getId());
|
||||
idea.getWatson().setWhat(model.getObject().getWatson().getWhat());
|
||||
idea.getWatson().setWhy(model.getObject().getWatson().getWhy());
|
||||
idea.getWatson().setTheoryHow(model.getObject().getWatson().getTheoryHow());
|
||||
idea.getWatson().setPracticalHow(model.getObject().getWatson().getPracticalHow());
|
||||
if(model.getObject().getWatson().getWhat()!=null)
|
||||
idea.getWatson().setWhat(model.getObject().getWatson().getWhat());
|
||||
if(model.getObject().getWatson().getWhy()!=null)
|
||||
idea.getWatson().setWhy(model.getObject().getWatson().getWhy());
|
||||
if(model.getObject().getWatson().getTheoryHow()!=null)
|
||||
idea.getWatson().setTheoryHow(model.getObject().getWatson().getTheoryHow());
|
||||
if(model.getObject().getWatson().getPracticalHow()!=null)
|
||||
idea.getWatson().setPracticalHow(model.getObject().getWatson().getPracticalHow());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -238,11 +242,4 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
|
||||
return supervisorIdeaRepo.count(byStatus(status));
|
||||
}
|
||||
|
||||
private List<SupervisorIdea> constructList(Iterable<SupervisorIdea> ideas) {
|
||||
List<SupervisorIdea> list = new ArrayList<SupervisorIdea>();
|
||||
for (SupervisorIdea idea : ideas) {
|
||||
list.add(idea);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public interface SupervisorIdeaService extends GenericService<SupervisorIdea, Lo
|
||||
void saveSupervisorCreatedIdea(IModel<SupervisorIdea> model, Employee creator, SortedSet<Student> students);
|
||||
void deleteWaitingIdea(IModel<SupervisorIdea> model);
|
||||
void partnerAcceptIdea(IModel<SupervisorIdea> model, User loggedInUser);
|
||||
void partnerDeclineIdea(IModel<SupervisorIdea> model);
|
||||
void declineIdea(IModel<SupervisorIdea> model);
|
||||
void updateIdea(IModel<SupervisorIdea> model);
|
||||
|
||||
boolean acceptIdea(IModel<SupervisorIdea> model, User mainAuthor, SortedSet<Student> sortedSet);
|
||||
|
@ -5,8 +5,11 @@ import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.FeedbackPanel;
|
||||
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.supervisor.panels.SupervisorProjectIdeaOverviewPanel;
|
||||
|
||||
@Authorization(authorizedRoles={Roles.SYSADMIN})
|
||||
public class SupervisorProjectIdeaStartPage extends AbstractSupervisorProjectIdeaPage {
|
||||
|
||||
private FeedbackPanel feedbackPanel;
|
||||
|
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<form wicket:id="form">
|
||||
<div wicket:id="ideaDetails"></div>
|
||||
</form>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,30 @@
|
||||
package se.su.dsv.scipro.supervisor.panels;
|
||||
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
|
||||
import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
|
||||
import se.su.dsv.scipro.project.panels.ProjectIdeaDetailsPanel;
|
||||
|
||||
public class SupervisorIdeaDetailsPanel extends Panel {
|
||||
|
||||
public SupervisorIdeaDetailsPanel(String id, IModel<SupervisorIdea> model) {
|
||||
super(id, model);
|
||||
add(new SupervisorIdeaDetailsForm("form", model));
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 29731924490786784L;
|
||||
|
||||
private class SupervisorIdeaDetailsForm extends Form<SupervisorIdea> {
|
||||
|
||||
private static final long serialVersionUID = -9118352523380756043L;
|
||||
|
||||
public SupervisorIdeaDetailsForm(String id, final IModel<SupervisorIdea> model) {
|
||||
super(id, model);
|
||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, true, true));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -5,6 +5,9 @@
|
||||
</head>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div wicket:id="dialog">
|
||||
<div wicket:id="dialogPanel"></div>
|
||||
</div>
|
||||
<form wicket:id="form">
|
||||
<div class="span-5" wicket:id="levelFilter"></div>
|
||||
<div class="span-5">
|
||||
|
@ -8,10 +8,12 @@ import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
|
||||
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.form.Form;
|
||||
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.odlabs.wiquery.ui.dialog.Dialog;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
@ -22,6 +24,7 @@ import se.su.dsv.scipro.datatables.project.GenericDataPanel;
|
||||
import se.su.dsv.scipro.icons.ImageIcon;
|
||||
import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
|
||||
import se.su.dsv.scipro.match.panel.FilterFormProjectClass;
|
||||
import se.su.dsv.scipro.project.panels.AcceptIdeaDialogPanel;
|
||||
import se.su.dsv.scipro.springdata.services.GenericService;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorIdeaService;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorService;
|
||||
@ -35,15 +38,27 @@ public class SupervisorProjectIdeaOverviewPanel extends Panel {
|
||||
private SupervisorService supervisorService;
|
||||
private GenericDataPanel<SupervisorIdea> genericDataPanel;
|
||||
private SupervisorIdeaService.FilterParams params;
|
||||
private Dialog dialog;
|
||||
|
||||
private static final long serialVersionUID = -9010467449322120267L;
|
||||
|
||||
public SupervisorProjectIdeaOverviewPanel(String id, final User supervisor) {
|
||||
super(id);
|
||||
addDialog();
|
||||
addDataTable(supervisor);
|
||||
add(new FilterForm("form", supervisor));
|
||||
}
|
||||
|
||||
private void addDialog() {
|
||||
dialog = new Dialog("dialog");
|
||||
dialog.setModal(true);
|
||||
dialog.setAutoOpen(false);
|
||||
dialog.setWidth(500);
|
||||
dialog.setHeight(600);
|
||||
dialog.add(new EmptyPanel("dialogPanel"));
|
||||
add(dialog);
|
||||
}
|
||||
|
||||
private void addDataTable(final User supervisor) {
|
||||
add(genericDataPanel = new GenericDataPanel<SupervisorIdea>("dataPanel") {
|
||||
|
||||
@ -73,12 +88,12 @@ public class SupervisorProjectIdeaOverviewPanel extends Panel {
|
||||
private static final long serialVersionUID = 4667741924987868274L;
|
||||
|
||||
@Override
|
||||
protected void onClick(IModel<SupervisorIdea> clicked,
|
||||
protected void onClick(IModel<SupervisorIdea> ideaModel,
|
||||
AjaxRequestTarget target) {
|
||||
PageParameters pp = new PageParameters();
|
||||
pp.put("idea", clicked.getObject().getId());
|
||||
pp.put("readOnly", true);
|
||||
setResponsePage(SupervisorIdeaSubmissionPage.class, pp);
|
||||
dialog.replace(new SupervisorIdeaDetailsPanel("dialogPanel", ideaModel));
|
||||
dialog.setTitle("Selected supervisor project idea");
|
||||
target.addComponent(dialog);
|
||||
dialog.open(target);
|
||||
}
|
||||
};
|
||||
columns[3] = new PropertyColumn<SupervisorIdea>(Model.of("Creator"), "creator.user.lastName", "creator");
|
||||
|
@ -31,7 +31,7 @@ public class SupervisorTabMenuPanel extends AbstractMenuPanel {
|
||||
|
||||
List<MenuItem> items = new ArrayList<MenuItem>();
|
||||
items.add(new MenuItem("My projects", SupervisorStartPage.class, MenuHighlightSupervisorMyProjects.class));
|
||||
items.add(new MenuItem("Project ideas", SupervisorProjectIdeaStartPage.class, MenuHighlightSupervisorProjectIdea.class));
|
||||
items.add(new MenuItem("Project ideas", SupervisorMyProjectIdeasPage.class, MenuHighlightSupervisorProjectIdea.class));
|
||||
//items.add(new MenuItem("Unmatched project ideas", SupervisorInterestPage.class));
|
||||
items.add(new MenuItem("Activity plan templates", SupervisorScheduleTemplatesPage.class));
|
||||
items.add(new MenuItem("Peer portal", SupervisorPeerListPage.class));
|
||||
|
Loading…
x
Reference in New Issue
Block a user