package fr.openwide.core.basicapp.web.application.profile.page; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.IModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import fr.openwide.core.basicapp.core.business.user.model.User; import fr.openwide.core.basicapp.core.util.binding.Bindings; import fr.openwide.core.basicapp.web.application.BasicApplicationSession; import fr.openwide.core.basicapp.web.application.profile.component.ProfileInformationPanel; import fr.openwide.core.basicapp.web.application.profile.template.ProfileTemplate; import fr.openwide.core.wicket.more.link.descriptor.IPageLinkDescriptor; import fr.openwide.core.wicket.more.link.descriptor.builder.LinkDescriptorBuilder; import fr.openwide.core.wicket.more.markup.html.template.model.BreadCrumbElement; import fr.openwide.core.wicket.more.model.BindingModel; public class ProfilePage extends ProfileTemplate { private static final long serialVersionUID = -8757939680257114559L; public static final IPageLinkDescriptor linkDescriptor() { return LinkDescriptorBuilder.start() .page(ProfilePage.class); } protected final IModel<User> userModel = BasicApplicationSession.get().getUserModel(); public ProfilePage(PageParameters parameters) { super(parameters); addBreadCrumbElement(new BreadCrumbElement(BindingModel.of(userModel, Bindings.user().fullName()))); add( new Label("pageTitle", BindingModel.of(userModel, Bindings.user().fullName())), new ProfileInformationPanel("description", userModel) ); } @Override protected void onDetach() { super.onDetach(); userModel.detach(); } }