List of usage examples for org.apache.wicket RestartResponseAtInterceptPageException RestartResponseAtInterceptPageException
public RestartResponseAtInterceptPageException(Class<? extends Page> interceptPageClass)
From source file:com.tysanclan.site.projectewok.pages.ActivationNotificationPage.java
License:Open Source License
public ActivationNotificationPage(Activation activation) { super("Account not yet active"); if (activation == null || activation.getUser() == null) { throw new RestartResponseAtInterceptPageException(NewsPage.class); }//from w w w.j a v a2s . c om Form<Activation> activationForm = new Form<Activation>("resendform", ModelMaker.wrap(activation)) { private static final long serialVersionUID = 1L; @SpringBean private UserService userService; @SpringBean private MailService mailService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @SuppressWarnings("unchecked") @Override protected void onSubmit() { TextField<String> mailField = (TextField<String>) get("email"); if (StringUtil.isValidEMail(mailField.getModelObject())) { User user = getModelObject().getUser(); if (userService.setUserMail(user, mailField.getModelObject())) { mailService.sendHTMLMail(user.getEMail(), "Tysan Clan Forums", mailService .getActivationMailBody(user.getUsername(), getModelObject().getActivationKey())); info("Activation e-mail has been sent again!"); } else { error("That e-mail address is already in use for another account!"); } } else { error("Please specify a valid e-mail address!"); } } }; activationForm.add(new TextField<String>("email", new Model<String>(activation.getUser().getEMail()))); add(activationForm); }
From source file:com.tysanclan.site.projectewok.pages.forum.ActivationPage.java
License:Open Source License
/** * //from w w w. j a v a 2s .c o m */ public ActivationPage(PageParameters params) { super("Account activation"); ActivationPageParams parameters; try { parameters = requiredString("key").forParameters(params).toClass(ActivationPageParams.class); } catch (PageParameterExtractorException e) { throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND); } ActivationFilter filter = new ActivationFilter(); filter.setKey(parameters.getKey()); List<Activation> activations = activationDAO.findByFilter(filter); if (activations.isEmpty()) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } Activation activation = activations.get(0); add(new Label("username", activation.getUser().getUsername())); add(new Form<Activation>("activation", ModelMaker.wrap(activation)) { /** * */ private static final long serialVersionUID = 1L; @SpringBean private UserService userService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @Override protected void onSubmit() { if (userService.activateAccount(getModelObject())) { setResponsePage(new AccountActivePage(getModelObject().getUser())); } else { error("Could not activate account, perhaps it was already activated?"); } } }); }
From source file:com.tysanclan.site.projectewok.pages.ForumPage.java
License:Open Source License
public ForumPage(PageParameters params) { super(""); ForumPageParams parameters;/*from w w w . j ava 2 s. com*/ try { parameters = requiredLong("forumid").requiredLong("pageid").forParameters(params) .toClass(ForumPageParams.class); } catch (PageParameterExtractorException e) { throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND); } if (parameters.getPageNumber() <= 0) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } Forum forum = forumDAO.get(parameters.getForumId()); if (forum == null) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } if (!forum.canView(getUser())) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } initComponents(forum, parameters.getPageNumber()); }
From source file:com.tysanclan.site.projectewok.pages.ForumThreadPage.java
License:Open Source License
public ForumThreadPage(PageParameters params) { super(""); ForumThreadPageParams parameters;/* w ww . j a v a2 s. com*/ try { parameters = requiredLong("threadid").requiredInt("pageid").forParameters(params) .toClass(ForumThreadPageParams.class); } catch (PageParameterExtractorException e) { throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND); } ForumThread t = dao.get(parameters.getThreadId()); if (t == null) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } initComponents(t, parameters.getPageNumber(), getUser() == null); }
From source file:com.tysanclan.site.projectewok.pages.ForumThreadPage.java
License:Open Source License
protected void initComponents(ForumThread thread, final int pageId, final boolean publicView) { TysanSession sess = TysanSession.get(); Forum forum = thread.getForum();/*w w w . ja va 2 s .c om*/ if (!forumService.canView(getUser(), forum)) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } boolean memberLoggedIn = sess != null; setPageTitle(thread.getTitle()); threadModel = ModelMaker.wrap(thread); initJoinComponents(thread, pageId); Link<ForumThread> replyLink = new Link<ForumThread>("replylink") { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.markup.html.link.Link#onClick() */ @Override public void onClick() { setResponsePage(new ReplyPage(threadModel.getObject(), pageId)); } }; WebMarkupContainer branchnote = new WebMarkupContainer("branchnote"); if (thread.getBranchFrom() != null) { branchnote.add(new AutoThreadLink("source", thread.getBranchFrom())); } else { branchnote.add(new WebMarkupContainer("source")); } add(branchnote); branchnote.setVisible(thread.getBranchFrom() != null); ForumThreadModeratorPanel modPanel = new ForumThreadModeratorPanel("moderatorToolbox", thread); User currentUser = getUser(); boolean moderator = forumService.isModerator(currentUser, thread.getForum()); modPanel.setVisible(moderator); add(modPanel); add(replyLink); long parentPageIndex = determineParentPageIndex(thread); add(new AutoForumLink("returnlink", thread.getForum(), "Return to forum", parentPageIndex)); add(new AutoForumLink("returnlink2", thread.getForum(), "Return to forum", parentPageIndex)); Event event = eventDAO.getEventByThread(thread); if (event == null) { add(new WebMarkupContainer("event").setVisible(false)); } else { add(new ForumEventPanel("event", event, getUser())); } Trial trial = trialDAO.getTrialByThread(thread); if (trial == null) { add(new WebMarkupContainer("trial").setVisible(false)); } else { add(new TrialPanel("trial", trial, getUser())); } DataView<ForumPost> postView = new DataView<ForumPost>("posts", ForumDataProvider.of(thread, forumPostDAO)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<ForumPost> item) { final ForumPost fp = item.getModelObject(); item.add(new PostPanel("postpanel", fp)); } }; postView.setItemsPerPage(ForumThread.POSTS_PER_PAGE); postView.setCurrentPage(pageId - 1); add(postView); add(new PagingNavigator("topnavigation", postView)); add(new PagingNavigator("bottomnavigation", postView)); replyLink.setVisible(memberLoggedIn && !thread.isLocked() && forumService.canReply(getUser(), thread.getForum()) && mayReplyToTrial(trial, getUser())); }
From source file:com.tysanclan.site.projectewok.pages.GroupPage.java
License:Open Source License
public GroupPage(PageParameters params) { super("Group"); GroupPageParams parameters;/*from w w w .j a v a 2 s .c o m*/ try { parameters = requiredLong("groupid").forParameters(params).toClass(GroupPageParams.class); } catch (PageParameterExtractorException e) { throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND); } Group g = groupDAO.get(parameters.getGroupId()); if (g == null) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } initComponents(g); }
From source file:com.tysanclan.site.projectewok.pages.member.AbstractElectionPage.java
License:Open Source License
/** * /*from w w w .jav a 2s . c om*/ */ public AbstractElectionPage(String title, T election) { super(title); final boolean isNominationOpen = election.isNominationOpen(); WebClientInfo clientInfo = TysanSession.get().getClientInfo(); // If user is using IE7, offer him an alternative if (!isNominationOpen && (clientInfo.getUserAgent().contains("MSIE") || clientInfo.getUserAgent().contains("Trident"))) { throw new RestartResponseAtInterceptPageException(getInternetExplorerAlternativePage(election)); } votes = new TreeMap<Integer, Long>(); candidates = election.getCandidates().size(); List<User> users = new LinkedList<User>(); users.addAll(election.getCandidates()); ListView<User> candidateView = new ListView<User>("candidates", ModelMaker.wrap(users)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<User> item) { MemberListItem mitem = new MemberListItem("candidate", item.getModelObject()); if (!isNominationOpen) { mitem.add(new DraggableBehavior() { private static final long serialVersionUID = 1L; /** * @see org.odlabs.wiquery.ui.draggable.DraggableBehavior#statement() */ @Override public JsStatement statement() { return new JsQuery(getComponent()).$().chain("draggable", "{ revert: true }"); } }); mitem.setOutputMarkupId(true); } item.add(mitem); } }; add(new Label("label", isNominationOpen ? "Candidates" : "Cast your vote!")); TimeZone tz = getUser().getTimezone() != null ? TimeZone.getTimeZone(getUser().getTimezone()) : DateUtil.NEW_YORK; Calendar cal = Calendar.getInstance(tz, Locale.US); cal.setTime(election.getStart()); cal.add(Calendar.WEEK_OF_YEAR, 1); Label explanation = new Label("explanation", isNominationOpen ? "Voting will commence " + DateUtil.getTimezoneFormattedString(cal.getTime(), tz.getID()) : "Drag and drop the candidates of your choice to cast your vote. Place your favorites at the top and your least favorites at the bottom. The order you give them will determine their score. The higher their position the higher the score"); Form<Void> castVoteForm = new Form<Void>("voteform") { private static final long serialVersionUID = 1L; @SpringBean private UserDAO userDAO; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @Override protected void onSubmit() { List<User> userList = new LinkedList<User>(); for (Integer position : getVotes().keySet()) { userList.add(userDAO.load(getVotes().get(position))); } onVoteSubmit(userList); } }; castVoteForm.add(candidateView); List<Integer> positions = new LinkedList<Integer>(); for (int i = 0; i < users.size(); i++) { positions.add(users.size() - (i + 1)); } castVoteForm.add(new ListView<Integer>("slots", positions) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Integer> item) { item.add(new Label("position", new Model<Integer>(item.getIndex() + 1))); final int index = item.getIndex(); item.add(new Label("score", new Model<Integer>(item.getModelObject()))); WebMarkupContainer container = new WebMarkupContainer("target"); container.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true); if (!isNominationOpen) { DroppableAjaxBehavior behavior = new DroppableAjaxBehavior() { private static final long serialVersionUID = 1L; protected void drop(AjaxRequestTarget target, Component source, Component dropped) { if (dropped instanceof MemberListItem) { MemberListItem mli = (MemberListItem) dropped; MemberListItem item2 = new MemberListItem("target", mli.getUser()); item2.setOutputMarkupId(true); getComponent().replaceWith(item2); mli.setVisible(false); getVotes().put(index, mli.getUser().getId()); if (votes.size() == AbstractElectionPage.this.candidates) { submitButton.setVisible(true); if (target != null) { target.add(submitButton); } } if (target != null) { target.add(mli); target.add(item2); } } } }; behavior.setHoverClass("election-hover"); container.add(behavior); } item.add(container ); } }); add(explanation); add(castVoteForm); submitButton = new WebMarkupContainer("submit").setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true) .setVisible(false); castVoteForm.add(submitButton); }
From source file:com.tysanclan.site.projectewok.pages.member.admin.AbstractRoleTransferPage.java
License:Open Source License
public AbstractRoleTransferPage(RoleType type) { super("Transfer of " + type.toString()); if (!getUser().equals(getRole(roleService))) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); }//from w ww .j a va2s . c om RoleTransfer transfer = roleService.getCurrentTransfer(type); if (transfer != null) throw new RestartResponseAtInterceptPageException(new TransferInProgressPage(type)); UserFilter filter = new UserFilter(); filter.setRetired(false); filter.addRank(Rank.CHANCELLOR); filter.addRank(Rank.SENATOR); filter.addRank(Rank.TRUTHSAYER); filter.addRank(Rank.REVERED_MEMBER); filter.addRank(Rank.FULL_MEMBER); filter.addRank(Rank.SENIOR_MEMBER); filter.addRank(Rank.JUNIOR_MEMBER); filter.addOrderBy("username", true); List<User> users = userDAO.findByFilter(filter); final TysanDropDownChoice<User> userChoice = new TysanDropDownChoice<User>("user", null, users); userChoice.setNullValid(false); userChoice.setRequired(false); Form<RoleType> transferForm = new Form<RoleType>("transferForm", new Model<RoleType>(type)) { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { roleService.initiateTransfer(getModelObject(), userChoice.getModelObject()); setResponsePage(new TransferInProgressPage(getModelObject())); } }; transferForm.add(new Label("type", type.toString())); transferForm.add(userChoice); add(transferForm); }
From source file:com.tysanclan.site.projectewok.pages.member.admin.CaretakerFinancePage.java
License:Open Source License
public CaretakerFinancePage(User user) { super("Clan Finances"); if (!roleService.getTreasurer().equals(user)) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); }/*ww w. j a va2 s . c o m*/ ExpenseFilter efilter = new ExpenseFilter(); efilter.addOrderBy("start", true); add(new ListView<Expense>("expenses", ModelMaker.wrap(expenseDAO.findByFilter(efilter))) { /** * */ private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Expense> item) { Expense expense = item.getModelObject(); item.add(new Label("expense", expense.getName())); item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(expense.getAmount())))); item.add(new Label("regularity", expense.getPeriod().toString())); item.add(new DateLabel("start", expense.getStart())); if (expense.getEnd() != null) { item.add(new DateLabel("end", expense.getEnd())); } else { item.add(new IconLink.Builder("images/icons/money_delete.png", new DefaultClickResponder<Expense>(ModelMaker.wrap(expense)) { private static final long serialVersionUID = 1L; @Override public void onClick() { financeService.setExpenseEnded(getModelObject(), new Date()); setResponsePage(new CaretakerFinancePage(getUser())); } }).newInstance("end")); } item.add(new IconLink.Builder("images/icons/money.png", new DefaultClickResponder<Expense>(ModelMaker.wrap(expense)) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new EditExpensePage(getModelObject())); } }).newInstance("edit")); } }); DonationFilter filter = new DonationFilter(); filter.addOrderBy("donationTime", true); add(new ListView<Donation>("donations", ModelMaker.wrap(donationDAO.findByFilter(filter))) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Donation> item) { Donation donation = item.getModelObject(); if (donation.getDonator() == null) { item.add(new Label("donor", "Anonymous")); } else { item.add(new MemberListItem("donor", donation.getDonator())); } item.add(new DateLabel("date", donation.getDonationTime())); item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(donation.getAmount())))); item.add(new IconLink.Builder("images/icons/cross.png", new DefaultClickResponder<Donation>(ModelMaker.wrap(donation)) { private static final long serialVersionUID = 1L; /** * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick() */ @Override public void onClick() { financeService.removeDonation(getUser(), getModelObject()); setResponsePage(new CaretakerFinancePage(getUser())); } }).newInstance("delete")); } }); add(createDonationForm()); add(createExpenseForm()); FinancialTimeline t = new FinancialTimeline(expenseDAO, donationDAO, subscriptionDAO, paidExpenseDAO); add(new Label("currentReserve", new DollarSignModel(new Model<BigDecimal>(t.getReservesToday())))); add(new Label("exhaustion", t.getExhaustionPoint() == null ? "for the foreseeable future (at least 3 years)" : t.getExhaustionPoint())); }
From source file:com.tysanclan.site.projectewok.pages.member.admin.EditExpensePage.java
License:Open Source License
/** * //ww w .j a va 2s . c o m */ public EditExpensePage(Expense expense) { super("Clan Finances"); if (!getUser().equals(roleService.getTreasurer())) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } final TextField<String> nameTextField = new TextField<String>("name", new Model<String>(expense.getName())); final DatePickerPanel startPicker = new DatePickerPanel("start", expense.getStart()); final DatePickerPanel endPicker = new DatePickerPanel("end", expense.getEnd()); List<String> regularityChoices = Arrays .asList(new String[] { "Monthly", "Quarterly", "Semiannually", "Annually", "Biannually" }); final DropDownChoice<String> expenseRegularity = new DropDownChoice<String>("regularity", new Model<String>(expense.getPeriod().toString()), regularityChoices); BigDecimal whole = expense.getAmount().setScale(0, RoundingMode.DOWN); BigDecimal fraction = expense.getAmount().subtract(whole).multiply(new BigDecimal(100)); final DropDownChoice<Integer> currencyMajorExpense = new DropDownChoice<Integer>("currencymajor", new Model<Integer>(whole.intValue()), oneToAThousand); final DropDownChoice<Integer> currencyMinorExpense = new DropDownChoice<Integer>("currencyminor", new Model<Integer>(fraction.intValue()), zeroToNinetyNine); Form<Expense> expenseForm = new Form<Expense>("expenseForm", ModelMaker.wrap(expense)) { private static final long serialVersionUID = 1L; @SpringBean private FinanceService financeService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @Override protected void onSubmit() { String regularity = expenseRegularity.getModelObject(); Integer major = currencyMajorExpense.getModelObject(); Integer minor = currencyMinorExpense.getModelObject(); String expenseName = nameTextField.getModelObject(); Date startDate = startPicker.getSelectedDate(); Date endDate = endPicker.getSelectedDate(); BigDecimal amount = new BigDecimal(100 * major + minor).divide(new BigDecimal(100)); ExpensePeriod period = ExpensePeriod.valueOf(regularity.toUpperCase()); Expense x = getModelObject(); financeService.updateExpense(x, expenseName, amount, period, startDate, endDate); setResponsePage(new CaretakerFinancePage(getUser())); } }; expenseForm.add(nameTextField); expenseForm.add(startPicker); expenseForm.add(endPicker); expenseForm.add(expenseRegularity); expenseForm.add(currencyMajorExpense); expenseForm.add(currencyMinorExpense); add(expenseForm); add(new Link<Void>("back") { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.markup.html.link.Link#onClick() */ @Override public void onClick() { setResponsePage(new CaretakerFinancePage(getUser())); } }); }