1 package net
.bzzt
.ical
.aggregator
.web
;
3 import java
.util
.Locale
;
5 import net
.bzzt
.ical
.aggregator
.model
.Right
;
6 import net
.bzzt
.ical
.aggregator
.service
.UserService
;
7 import net
.bzzt
.ical
.aggregator
.web
.admin
.EventDetailPage
;
8 import net
.bzzt
.ical
.aggregator
.web
.admin
.ManageFeeds
;
10 import org
.apache
.wicket
.ResourceReference
;
11 import org
.apache
.wicket
.Session
;
12 import org
.apache
.wicket
.ajax
.AjaxRequestTarget
;
13 import org
.apache
.wicket
.markup
.html
.IHeaderContributor
;
14 import org
.apache
.wicket
.markup
.html
.IHeaderResponse
;
15 import org
.apache
.wicket
.markup
.html
.WebPage
;
16 import org
.apache
.wicket
.markup
.html
.link
.BookmarkablePageLink
;
17 import org
.apache
.wicket
.markup
.html
.link
.Link
;
18 import org
.apache
.wicket
.markup
.html
.panel
.FeedbackPanel
;
19 import org
.apache
.wicket
.model
.Model
;
20 import org
.apache
.wicket
.spring
.injection
.annot
.SpringBean
;
22 public abstract class AggregatorLayoutPage
extends WebPage
implements IHeaderContributor
25 private UserService userService
;
27 public class LocaleLink
extends Link
<Locale
>
33 private static final long serialVersionUID
= 1L;
35 public LocaleLink(String id
, Locale locale
)
37 super(id
, new Model
<Locale
>(locale
));
43 Session
.get().setLocale(getModelObject());
48 public AggregatorLayoutPage()
50 add(new BookmarkablePageLink
<Void
>("home", HomePage
.class));
52 add(new BookmarkablePageLink
<Void
>("manageFeeds", ManageFeeds
.class));
54 add(new BookmarkablePageLink
<Void
>("day", DayView
.class));
55 add(new BookmarkablePageLink
<Void
>("weekView", WeekView
.class));
57 add(new BookmarkablePageLink
<Void
>("addEvent", EventDetailPage
.class));
59 add(new BookmarkablePageLink
<Void
>("verifyEvents", EventVerificationPage
.class).setVisible(userService
60 .hasRight(AggregatorSession
.get().getLoggedInUser(), Right
.VERIFY_EVENTS
)));
62 add(new LocaleLink("toDutch", new Locale("nl", "NL")));
64 add(new LocaleLink("toEnglish", Locale
.ENGLISH
));
66 add(new LoginPanel("login"));
68 add(new FeedbackPanel("feedback"));
70 add(new FeedSelection("feedSelection", this));
74 public void renderHead(IHeaderResponse response
)
76 response
.renderCSSReference(new ResourceReference(AggregatorLayoutPage
.class, "style.css"));
77 response
.renderJavascriptReference(new ResourceReference(AggregatorLayoutPage
.class, "jquery-1.4.2.min.js"), "JQUERY");
78 response
.renderJavascriptReference(new ResourceReference(AggregatorLayoutPage
.class, "jquery.layout.min-1.2.0.js"), "JQUERY_LAYOUT");
79 response
.renderOnDomReadyJavascript("$('body').layout({ applyDefaultStyles: true });");
82 public AggregatorSession
getSession()
84 return (AggregatorSession
) Session
.get();
87 public void refresh(AjaxRequestTarget target
)