Example usage for org.apache.wicket Application get

List of usage examples for org.apache.wicket Application get

Introduction

In this page you can find the example usage for org.apache.wicket Application get.

Prototype

public static Application get() 

Source Link

Document

Get Application for current thread.

Usage

From source file:dk.teachus.frontend.components.menu.MenuPanel.java

License:Apache License

public MenuPanel(String id, IModel<List<MenuItem>> itemsModel, IModel<List<MenuItem>> rightItemsModel,
        final IModel<PageCategory> activeMenuItemModel) {
    super(id);/*from   www  .j  a  v a  2s  .  c om*/

    add(new BookmarkablePageLink<Void>("homeLink", Application.get().getHomePage()));

    add(new MenuItemsPanel("menuItems", itemsModel, activeMenuItemModel).setRenderBodyOnly(true));
    add(new MenuItemsPanel("rightMenuItems", rightItemsModel, activeMenuItemModel).setRenderBodyOnly(true));
}

From source file:dk.teachus.frontend.components.person.PersonPanel.java

License:Apache License

public PersonPanel(String id, final PersonModel<? extends Person> personModel) {
    super(id, personModel);

    if (allowUserEditing(TeachUsSession.get().getPerson(), personModel.getObject()) == false) {
        throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
    }/*from ww  w. ja  v a 2 s  . c o m*/

    FormPanel formPanel = new FormPanel("form"); //$NON-NLS-1$
    add(formPanel);

    // Name
    StringTextFieldElement nameField = new StringTextFieldElement(
            TeachUsSession.get().getString("General.name"), new PropertyModel<String>(personModel, "name"), //$NON-NLS-1$//$NON-NLS-2$
            true, 32);
    nameField.add(StringValidator.lengthBetween(2, 100));
    formPanel.addElement(nameField);

    // Email
    StringTextFieldElement emailField = new StringTextFieldElement(
            TeachUsSession.get().getString("General.email"), new PropertyModel<String>(personModel, "email"), //$NON-NLS-1$//$NON-NLS-2$
            true, 50);
    emailField.add(EmailAddressValidator.getInstance());
    formPanel.addElement(emailField);

    // Phone number
    formPanel.addElement(new IntegerFieldElement(TeachUsSession.get().getString("General.phoneNumber"), //$NON-NLS-1$
            new PropertyModel<Integer>(personModel, "phoneNumber"), 10)); //$NON-NLS-1$

    // Username
    if (isUsernameEnabled()) {
        StringTextFieldElement usernameField = new StringTextFieldElement(
                TeachUsSession.get().getString("General.username"), //$NON-NLS-1$
                new PropertyModel<String>(personModel, "username"), true); //$NON-NLS-1$
        usernameField.add(StringValidator.lengthBetween(3, 50));

        // Validate the username for correct content
        usernameField.add(new PatternValidator("^[a-zA-Z0-9-_]+$") { //$NON-NLS-1$
            private static final long serialVersionUID = 1L;

            @Override
            public void error(IValidatable<String> validatable) {
                ValidationError validationError = new ValidationError();
                validationError.setMessage(TeachUsSession.get().getString("PersonPanel.usernameCharacters"));
                validatable.error(validationError); //$NON-NLS-1$
            }
        });

        // validate the username checking for dublicates
        usernameField.add(new IValidator<String>() {
            private static final long serialVersionUID = 1L;

            public void validate(IValidatable<String> validatable) {
                PersonDAO personDAO = TeachUsApplication.get().getPersonDAO();
                String username = validatable.getValue();

                Person existingPerson = personDAO.usernameExists(username);

                if (existingPerson != null
                        && existingPerson.getId().equals(personModel.getPersonId()) == false) {
                    String localeString = TeachUsSession.get().getString("PersonPanel.userAlreadyExists"); //$NON-NLS-1$
                    localeString = localeString.replace("${username}", username); //$NON-NLS-1$
                    ValidationError validationError = new ValidationError();
                    validationError.setMessage(localeString);
                    validatable.error(validationError);
                }
            }
        });
        formPanel.addElement(usernameField);
    } else {
        formPanel.addElement(new ReadOnlyElement(TeachUsSession.get().getString("General.username"), //$NON-NLS-1$
                new PropertyModel<Object>(personModel, "username"))); //$NON-NLS-1$
    }

    // Password 1
    if (isPasswordVisible()) {
        final PasswordFieldElement password1Field = new PasswordFieldElement(
                TeachUsSession.get().getString("General.password"), //$NON-NLS-1$
                new PropertyModel<String>(this, "password1"), personModel.getPersonId() == null); //$NON-NLS-1$
        password1Field.add(StringValidator.lengthBetween(4, 32));
        formPanel.addElement(password1Field);

        // Password 2
        final PasswordFieldElement password2Field = new PasswordFieldElement(
                TeachUsSession.get().getString("PersonPanel.repeatPassword"), //$NON-NLS-1$
                new PropertyModel<String>(this, "password2")); //$NON-NLS-1$
        formPanel.addElement(password2Field);

        // Password validator
        formPanel.addValidator(new FormValidator() {
            private static final long serialVersionUID = 1L;

            public IFormValidator getFormValidator() {
                return new EqualInputValidator(password1Field.getFormComponent(),
                        password2Field.getFormComponent());
            }
        });
    }

    // Locale
    if (isLocaleVisible()) {
        List<Locale> availableLocales = TeachUsApplication.get().getAvailableLocales();
        formPanel.addElement(new DropDownElement<Locale>(TeachUsSession.get().getString("General.locale"), //$NON-NLS-1$
                new PropertyModel<Locale>(personModel, "locale"), availableLocales, //$NON-NLS-1$
                new LocaleChoiceRenderer()));
    }

    if (isCurrencyVisible()) {
        StringTextFieldElement currencyField = new StringTextFieldElement(
                TeachUsSession.get().getString("General.currency"), //$NON-NLS-1$
                new PropertyModel<String>(personModel, "currency"), 4); //$NON-NLS-1$
        currencyField.add(StringValidator.lengthBetween(0, 10));
        formPanel.addElement(currencyField); //$NON-NLS-1$ //$NON-NLS-2$
    }

    // Theme
    if (isThemeVisible()) {
        List<Theme> themes = Arrays.asList(Theme.values());
        formPanel.addElement(new DropDownElement<Theme>(TeachUsSession.get().getString("General.theme"), //$NON-NLS-1$
                new PropertyModel<Theme>(personModel, "theme"), themes, new ThemeChoiceRenderer())); //$NON-NLS-1$
    }

    // Teacher
    if (isTeacherVisible()) {
        formPanel.addElement(new ReadOnlyElement(TeachUsSession.get().getString("General.teacher"), //$NON-NLS-1$
                new PropertyModel<Object>(personModel, "teacher.name"))); //$NON-NLS-1$
    }

    // iCalendar URL
    formPanel.addElement(
            new ReadOnlyElement(TeachUsSession.get().getString("Ical.label"), new IcalUrlModel(personModel)));

    // Additional elements
    appendElements(formPanel);

    // Notes
    if (isNotesVisible()) {
        formPanel.addElement(new TextAreaElement("Notes", new PropertyModel<String>(personModel, "notes")));
    }

    // Buttons
    formPanel.addElement(new ButtonPanelElement() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onCancel() {
            getRequestCycle().setResponsePage(getPersonsPageClass());
        }

        @Override
        protected void onSave(AjaxRequestTarget target) {
            if (Strings.isEmpty(password1) == false) {
                personModel.setPassword(password1);
            }

            personModel.save();

            PersonPanel.this.onSave(personModel.getObject());

            getRequestCycle().setResponsePage(getPersonsPageClass());
        }
    });
}

From source file:dk.teachus.frontend.pages.AuthenticatedBasePage.java

License:Apache License

public AuthenticatedBasePage(UserLevel userLevel, boolean explicitUserLevel) {
    TeachUsSession teachUsSession = TeachUsSession.get();

    if (userLevel.authorized(teachUsSession.getUserLevel()) == false) {
        throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
    }// ww w.  j  a va2 s  . c  o m

    // If the userlevel is explicit, then only allow users of the same userlevel
    // on this page.
    if (explicitUserLevel) {
        if (teachUsSession.getUserLevel() != userLevel) {
            throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
        }
    }
}

From source file:dk.teachus.frontend.pages.calendar.TeacherCalendarPage.java

License:Apache License

public TeacherCalendarPage(DateMidnight pageDate) {
    super(UserLevel.TEACHER, true);

    if (TeachUsSession.get().getUserLevel() != UserLevel.TEACHER) {
        throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
    }//  ww w  .j  a v a  2  s .c  om

    add(new TeacherPeriodsCalendarPanel("calendar", new Model<DateMidnight>(pageDate)));
}

From source file:dk.teachus.frontend.pages.PaymentPage.java

License:Apache License

private void init() {
    List<FunctionItem> functions = new ArrayList<FunctionItem>();

    if (TeachUsSession.get().getUserLevel() == UserLevel.TEACHER) {
        functions.add(new PaidFunction());
    }/*ww  w  .j a v  a  2  s  . c o m*/

    functions.add(new CancelPubilBookingFunction() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onBookingCancelled() {
            getRequestCycle().setResponsePage(PaymentPage.class);
        }
    });

    List<IColumn> columns = new ArrayList<IColumn>();
    columns.add(new PropertyColumn(new Model(TeachUsSession.get().getString("General.pupil")), "pupil.name", //$NON-NLS-1$//$NON-NLS-2$
            "pupil.name"));
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.date")), "date", //$NON-NLS-1$//$NON-NLS-2$
            "date", new DateChoiceRenderer()));
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.time")), "date", //$NON-NLS-1$//$NON-NLS-2$
            new TimeChoiceRenderer()));
    columns.add(new RendererPropertyColumn(new Model(TeachUsSession.get().getString("General.price")), //$NON-NLS-1$
            "period.price", "period.price", new CurrencyChoiceRenderer())); //$NON-NLS-1$
    columns.add(new FunctionsColumn(new Model(TeachUsSession.get().getString("General.functions")), functions));

    IModel bookingsModel = new LoadableDetachableModel() {
        private static final long serialVersionUID = 1L;

        @Override
        protected Object load() {
            BookingDAO bookingDAO = TeachUsApplication.get().getBookingDAO();
            List<PupilBooking> pupilBookings = null;

            if (TeachUsSession.get().getPerson() instanceof Pupil) {
                pupilBookings = bookingDAO.getUnpaidBookings((Pupil) TeachUsSession.get().getPerson());
            } else if (TeachUsSession.get().getPerson() instanceof Teacher) {
                pupilBookings = bookingDAO.getUnpaidBookings((Teacher) TeachUsSession.get().getPerson());
            } else {
                throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
            }

            return pupilBookings;
        }

    };

    add(new ListPanel("list", columns, new PaymentDataProvider(bookingsModel)));
}

From source file:dk.teachus.frontend.pages.SignedOutPage.java

License:Apache License

public SignedOutPage() {
    TeachUsSession.get().signOut();//  w w  w  .  j  av a  2 s .c o m

    WebComponent refresh = new WebComponent("refresh"); //$NON-NLS-1$
    StringBuilder content = new StringBuilder();
    content.append("1; url="); //$NON-NLS-1$
    content.append(getRequestCycle().urlFor(Application.get().getHomePage(), null));
    refresh.add(AttributeModifier.replace("content", content)); //$NON-NLS-1$
    add(refresh);

    add(new Label("signedOutText", //$NON-NLS-1$
            TeachUsSession.get().getString("SignedOutPage.youAreNowLoggedOutOfTheSystem"))); //$NON-NLS-1$

    Link<Void> homePageLink = new BookmarkablePageLink<Void>("homePageLink", Application.get().getHomePage()); //$NON-NLS-1$
    add(homePageLink);
    homePageLink.add(
            new Label("homePageLabel", TeachUsSession.get().getString("SignedOutPage.clickToGoToFrontPage"))); //$NON-NLS-1$ //$NON-NLS-2$
}

From source file:dk.teachus.frontend.pages.UnAuthenticatedBasePage.java

License:Apache License

private void signin() {
    TeachUsSession teachUsSession = TeachUsSession.get();

    teachUsSession.signIn(user.getUsername(), user.getPassword());

    if (teachUsSession.isAuthenticated()) {
        if (user.isRemember()) {
            CookieDefaults settings = new CookieDefaults();
            // 14 days
            settings.setMaxAge(60 * 60 * 24 * 14);
            CookieUtils cookieUtils = new CookieUtils(settings);
            cookieUtils.save("username", user.getUsername());
            cookieUtils.save("password", user.getPassword());
        }/*from   w  w  w . j a  v a 2s .c o m*/

        if (continueToOriginalDestination() == false) {
            throw new RestartResponseAtInterceptPageException(Application.get().getHomePage());
        }
    }
}

From source file:dk.teachus.frontend.TeachUsApplication.java

License:Apache License

public static TeachUsApplication get() {
    return (TeachUsApplication) Application.get();
}

From source file:es.sonxurxo.android.androidroulette.server.web.application.AndroidRouletteApplication.java

License:Open Source License

public static AndroidRouletteApplication get() {
    return (AndroidRouletteApplication) Application.get();
}

From source file:eu.schulteweb.wicket.datatables.markup.html.repeater.data.table.DataTableResourcesBehavior.java

License:Apache License

@Override
public void renderHead(Component component, IHeaderResponse response) {
    super.renderHead(component, response);

    Configuration configuration = dataTable.getConfiguration();
    configuration.addParameter("ajax", dataTable.getCallbackUrl());
    configuration.add(new ColumnDefinition(dataTable.getColumns()));

    response.render(CssHeaderItem.forReference(
            new CssResourceReference(DataTableResourcesBehavior.class, "css/jquery.dataTables.css")));

    response.render(JavaScriptHeaderItem.forReference(
            new JavaScriptResourceReference(DataTableResourcesBehavior.class, "js/jquery.dataTables.js") {

                @Override/*from w ww .ja v a 2 s.c  o m*/
                public Iterable<? extends HeaderItem> getDependencies() {
                    List<HeaderItem> dependencies = new ArrayList<HeaderItem>();
                    dependencies.add(JavaScriptHeaderItem.forReference(
                            Application.get().getJavaScriptLibrarySettings().getJQueryReference()));
                    return dependencies;
                }
            }));

    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("tableId", dataTable.getTableMarkupId());
    variables.put("config", configuration.toString());

    PackageTextTemplate initScript = null;
    try {
        initScript = new PackageTextTemplate(DataTableResourcesBehavior.class, "js/initScript.js");

        response.render(OnLoadHeaderItem.forScript(initScript.asString(variables)));
    } finally {
        if (initScript != null) {
            try {
                initScript.close();
            } catch (IOException e) {
            }
        }
    }
}