package plugins.autohidelogin; import org.molgenis.framework.db.Database; import org.molgenis.framework.ui.ApplicationController; import org.molgenis.framework.ui.FreemarkerView; import org.molgenis.framework.ui.ScreenController; import org.molgenis.framework.ui.ScreenView; import org.molgenis.util.Tuple; public class AutoHideLogin extends org.molgenis.auth.ui.UserLogin { public static String AUTOHIDE_LOGIN = "autohide_login_switch_boolean"; /** * Special version of UserLogin. After every login or logout, the plugin tab * hides itself. Must work together with AutoHideLoginSwitchService and a * header that uses the services, e.g. * apps/wormqtl/org/molgenis/wormqtl/header/MolgenisHeader.java */ private static final long serialVersionUID = -4799149937057039542L; public ApplicationController ac; public AutoHideLogin(String name, ScreenController<?> parent) { super(name, parent); this.setModel(new AutoHideLoginModel(this)); this.ac = this.getApplicationController(); } public ScreenView getView() { return new FreemarkerView("org/molgenis/auth/ui/UserLogin.ftl", getModel()); } @Override public void Login(Database db, Tuple request) throws Exception { super.Login(db, request); ac.sessionVariables.put(AUTOHIDE_LOGIN, false); } @Override public void Logout(Database db, Tuple request) throws Exception { super.Logout(db, request); ac.sessionVariables.put(AUTOHIDE_LOGIN, false); } }