package org.dcache.webadmin.view.panels.userpanel; import org.apache.wicket.Session; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.model.PropertyModel; import org.dcache.webadmin.view.beans.WebAdminInterfaceSession; import org.dcache.webadmin.view.pages.dcacheservices.DCacheServices; import org.dcache.webadmin.view.panels.basepanel.BasePanel; import org.dcache.webadmin.view.util.LogInLink; /** * * This Panel is for displaying the login information for a user. * It adds a login link that redirects a user to the login page. * When user is logged in it displays the username. * The logout link invalidates a session and redirects the user to the home page. * * @author tanja */ public class UserPanel extends BasePanel { private static final long serialVersionUID = -4419358909048041100L; public UserPanel(String id) { super(id); add(new Label("username", new PropertyModel(this, "session.userName"))); add(new Link("logout") { private static final long serialVersionUID = -7805117496020130503L; @Override public void onClick() { if (((WebAdminInterfaceSession) Session.get()).isSignedIn()) { getSession().invalidate(); setResponsePage(DCacheServices.class); } } @Override public boolean isVisible() { return ((WebAdminInterfaceSession) Session.get()).isSignedIn(); } }); add(new LogInLink("login") { private static final long serialVersionUID = 6704578675572299011L; @Override public boolean isVisible() { return !((WebAdminInterfaceSession) Session.get()).isSignedIn(); } }); } }