List of usage examples for org.apache.wicket.extensions.ajax.markup.html IndicatingAjaxButton IndicatingAjaxButton
public IndicatingAjaxButton(final String id)
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); }