/* Date: December 3, 2010
* Template: PluginScreenJavaTemplateGen.java.ftl
* generator: org.molgenis.generators.ui.PluginScreenJavaTemplateGen 3.3.3
*
*/
package plugins.header;
import org.molgenis.auth.DatabaseLogin;
import org.molgenis.framework.db.Database;
import org.molgenis.framework.ui.PluginModel;
import org.molgenis.framework.ui.ScreenController;
import org.molgenis.util.Entity;
import org.molgenis.util.Tuple;
//import plugins.emptydb.emptyDatabase;
//import app.FillMetadata;
public class BbmriHeader extends PluginModel<Entity>
{
/**
*
*/
private static final long serialVersionUID = 5516712543692105018L;
private String userLogin = new String();
public BbmriHeader(String name, ScreenController<?> parent)
{
super(name, parent);
}
@Override
public String getCustomHtmlHeaders()
{
return "<link rel=\"stylesheet\" style=\"text/css\" href=\"bbmri/css/bbmri_colors.css\">" + "\n";
}
@Override
public String getViewName()
{
return "plugins_header_BbmriHeader";
}
@Override
public String getViewTemplate()
{
return "plugins/header/BbmriHeader.ftl";
}
@Override
public void handleRequest(Database db, Tuple request) throws Exception
{
System.out.println("__________");
if ("doLogout".equals(request.getAction()))
{
System.out.println("asfgsgas");
this.getLogin().logout(db);
// getLogin().logout(db);
}
}
// private void prefillDb(Database db) {
// try {
//
// // Empty DB and run generated sql scripts
// new emptyDatabase(db, false);
// FillMetadata.fillMetadata(db, false, "SimpleUserLoginPlugin");
//
// this.getMessages().add(new
// ScreenMessage("Your database was empty, so it was prefilled with entities needed to make bbmri application run",
// true));
// } catch (Exception e) {
// String message =
// "Something went wrong while trying to prefill your database";
// if (e.getMessage() != null) {
// message += (": " + e.getMessage());
// }
// this.getMessages().add(new ScreenMessage(message, false));
// e.printStackTrace();
// }
// }
@Override
public void reload(Database db)
{
// try {
// int nrOfUsersInDb = db.count(MolgenisUser.class);
// if (nrOfUsersInDb == 0) { // Check if DB is filled by counting the
// nr. of users (should always be >= 2)
// prefillDb(db);
// }
// } catch (Exception e) {
// prefillDb(db);
// }
this.setUserLogin();
}
@Override
public boolean isVisible()
{
// you can use this to hide this plugin, e.g. based on user rights.
// e.g.
// if(!this.getLogin().hasEditPermission(myEntity)) return false;
return true;
}
// public void Logout() {
// if (this.getLogin().isAuthenticated()) {
// getLogin().logout();
// }
// }
public void setUserLogin()
{
if (this.getLogin().isAuthenticated())
{
this.userLogin = "<a href='molgenis.do?__target=main&select=SimpleUserLogin'>" + "Welcome "
+ ((DatabaseLogin) this.getLogin()).getFullUserName() + "</a>";
this.userLogin += "<a href='molgenis.do?__target=BbmriHeader&select=SimpleUserLogin&__action=doLogout'>"
+ " | Logout " + "</a>";
}
else
{
// this.userLogin =
// "<a href='http://vm7.target.rug.nl/bbmri_gcc/molgenis.do?__target=main&select=UserLogin'>"
// + "Login" + "</a>";
this.userLogin = "<a href='molgenis.do?__target=main&select=SimpleUserLogin'>" + "Login" + "</a>";
}
}
public String getUserLogin()
{
return userLogin;
}
}