package br.com.caelum.calopsita.plugins;
import br.com.caelum.calopsita.model.Card;
import br.com.caelum.calopsita.model.Iteration;
import br.com.caelum.calopsita.model.Menu;
import br.com.caelum.calopsita.model.Parameters;
import br.com.caelum.calopsita.model.Project;
import br.com.caelum.calopsita.model.SubmenuItem;
public class DefaultMenus {
public void includeMenus(Menu menu, Parameters parameters) {
if (!parameters.contains("project")) {
return;
}
Project project = parameters.get("project");
menu.getOrCreate("iteration.current")
.add(new SubmenuItem("iteration.current", "/projects/" + project.getId() + "/iterations/current/"));
menu.getOrCreate("iterations")
.add(new SubmenuItem("iterations.all", "/projects/" + project.getId() + "/iterations/"))
.add(new SubmenuItem("project.addIteration", "/projects/" + project.getId() + "/iterations/new/"));
if (parameters.contains("iteration")) {
Iteration iteration = parameters.get("iteration");
menu.getOrCreate("iteration.current")
.add(new SubmenuItem("iteration.edit", "/projects/" + project.getId() + "/iterations/" + iteration.getId() + "/edit/"));
menu.getOrCreate("iterations")
.add(new SubmenuItem("iteration.edit", "/projects/" + project.getId() + "/iterations/" + iteration.getId() + "/edit/"));
}
menu.getOrCreate("cards")
.add(new SubmenuItem("cards.pending", "/projects/" + project.getId() + "/cards/"))
.add(new SubmenuItem("cards.all", "/projects/" + project.getId() + "/cards/all/"))
.add(new SubmenuItem("project.addCard", "/projects/" + project.getId() + "/cards/new/"));
if (parameters.contains("card")) {
Card card = parameters.get("card");
menu.getOrCreate("cards")
.add(new SubmenuItem("card.edit", "/projects/" + project.getId() + "/cards/" + card.getId() + "/edit/"))
.add(new SubmenuItem("card.subcard.new", "/projects/" + project.getId() + "/cards/" + card.getId() + "/subcards/new/"))
.add(new SubmenuItem("card.subcards", "/projects/" + project.getId() + "/cards/" + card.getId() + "/subcards/"));
}
menu.getOrCreate("admin")
.add(new SubmenuItem("project.edit", "/projects/" + project.getId() + "/edit/"))
.add(new SubmenuItem("colaborators", "/projects/" + project.getId() + "/colaborators/"))
.add(new SubmenuItem("cardTypes", "/projects/" + project.getId() + "/cardTypes/"));
}
}