some improvements

This commit is contained in:
fred-fri 2012-08-01 14:21:12 +09:00
parent 0387f61010
commit ab5bc053b1
3 changed files with 44 additions and 11 deletions
src/main/java/se/su/dsv/scipro

@ -42,7 +42,7 @@ public class ProjectIdea extends DomainObject {
)
private Set<Employee> interestedSupervisors = new HashSet<Employee>();
@ManyToMany
@ManyToMany(fetch = FetchType.EAGER)
private List<Student> authors = new ArrayList<Student>();
@ManyToOne

@ -1,13 +1,16 @@
<!DOCTYPE html>
<html
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
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 wicket:id="dp"></div>
</wicket:extend>
<wicket:extend>
<!--<div class="prepend-top span-24 last">-->
<!--<div wicket:id="feedBackPanel" />-->
<!--<div wicket:id="matchedThesisPanel"></div> -->
<!--</div>-->
<div wicket:id="dialog">
<div wicket:id="dialogPanel"></div>
</div>
<div wicket:id="dp"></div>
</wicket:extend>
</body>
</html>

@ -3,14 +3,20 @@ package se.su.dsv.scipro.supervisor.pages;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
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.EmptyPanel;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
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.SciProSession;
import se.su.dsv.scipro.data.dataobjects.Project;
import se.su.dsv.scipro.datatables.ClickableTitleColumn;
import se.su.dsv.scipro.datatables.DateColumn;
import se.su.dsv.scipro.datatables.GenericDataPanel;
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
import se.su.dsv.scipro.reusable.SafeLongToIntService;
@ -18,6 +24,7 @@ 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 se.su.dsv.scipro.supervisor.panels.WatsonInfoPanel;
import java.util.Iterator;
@ -33,6 +40,8 @@ public class SupervisorMyProjectIdeasPage extends AbstractSupervisorProjectIdeaP
@SpringBean
private EmployeeService employeeService;
private Dialog dialog;
public SupervisorMyProjectIdeasPage(PageParameters pp) {
super(pp);
// Component feedBackPanel = new FeedbackPanel("feedBackPanel");
@ -40,6 +49,13 @@ public class SupervisorMyProjectIdeasPage extends AbstractSupervisorProjectIdeaP
// add(feedBackPanel);
// add(new SupervisorMatchedThesisPanel("matchedThesisPanel", SciProSession.get().getUser(), "Supervisor", feedBackPanel));
dialog = new Dialog("dialog");
dialog.setModal(true);
dialog.setAutoOpen(false);
dialog.setWidth(550);
dialog.setHeight(700);
dialog.add(new EmptyPanel("dialogPanel"));
add(dialog);
add(new GenericDataPanel<ProjectIdea>("dp") {
@ -55,8 +71,22 @@ public class SupervisorMyProjectIdeasPage extends AbstractSupervisorProjectIdeaP
@Override
public IColumn[] getColumns() {
IColumn[] columns = new IColumn[1];
columns[0] = new PropertyColumn<ProjectIdea>(Model.of("Title"), "title", "title");
IColumn[] columns = new IColumn[3];
columns[0] = new PropertyColumn<ProjectIdea>(Model.of("Level"), "projectClass", "projectClass");
// columns[1] = new PropertyColumn<ProjectIdea>(Model.of("Title"), "title", "title");
columns[1] = new ClickableTitleColumn<ProjectIdea>(Model.of("Title"), "title", "title") {
@Override
protected void onClick(IModel<ProjectIdea> clicked, AjaxRequestTarget target) {
dialog.replace(new WatsonInfoPanel("dialogPanel", clicked.getObject()));
dialog.setTitle("Project idea: " + clicked.getObject().getTitle());
target.addComponent(dialog);
dialog.open(target);
}
};
columns[2] = new DateColumn<ProjectIdea>(Model.of("Received"), "match.dateCreated", "match.dateCreated");
return columns;
}