Example usage for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxButton IndicatingAjaxButton

List of usage examples for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxButton IndicatingAjaxButton

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxButton IndicatingAjaxButton.

Prototype

public IndicatingAjaxButton(final String id) 

Source Link

Document

Constructor

Usage

From source file:com.asptt.plongee.resa.wicket.page.admin.fichesecurite.SaisieDateFSForm.java

@SuppressWarnings("serial")
public SaisieDateFSForm(String name, NavigationOriginePage originePage, Adherent diver, Date d_Min, Date d_Max,
        final FeedbackPanel feedback) {

    super(name);//from  w  w w  . j  a  v  a2  s .c o m

    feedback.setOutputMarkupId(true);
    oriPage = originePage;
    if (null == diver) {
        plongeur = ResaSession.get().getAdherent();
    } else {
        plongeur = diver;
    }
    CompoundPropertyModel<DateBean> model = new CompoundPropertyModel<DateBean>(new DateBean());
    setModel(model);

    final DateTextField dateMin;
    if (null == d_Min) {
        dateMin = new DateTextField("dateMin", new PropertyModel(model, "dateMini"),
                new StyleDateConverter("S-", true));
    } else {
        dateMin = new DateTextField("dateMin", new Model(d_Min), new StyleDateConverter("S-", true));
        dateMini = d_Min;
    }
    dateMin.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            final Date valueAsDate = ((DateTextField) getComponent()).getModelObject();
            dateMini = valueAsDate;
        }
    });

    dateMin.setRequired(true);
    dateMin.setOutputMarkupId(true);
    dateMin.add(new DatePicker());
    add(dateMin);
    logger.info("DateTextField dateMin : " + dateMin.getValue());

    DateTextField dateMax;
    if (null == d_Max) {
        dateMax = new DateTextField("dateMax", new PropertyModel<Date>(model, "dateMaxi"),
                new StyleDateConverter("S-", true));
    } else {
        dateMax = new DateTextField("dateMax", new Model(d_Max), new StyleDateConverter("S-", true));
        dateMaxi = d_Max;
    }
    dateMax.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            final Date valueAsDate = ((DateTextField) getComponent()).getModelObject();
            dateMaxi = valueAsDate;
        }
    });
    dateMax.setRequired(true);
    dateMax.setOutputMarkupId(true);
    dateMax.add(new DatePicker());
    add(dateMax);
    logger.info("DateTextField dateMax : " + dateMax.getValue());

    IndicatingAjaxButton b_validerDate = new IndicatingAjaxButton("validDate") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            dateMin.getDefaultModel();
            DateBean dateBean = (DateBean) form.getModelObject();
            //Au 2ieme passage/recherche la form n'est pas mise  jour et dateBean.getDatexxx est null
            if (null == dateBean.getDateMini()) {
                //Au 1er passage dateMini est valoris
                if (null == dateMini) {
                    // Si vraiment dateMini est null on prend la date du jour
                    dateMini = new Date();
                }
            } else {
                // 2ieme passage/recherche la form n'est pas lue dataBean.getDatexxx est null
                // on conserve la valeur de dateMini qui vient du OnChangeAjaxBehavior()
                dateMini = dateBean.getDateMini();
            }
            if (null == dateBean.getDateMaxi()) {
                if (null == dateMaxi) {
                    dateMaxi = new Date();
                }
            } else {
                dateMaxi = dateBean.getDateMaxi();
            }
            if (dateMini.after(dateMaxi)) {
                error("dateMini et dateMaxi incompatibles");
            } else {
                switch (oriPage) {
                case VISU_FICHE_SECURITE:
                    setResponsePage(new VisuListeFS(oriPage, plongeur, dateMini, dateMaxi));
                    break;
                case CREATE_FICHE_SECURITE:
                    setResponsePage(new GererListePlongeeWithoutFS(oriPage, dateMini, dateMaxi));
                    break;
                case MODIF_FICHE_SECURITE:
                    setResponsePage(new UpdateListeFS(oriPage, dateMini, dateMaxi));
                    break;
                case ANNUL_PLONGEE:
                    //oups problme ce cas ne doit pas se produire.
                    setResponsePage(new AnnulerPlongee(oriPage, dateMini, dateMaxi));
                }
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    };
    b_validerDate.setOutputMarkupId(true);
    add(b_validerDate);

    IndicatingAjaxLink cancel = new IndicatingAjaxLink("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            setVisible(false);
            switch (oriPage) {
            case VISU_FICHE_SECURITE:
                setResponsePage(new VisuListeFS(oriPage, plongeur, dateMini, dateMaxi));
                break;
            case CREATE_FICHE_SECURITE:
                setResponsePage(new GererListePlongeeWithoutFS(oriPage, dateMini, dateMaxi));
                break;
            case MODIF_FICHE_SECURITE:
                setResponsePage(new UpdateListeFS(oriPage, dateMini, dateMaxi));
                break;
            case ANNUL_PLONGEE:
                //oups problme ce cas ne doit pas se produire.
                setResponsePage(new AnnulerPlongee(oriPage, dateMini, dateMaxi));
            }
        }
    };
    cancel.setOutputMarkupId(true);
    add(cancel);
}

From source file:com.asptt.plongee.resa.wicket.page.admin.plongee.GererPlongeeAOuvrirTwo.java

public GererPlongeeAOuvrirTwo(final Plongee plongee) {
    setPageTitle("Ouvrir plongee");
    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*from w  ww . j  a  v  a 2s. c  o  m*/
    add(feedback);
    modalPlongee = new ModalWindow("modalPlongee");
    modalPlongee.setTitle("This is modal window with panel content.");
    modalPlongee.setCookieName("modal-plongee");
    add(modalPlongee);

    CompoundPropertyModel<Plongee> modelPlongee = new CompoundPropertyModel<Plongee>(plongee);
    // Liste des DPs
    List<Adherent> dps;
    dps = ResaSession.get().getAdherentService().rechercherDPsNonInscrits(
            ResaSession.get().getAdherentService().rechercherAdherentsActifs(), plongee);
    //Suppression des adherents dj inscrits  la plonge de la liste des DPs
    dps.removeAll(plongee.getParticipants());
    // Init ChoiceRender des DPs
    IChoiceRenderer<Adherent> rendDp = new ChoiceRenderer<Adherent>("nom", "nom");
    // Init de la palettes des DPs
    final Palette<Adherent> palDp = new Palette<Adherent>("paletteDps",
            new ListModel<Adherent>(new ArrayList<Adherent>()), new CollectionModel<Adherent>(dps), rendDp, 10,
            false) {
    };
    //List des Pilotes
    List<Adherent> pilotes = ResaSession.get().getAdherentService().rechercherPilotesNonInscrits(
            ResaSession.get().getAdherentService().rechercherAdherentsActifs(), plongee);
    //Suppression des adherents dj inscrits  la plonge de la liste des Pilotes
    pilotes.removeAll(plongee.getParticipants());
    // Init ChoiceRender des Pilotes
    IChoiceRenderer<Adherent> rendPilote = new ChoiceRenderer<Adherent>("nom", "nom");
    // Init de la palettes des Pilotes
    final Palette<Adherent> palPilote = new Palette<Adherent>("palettePilotes",
            new ListModel<Adherent>(new ArrayList<Adherent>()), new CollectionModel<Adherent>(pilotes),
            rendPilote, 10, false) {
    };
    //Init de la Forme
    final Form<Plongee> form = new Form<Plongee>("form") {
        private static final long serialVersionUID = 4611593854191923422L;

    };
    //Dfinition du model de la form == plongee
    form.setModel(modelPlongee);
    // Le nombre max. de places, pour info
    maxPlaces = new TextField<Integer>("nbMaxPlaces");
    maxPlaces.setOutputMarkupId(true);
    form.add(maxPlaces.setEnabled(false));
    // Le niveau mini. des plongeurs, pour info
    niveauMinimum = new TextField<Integer>("niveauMinimum");
    niveauMinimum.setOutputMarkupId(true);
    form.add(niveauMinimum.setEnabled(false));
    // La Date de visibilite de la plonge, pour info
    dateReservation = new TextField<Date>("dateReservation");
    dateReservation.setOutputMarkupId(true);
    form.add(dateReservation.setEnabled(false));
    //ajout du warning
    warning = new TextArea<String>("warning");
    warning.setOutputMarkupId(true);
    form.add(warning.setEnabled(false));

    // Ajout des palettes
    form.add(palDp);
    form.add(palPilote);
    // Ajout du lien pour modifier les caracteristiques de la plonge
    form.add(new IndicatingAjaxLink("change") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            replaceModalWindow(target, form.getModel());
            modalPlongee.show(target);
        }
    });
    // Ajout du bouton submit
    IndicatingAjaxButton b_valider = new IndicatingAjaxButton("validDpPilote") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            IModel<?> modelDps = palDp.getDefaultModel();
            List<Adherent> dps = (List<Adherent>) modelDps.getObject();

            IModel<?> modelPilotes = palPilote.getDefaultModel();
            List<Adherent> pilotes = (List<Adherent>) modelPilotes.getObject();

            if (dps.size() != 1 || pilotes.size() != 1) {
                error("Un DP et un pilote doivent tre selectionns");
            } else {
                /*
                 * Impossible de gerer les doublons avec un HashSet Alors on le
                 * fait ' la main'
                 */
                List<Adherent> l_dpPilote = new ArrayList<Adherent>();
                l_dpPilote.add(dps.get(0));
                if (!dps.get(0).getNumeroLicense().equalsIgnoreCase(pilotes.get(0).getNumeroLicense())) {
                    l_dpPilote.add(pilotes.get(0));
                }
                // Inscription du DP et Pilote
                for (Adherent adh : l_dpPilote) {
                    try {
                        ResaSession.get().getPlongeeService().inscrireAdherent(plongee, adh,
                                PlongeeMail.PAS_DE_MAIL);
                    } catch (ResaException e) {
                        e.printStackTrace();
                        ErrorPage ep = new ErrorPage(e);
                        setResponsePage(ep);
                    }
                }
                PageParameters param = new PageParameters();
                param.put("plongeeAOuvrir", plongee);
                param.put("inscrits", l_dpPilote);
                setResponsePage(new ListeInscritsPlongeePage(plongee));
            }
        }//fin du onSubmit()

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    };
    form.add(new Link("cancel") {
        @Override
        public void onClick() {
            setResponsePage(GererPlongeeAOuvrirOne.class);
        }
    });
    //add(new Button("cancel", new ResourceModel("button.cancel")));

    form.add(b_valider);

    add(form);
}

From source file:eu.uqasar.web.pages.admin.companies.panels.CompanyFilterPanel.java

License:Apache License

public CompanyFilterPanel(String id) {
    super(id);//from   w ww. j  av a 2s  .  c o  m

    form = new Form<>("form");
    companyName = new TextField<>("name", new PropertyModel<String>(this, "name"));
    companyShortName = new TextField<>("shortName", new PropertyModel<String>(this, "shortName"));
    companyCountry = new DropDownChoice<>("country", new PropertyModel<String>(this, "country"),
            Arrays.asList("Espaa", "Deutschland", "Luxemburg", "Norge", "Suomi"));

    form.add(companyName).add(companyShortName).add(companyCountry)
            .add(apply = new IndicatingAjaxButton("apply") {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    CompanyFilterPanel.this.applyClicked(target, form);
                }
            }).add(reset = new IndicatingAjaxButton("reset") {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    CompanyFilterPanel.this.resetClicked(target, form);
                    resetForm();
                    target.add(form);
                }
            });
    add(form);

}

From source file:eu.uqasar.web.pages.admin.meta.MetaDataEditPanel.java

License:Apache License

public MetaDataEditPanel(String id, Class<T> clazz, S service, final StyledFeedbackPanel feedbackPanel) {
    super(id);//from   w  w  w .j  ava  2  s . co  m
    this.clazz = clazz;
    this.service = service;
    metaData = MetaData.newInstance(clazz);
    add(new Label("head.type.add", MetaData.getLabelForNew(this.clazz)));
    Form<Void> form = new InputValidationForm<>("form");
    nameField = new TextField<>("name", new PropertyModel<String>(metaData, "name"));
    InputBeanValidationBorder<String> nameValidationBorder = new OnEventInputBeanValidationBorder<>(
            "nameValidationBorder", nameField, MetaData.getLabelModelForNew(this.clazz), HtmlEvent.ONBLUR);
    form.add(nameValidationBorder);
    AjaxSubmitLink addObject = new AjaxSubmitLink("add") {

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedbackPanel);
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            addNewMetaData(target, form);
        }
    };
    nameValidationBorder.add(addObject);
    add(form);

    existingListForm = new InputValidationForm<>("form.existing");
    existingListForm.add(new Label("head.type.existing", MetaData.getLabelForExisting(this.clazz)));

    existingList = getListing();
    existingList.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
    existingListForm.add(checkGroup = newCheckGroup());
    final WebMarkupContainer existingItemsContainer = new WebMarkupContainer("dataContainer");
    existingItemsContainer.add(new Label("table.head.type", MetaData.getLabel(this.clazz)));
    checkGroup.add(existingItemsContainer.setOutputMarkupId(true));
    CheckGroupSelector checkGroupSelector = new CheckGroupSelector("dataGroupSelector", checkGroup);
    existingItemsContainer.add(checkGroupSelector);
    existingItemsContainer.add(existingList);
    existingItemsContainer.add(deleteSelectedButton = newDeleteSelectedButton(checkGroup));
    existingItemsContainer.add(new IndicatingAjaxButton("update") {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedbackPanel);
            target.add(existingItemsContainer);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            updateExistingMetaData(target, form);
            Effects.replaceWithFading(target, existingItemsContainer);
        }
    });
    add(existingListForm);
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.admin.meta.MetaDataEditPanel.java

License:Apache License

private IndicatingAjaxButton newDeleteSelectedButton(final CheckGroup<T> checkGroup) {
    IndicatingAjaxButton submitLink = new IndicatingAjaxButton("deleteSelected") {

        @Override//from  w  w  w. j av  a  2 s  .co m
        protected void onConfigure() {
            super.onConfigure();
            if (checkGroup.getModelObject().isEmpty()) {
                add(new CssClassNameAppender(Model.of("disabled")) {
                    @Override
                    public boolean isTemporary(Component component) {
                        return true;
                    }
                });
                setEnabled(false);
            } else {
                setEnabled(true);
            }
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            deleteConfirmationModal.message(getDeletionModalMessage());
            target.add(deleteConfirmationModal);
            deleteConfirmationModal.appendShowDialogJavaScript(target);
        }
    };
    submitLink.setOutputMarkupId(true);
    return submitLink;
}

From source file:eu.uqasar.web.pages.admin.settings.LdapSettingsPage.java

License:Apache License

private Form<Void> createConnectionSettingsForm(Form<Void> form) {
    hostField = new TextField<>("host", new PropertyModel<String>(ldapSettings, "host"));
    InputBorder<String> hostValidationBorder = new InputBorder<>("hostValidationBorder", hostField,
            new StringResourceModel("label.host", this, null),
            new StringResourceModel("help.host", this, null));
    form.add(hostValidationBorder);/*from  ww  w  .j  av a  2  s  .c  o  m*/

    portField = new NumberTextField<>("port", new PropertyModel<Integer>(ldapSettings, "port"));
    InputBorder<Integer> portValidationBorder = new InputBorder<>("portValidationBorder", portField,
            new StringResourceModel("label.port", this, null));
    form.add(portValidationBorder);

    userDNField = new TextField<>("userDN", new PropertyModel<String>(ldapSettings, "authUserDN"));
    InputBorder<String> userNameValidationBorder = new InputBorder<>("userDNValidationBorder", userDNField,
            new StringResourceModel("label.userDN", this, null),
            new StringResourceModel("help.userDN", this, null));
    form.add(userNameValidationBorder);

    passwordField = new PasswordTextField("password",
            new PropertyModel<String>(ldapSettings, "authUserPassword"));
    InputBorder<String> passwordValidationBorder = new InputBorder("passwordValidationBorder", passwordField,
            new StringResourceModel("label.password", this, null));
    passwordField.setResetPassword(false);
    form.add(passwordValidationBorder);

    Button validateConnection = new IndicatingAjaxButton("validateConnection") {

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            super.onError(target, form);
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                manager = LdapManager.getInstance(ldapSettings);
                validationResults
                        .setDefaultModel(new StringResourceModel("label.validation.success", this, null));
                validationResults.add(new CSSAppender("success"));
            } catch (Throwable ex) {
                logger.warn(ex.getMessage(), ex);
                StringWriter errors = new StringWriter();
                ex.printStackTrace(new PrintWriter(errors));
                validationResults.setDefaultModel(Model.of(errors.toString()));
                validationResults.add(new CSSAppender("error"));
            }
            target.add(validationResults);
        }
    };
    form.add(validateConnection);

    validationResults = new Label("validationResults");
    form.add(validationResults.setOutputMarkupId(true));
    return form;
}

From source file:eu.uqasar.web.pages.admin.settings.LdapSettingsPage.java

License:Apache License

private Form<Void> createUsersForm(Form<Void> form) {
    userFilterBaseDNField = new TextField<>("userFilterBaseDN",
            new PropertyModel<String>(ldapSettings, "userFilterBaseDN"));
    InputBorder<String> userFilterBaseDNValidationBorder = new InputBorder<>("userFilterBaseDNValidationBorder",
            userFilterBaseDNField, new StringResourceModel("label.user.filter.baseDN", this, null),
            new StringResourceModel("help.user.filter.baseDN", this, null));
    form.add(userFilterBaseDNValidationBorder);

    userFilterField = new TextField<>("userFilter", new PropertyModel<String>(ldapSettings, "userFilter"));
    InputBorder<String> userFilterValidationBorder = new InputBorder<>("userFilterValidationBorder",
            userFilterField, new StringResourceModel("label.user.filter", this, null),
            new StringResourceModel("help.user.filter", this, null));
    form.add(userFilterValidationBorder);

    usernameMappingField = new TextField<>("userUsernameMapping",
            new PropertyModel<String>(ldapSettings, "userUserNameMapping"));
    InputBorder<String> usernameMappingValidationBorder = new InputBorder<>(
            "userUsernameMappingValidationBorder", usernameMappingField,
            new StringResourceModel("label.user.mapping.username", this, null),
            new StringResourceModel("help.user.mapping.username", this, null));
    form.add(usernameMappingValidationBorder);

    userMailMappingField = new TextField<>("userMailMapping",
            new PropertyModel<String>(ldapSettings, "userMailMapping"));
    InputBorder<String> userMailMappingValidationBorder = new InputBorder<>("userMailMappingValidationBorder",
            userMailMappingField, new StringResourceModel("label.user.mapping.mail", this, null),
            new StringResourceModel("help.user.mapping.mail", this, null));
    form.add(userMailMappingValidationBorder);

    userFirstnameMappingField = new TextField<>("userFirstnameMapping",
            new PropertyModel<String>(ldapSettings, "userFirstNameMapping"));
    InputBorder<String> userFirstnameMappingValidationBorder = new InputBorder<>(
            "userFirstnameMappingValidationBorder", userFirstnameMappingField,
            new StringResourceModel("label.user.mapping.firstname", this, null),
            new StringResourceModel("help.user.mapping.firstname", this, null));
    form.add(userFirstnameMappingValidationBorder);

    userLastnameMappingField = new TextField<>("userLastnameMapping",
            new PropertyModel<String>(ldapSettings, "userLastNameMapping"));
    InputBorder<String> userLastnameMappingValidationBorder = new InputBorder<>(
            "userLastnameMappingValidationBorder", userLastnameMappingField,
            new StringResourceModel("label.user.mapping.lastname", this, null),
            new StringResourceModel("help.user.mapping.lastname", this, null));
    form.add(userLastnameMappingValidationBorder);

    userPhotoMappingField = new TextField<>("userPhotoMapping",
            new PropertyModel<String>(ldapSettings, "userPhotoMapping"));
    InputBorder<String> userPhotoMappingValidationBorder = new InputBorder<>("userPhotoMappingValidationBorder",
            userPhotoMappingField, new StringResourceModel("label.user.mapping.photo", this, null),
            new StringResourceModel("help.user.mapping.photo", this, null));
    form.add(userPhotoMappingValidationBorder);

    IndicatingAjaxButton retrieveUsers = new IndicatingAjaxButton("retrieveUsers") {

        @Override/*from w w w  .j av  a2s.c  o  m*/
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                ldapUsersList.setHeaderFixed(true);
                manager = ldapUsersList.update(ldapSettings);
                userRetrievalInfo.setDefaultModel(new StringResourceModel("label.retrieval.user.success", this,
                        null, ldapUsersList.getNoOfCurrentlyListedEntities()));
                userRetrievalInfo.add(new CSSAppender("success"));
            } catch (Throwable ex) {
                ldapUsersList.reset();
                logger.warn(ex.getMessage(), ex);
                StringWriter errors = new StringWriter();
                ex.printStackTrace(new PrintWriter(errors));
                userRetrievalInfo.setDefaultModel(Model.of(errors.toString()));
                userRetrievalInfo.add(new CSSAppender("error"));
            }
            target.add(ldapUsersList);
            target.add(userRetrievalInfo);
        }
    };
    form.add(retrieveUsers);
    userRetrievalInfo = new Label("userRetrievalInfo");
    form.add(userRetrievalInfo.setOutputMarkupId(true));

    ldapUsersList = new LdapUserListPanel("usersList", manager);
    form.add(ldapUsersList);

    return form;
}

From source file:eu.uqasar.web.pages.admin.settings.LdapSettingsPage.java

License:Apache License

private Form<Void> createGroupsForm(Form<Void> form) {
    groupFilterBaseDNField = new TextField<>("groupFilterBaseDN",
            new PropertyModel<String>(ldapSettings, "groupFilterBaseDN"));
    InputBorder<String> groupFilterBaseDNValidationBorder = new InputBorder<>(
            "groupFilterBaseDNValidationBorder", groupFilterBaseDNField,
            new StringResourceModel("label.group.filter.baseDN", this, null),
            new StringResourceModel("help.group.filter.baseDN", this, null));
    form.add(groupFilterBaseDNValidationBorder);

    groupFilterField = new TextField<>("groupFilter", new PropertyModel<String>(ldapSettings, "groupFilter"));
    InputBorder<String> groupFilterValidationBorder = new InputBorder<>("groupFilterValidationBorder",
            groupFilterField, new StringResourceModel("label.group.filter", this, null),
            new StringResourceModel("help.group.filter", this, null));
    form.add(groupFilterValidationBorder);

    groupNameMappingField = new TextField<>("groupNameMapping",
            new PropertyModel<String>(ldapSettings, "groupNameMapping"));
    InputBorder<String> groupNameMappingValidationBorder = new InputBorder<>("groupNameMappingValidationBorder",
            groupNameMappingField, new StringResourceModel("label.group.mapping.name", this, null),
            new StringResourceModel("help.group.mapping.name", this, null));
    form.add(groupNameMappingValidationBorder);

    groupDescriptionMappingField = new TextField<>("groupDescriptionMapping",
            new PropertyModel<String>(ldapSettings, "groupDescriptionMapping"));
    InputBorder<String> groupDescriptionMappingValidationBorder = new InputBorder<>(
            "groupDescriptionMappingValidationBorder", groupDescriptionMappingField,
            new StringResourceModel("label.group.mapping.description", this, null),
            new StringResourceModel("help.group.mapping.description", this, null));
    form.add(groupDescriptionMappingValidationBorder);

    groupMemberMappingField = new TextField<>("groupMemberMapping",
            new PropertyModel<String>(ldapSettings, "groupMemberMapping"));
    InputBorder<String> groupMemberMappingValidationBorder = new InputBorder<>(
            "groupMemberMappingValidationBorder", groupMemberMappingField,
            new StringResourceModel("label.group.mapping.member", this, null),
            new StringResourceModel("help.group.mapping.member", this, null));
    form.add(groupMemberMappingValidationBorder);

    IndicatingAjaxButton retrieveGroups = new IndicatingAjaxButton("retrieveGroups") {

        @Override//w  w w  .ja  v  a 2 s  .  c  o  m
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                ldapGroupList.setHeaderFixed(true);
                manager = ldapGroupList.update(ldapSettings);
                groupRetrievalInfo.setDefaultModel(new StringResourceModel("label.retrieval.group.success",
                        this, null, ldapGroupList.getNoOfCurrentlyListedEntities()));
                groupRetrievalInfo.add(new CSSAppender("success"));
            } catch (Throwable ex) {
                ldapGroupList.reset();
                logger.warn(ex.getMessage(), ex);
                StringWriter errors = new StringWriter();
                ex.printStackTrace(new PrintWriter(errors));
                groupRetrievalInfo.setDefaultModel(Model.of(errors.toString()));
                groupRetrievalInfo.add(new CSSAppender("error"));
            }
            target.add(ldapGroupList);
            target.add(groupRetrievalInfo);
        }
    };
    form.add(retrieveGroups);
    groupRetrievalInfo = new Label("groupRetrievalInfo");
    form.add(groupRetrievalInfo.setOutputMarkupId(true));

    ldapGroupList = new LdapGroupListPanel("groupsList", manager);
    form.add(ldapGroupList);

    return form;
}

From source file:eu.uqasar.web.pages.admin.settings.MailSettingsPage.java

License:Apache License

public MailSettingsPage(PageParameters pageParameters) {
    super(pageParameters);
    settings = msService.get(new MailSettings());
    form = new Form<Void>("form") {

        @Override//from  www.  j  a  v a 2  s.  c  o m
        protected void onSubmit() {
            String message = new StringResourceModel("save.confirmed", this, null).getString();
            msService.update(settings);
            getPage().success(message);
            setResponsePage(getPage());
        }
    };

    if (UQSession.get().getLoggedInUser() != null) {
        receiverAddress = UQSession.get().getLoggedInUser().getMail();
    }

    serverField = new TextField<>("server", new PropertyModel<String>(settings, "host"));
    InputBorder<String> serverValidationBorder = new InputBorder<>("serverValidationBorder", serverField,
            new StringResourceModel("label.server", this, null),
            new StringResourceModel("help.server", this, null));
    form.add(serverValidationBorder);

    portField = new NumberTextField<>("port", new PropertyModel<Integer>(settings, "port"));
    InputBorder<Integer> portValidationBorder = new InputBorder<>("portValidationBorder", portField,
            new StringResourceModel("label.port", this, null));
    form.add(portValidationBorder);

    userField = new TextField<>("user", new PropertyModel<String>(settings, "authUser"));
    userField.setRequired(false);
    InputBorder<String> userNameValidationBorder = new InputBorder<>("userValidationBorder", userField,
            new StringResourceModel("label.user", this, null),
            new StringResourceModel("help.user", this, null));
    form.add(userNameValidationBorder);

    passwordField = new PasswordTextField("password", new PropertyModel<String>(settings, "authPassword"));
    passwordField.setRequired(false);
    passwordField.setResetPassword(false);
    InputBorder<String> passwordValidationBorder = new InputBorder("passwordValidationBorder", passwordField,
            new StringResourceModel("label.password", this, null));
    form.add(passwordValidationBorder);

    checkAuth = new CheckBox("auth.required", new PropertyModel<Boolean>(settings, "authenticationRequired"));
    form.add(checkAuth);

    checkTls = new CheckBox("auth.tls", new PropertyModel<Boolean>(settings, "tlsRequired"));
    form.add(checkTls);

    fromUserField = new TextField<>("fromUser", new PropertyModel<String>(settings, "fromUser"));
    InputBorder<String> fromUserValidationBorder = new InputBorder<>("fromUserValidationBorder", fromUserField,
            new StringResourceModel("label.from.user", this, null),
            new StringResourceModel("help.from.user", this, null));
    form.add(fromUserValidationBorder);

    fromAddressField = new TextField<>("fromAddress", new PropertyModel<String>(settings, "fromAddress"));
    InputBorder<String> fromAddressValidationBorder = new InputBorder<>("fromAddressValidationBorder",
            fromAddressField, new StringResourceModel("label.from.address", this, null),
            new StringResourceModel("help.from.address", this, null));
    form.add(fromAddressValidationBorder);

    receiverAddressField = new TextField<>("receiverAddress",
            new PropertyModel<String>(this, "receiverAddress"));
    InputBorder<String> receiverAddressValidationBorder = new InputBorder<>("receiverAddressValidationBorder",
            receiverAddressField, new StringResourceModel("label.to.address", this, null),
            new StringResourceModel("help.to.address", this, null));
    form.add(receiverAddressValidationBorder);

    subjectField = new TextField<>("subject", new PropertyModel<String>(this, "subject"));
    InputBorder<String> subjectValidationBorder = new InputBorder<>("subjectValidationBorder", subjectField,
            new StringResourceModel("label.to.subject", this, null),
            new StringResourceModel("help.to.subject", this, null));
    form.add(subjectValidationBorder);

    Button validateConnection = new IndicatingAjaxButton("validateConnection") {

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            super.onError(target, form);
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                tryToConnect();
                validationResults
                        .setDefaultModel(new StringResourceModel("label.validation.success", this, null));
                validationResults.add(new CSSAppender("success"));
            } catch (Throwable ex) {
                logger.warn(ex.getMessage(), ex);
                StringWriter errors = new StringWriter();
                ex.printStackTrace(new PrintWriter(errors));
                validationResults.setDefaultModel(Model.of(errors.toString()));
                validationResults.add(new CSSAppender("error"));
            }
            target.add(validationResults);
        }
    };
    form.add(validateConnection);

    validationResults = new Label("validationResults");
    form.add(validationResults.setOutputMarkupId(true));
    add(form);
}

From source file:eu.uqasar.web.pages.admin.teams.TeamImportPage.java

License:Apache License

public TeamImportPage(PageParameters pageParameters) {
    super(pageParameters);
    add(new AnchorableBookmarkablePageLink("change.group.settings", LdapSettingsPage.class, "groupSettings"));
    add(new AnchorableBookmarkablePageLink("change.user.settings", LdapSettingsPage.class, "userSettings"));

    Form<Void> groupForm = new Form("form");
    IndicatingAjaxButton retrieveGroups = new IndicatingAjaxButton("retrieveGroups") {

        @Override//  ww w  . j a v a  2  s .  co m
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                ldapGroupsList.setHeaderFixed(true);
                ldapGroupsList.setSelectionEnabled(true);
                manager = ldapGroupsList.update(ldapSettings);
                groupRetrievalInfo.setDefaultModel(new StringResourceModel("label.retrieval.success", this,
                        null, ldapGroupsList.getNoOfCurrentlyListedEntities()));
                groupRetrievalInfo.add(new CSSAppender("success"));
            } catch (Throwable ex) {
                ldapGroupsList.reset();
                logger.warn(ex.getMessage(), ex);
                StringWriter errors = new StringWriter();
                ex.printStackTrace(new PrintWriter(errors));
                groupRetrievalInfo.setDefaultModel(Model.of(errors.toString()));
                groupRetrievalInfo.add(new CSSAppender("error"));
            }
            target.add(groupRetrievalInfo);
            target.add(ldapGroupsList);
        }
    };
    groupForm.add(retrieveGroups);
    groupRetrievalInfo = new Label("groupRetrievalInfo");
    groupForm.add(groupRetrievalInfo.setOutputMarkupId(true));

    importButton = new SubmitLink("import") {
        @Override
        public void onSubmit() {
            List<String> successGroups = new ArrayList<>((int) ldapGroupsList.getNoOfCurrentlyListedEntities());
            List<String> errorGroups = new ArrayList<>((int) ldapGroupsList.getNoOfCurrentlyListedEntities());
            for (LdapGroup group : ldapGroupsList.getCurrentlySelectedEntities()) {
                if (tryToRegister(group)) {
                    successGroups.add(group.getName());
                } else {
                    errorGroups.add(group.getName());
                }
            }
            if (!errorGroups.isEmpty()) {
                final String users = StringUtils.join(errorGroups, ", ");
                final String message = new StringResourceModel("message.import.result.error",
                        TeamImportPage.this, null, errorGroups.size(), users).getString();
                error(message);
            }
            if (!successGroups.isEmpty()) {
                final String users = StringUtils.join(successGroups, ", ");
                final String message = new StringResourceModel("message.import.result.success",
                        TeamImportPage.this, null, successGroups.size(), users).getString();
                success(message);
            }
        }
    };
    importButton.setOutputMarkupId(true);
    groupForm.add(importButton);

    ldapGroupsList = new LdapGroupListPanel("groupsList", manager) {
        @Override
        public void selectionChanged(AjaxRequestTarget target) {
            updateImportButton();
            target.add(importButton);
        }
    };
    groupForm.add(ldapGroupsList);

    groupForm.add(new DropDownChoice<>("userRole", new PropertyModel<>(this, "userRole"),
            Arrays.asList(Role.userAssignableRoles())));
    groupForm.add(new DropDownChoice<>("groupRole", new PropertyModel<>(this, "groupRole"),
            Arrays.asList(Role.teamAssignableRoles())));
    groupForm.add(
            new CheckBox("registrationMail", new PropertyModel<Boolean>(this, "needToConfirmRegistration")));

    add(groupForm);
    addOrReplace(feedbackPanel);
}