get absolute url for pages

Change-Id: Iab35a47b44f046966da38a0996d0775e0bd2500c
This commit is contained in:
joha-asc 2011-07-22 15:58:35 +02:00
parent ff8d5d09db
commit 2a991b8091
2 changed files with 48 additions and 35 deletions

@ -5,25 +5,24 @@ package se.su.dsv.scipro.supervisor.pages;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.spring.injection.annot.SpringBean;
import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarDao;
import se.su.dsv.scipro.dataproviders.FinalSeminarAfterNowDataProvider;
import se.su.dsv.scipro.opponent.panels.ChangeViewPanel;
import se.su.dsv.scipro.opponent.panels.OpponentListViewPanel;
/**
* @author Johan Aschan - aschan@dsv.su.se
*
*
*/
public class SupervisorFinalSeminarListingPage extends AbstractSupervisorFinalSeminarPage {
public SupervisorFinalSeminarListingPage(PageParameters pp) {
super(pp);
WebMarkupContainer container = new WebMarkupContainer("container");
container.setOutputMarkupId(true);
container.add(new OpponentListViewPanel("finalSeminar", new FinalSeminarAfterNowDataProvider(), false, false));
container.add(new OpponentListViewPanel("finalSeminar",
new FinalSeminarAfterNowDataProvider(), false, false));
add(new ChangeViewPanel("changeViewPanel", container, false));
add(container);
}
}
}

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
@ -13,6 +14,7 @@ import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.RequestUtils;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.odlabs.wiquery.core.effects.EffectSpeed;
@ -26,20 +28,20 @@ import se.su.dsv.scipro.util.SelectOption;
import se.su.dsv.scipro.util.WiQueryCoreEffectsHelper;
public class SupervisorProjectsFinalSeminarPage extends AbstractSupervisorFinalSeminarPage {
public static final String MAIN_MENU_LABEL = "Final Seminars";
public static final String MAIN_MENU_LABEL = "Final Seminars";
@SpringBean
private ProjectDao projectDao;
private ProjectStatus selectedStatus;
private User loggedInUser;
public SupervisorProjectsFinalSeminarPage(final PageParameters pp){
public SupervisorProjectsFinalSeminarPage(final PageParameters pp) {
super(pp);
this.selectedStatus = ProjectStatus.ACTIVE;
this.loggedInUser = SciProSession.get().getUser();
final LoadableDetachableModel<List<Project>> projectsModel = new LoadableDetachableModel<List<Project>>() {
private static final long serialVersionUID = 1L;
@ -47,56 +49,68 @@ public class SupervisorProjectsFinalSeminarPage extends AbstractSupervisorFinalS
protected List<Project> load() {
return projectDao.getProjectsByHeadSupervisor(loggedInUser, selectedStatus);
}
};
final WebMarkupContainer projectListContainer = new WebMarkupContainer("projectListContainer");
final WebMarkupContainer projectListContainer = new WebMarkupContainer(
"projectListContainer");
projectListContainer.setOutputMarkupId(true);
final ListView<Project> activeProjectsListView = new ListView<Project>("activeProjectsListView", projectsModel){
final ListView<Project> activeProjectsListView = new ListView<Project>(
"activeProjectsListView", projectsModel) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(ListItem<Project> item) {
final Project project = item.getModelObject();
item.add(new Label("projectTitle", project.getTitle()));
item.add(new ProjectFinalSeminarContainerPanel("projectSeminarContainer", project, true));
item.add(new ProjectFinalSeminarContainerPanel("projectSeminarContainer", project,
true));
add(item);
}
};
projectListContainer.add(new Label("noProjectsFoundMessage", "No projects found"){
projectListContainer.add(new Label("noProjectsFoundMessage", "No projects found") {
private static final long serialVersionUID = 1L;
@Override
public boolean isVisible(){
public boolean isVisible() {
return activeProjectsListView.getModelObject().size() == 0;
}
});
projectListContainer.add(activeProjectsListView);
add(projectListContainer);
final List<SelectOption<ProjectStatus>> statusOptions = new ArrayList<SelectOption<ProjectStatus>>();
statusOptions.add(new SelectOption<ProjectStatus>("Active projects", ProjectStatus.ACTIVE));
statusOptions.add(new SelectOption<ProjectStatus>("Inactive projects", ProjectStatus.INACTIVE));
statusOptions.add(new SelectOption<ProjectStatus>("Completed projects", ProjectStatus.COMPLETED));
final DropDownChoice<SelectOption<ProjectStatus>> statusOptionsDD =
new DropDownChoice<SelectOption<ProjectStatus>>("statusOptionsDD",
new Model<SelectOption<ProjectStatus>>(statusOptions.get(0)), statusOptions);
statusOptionsDD.add(new AjaxFormComponentUpdatingBehavior("onchange"){
statusOptions.add(new SelectOption<ProjectStatus>("Inactive projects",
ProjectStatus.INACTIVE));
statusOptions.add(new SelectOption<ProjectStatus>("Completed projects",
ProjectStatus.COMPLETED));
final DropDownChoice<SelectOption<ProjectStatus>> statusOptionsDD = new DropDownChoice<SelectOption<ProjectStatus>>(
"statusOptionsDD", new Model<SelectOption<ProjectStatus>>(statusOptions.get(0)),
statusOptions);
statusOptionsDD.add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
selectedStatus = statusOptionsDD.getModelObject().value;
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(projectListContainer, EffectSpeed.FAST));
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(projectListContainer,
EffectSpeed.FAST));
}
});
add(statusOptionsDD);
}
public static String getAbsoluteURL() {
PageParameters pageParameters = new PageParameters();
return RequestUtils.toAbsolutePath(RequestCycle.get()
.urlFor(SupervisorProjectsFinalSeminarPage.class, pageParameters).toString());
}
}