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.PageParameters;
import org.apache.wicket.markup.html.WebMarkupContainer; 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.dataproviders.FinalSeminarAfterNowDataProvider;
import se.su.dsv.scipro.opponent.panels.ChangeViewPanel; import se.su.dsv.scipro.opponent.panels.ChangeViewPanel;
import se.su.dsv.scipro.opponent.panels.OpponentListViewPanel; import se.su.dsv.scipro.opponent.panels.OpponentListViewPanel;
/** /**
* @author Johan Aschan - aschan@dsv.su.se * @author Johan Aschan - aschan@dsv.su.se
* *
*/ */
public class SupervisorFinalSeminarListingPage extends AbstractSupervisorFinalSeminarPage { public class SupervisorFinalSeminarListingPage extends AbstractSupervisorFinalSeminarPage {
public SupervisorFinalSeminarListingPage(PageParameters pp) { public SupervisorFinalSeminarListingPage(PageParameters pp) {
super(pp); super(pp);
WebMarkupContainer container = new WebMarkupContainer("container"); WebMarkupContainer container = new WebMarkupContainer("container");
container.setOutputMarkupId(true); 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(new ChangeViewPanel("changeViewPanel", container, false));
add(container); add(container);
} }
} }

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