import java.util.LinkedList;
import java.util.Map;
-import org.cacert.gigi.User;
import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.util.AuthorizationContext;
public class Menu implements IMenuItem {
- public static final String USER_VALUE = "user";
+ public static final String AUTH_VALUE = "ac";
private String menuName;
@Override
public void output(PrintWriter out, Language l, Map<String, Object> vars) {
boolean visible = false;
- User u = (User) vars.get(USER_VALUE);
- for (IMenuItem mi : content) {
+ AuthorizationContext u = (AuthorizationContext) vars.get(AUTH_VALUE);
+ for (IMenuItem mi : getContent()) {
if (mi.isPermitted(u)) {
if ( !visible) {
visible = true;
- out.println("<div>");
- out.print("<h3 class='pointer'>+ ");
+ out.print("<li class=\"dropdown\"><a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">");
out.print(l.getTranslation(menuName));
- out.println("</h3>");
- out.print("<ul class=\"menu\">");
+ out.print("<span class=\"caret\"></span></a><ul class=\"dropdown-menu\">");
}
mi.output(out, l, vars);
}
}
if (visible) {
- out.println("</ul></div>");
+ out.println("</ul></li>");
}
}
if (obj instanceof Menu) {
return menuName.equals(((Menu) obj).getMenuName());
}
- return super.equals(obj);
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return menuName.hashCode();
}
public String getMenuName() {
}
@Override
- public boolean isPermitted(User u) {
+ public boolean isPermitted(AuthorizationContext ac) {
return true;
}
+
+ public IMenuItem[] getContent() {
+ return content;
+ }
+
}