Search in sources :

Example 6 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageCertCampaigns method initLayout.

private void initLayout() {
    Form mainForm = new MidpointForm(ID_MAIN_FORM);
    add(mainForm);
    CertCampaignListItemDtoProvider provider = createProvider();
    provider.setQuery(createCampaignsQuery());
    BoxedTablePanel<CertCampaignListItemDto> table = new BoxedTablePanel<CertCampaignListItemDto>(ID_CAMPAIGNS_TABLE, provider, initColumns(), UserProfileStorage.TableId.PAGE_CERT_CAMPAIGNS_PANEL) {

        @Override
        protected WebMarkupContainer createHeader(String headerId) {
            return new SearchFragment(headerId, ID_TABLE_HEADER, PageCertCampaigns.this, searchModel);
        }
    };
    table.setShowPaging(true);
    table.setOutputMarkupId(true);
    mainForm.add(table);
}
Also used : CertCampaignListItemDtoProvider(com.evolveum.midpoint.web.page.admin.certification.dto.CertCampaignListItemDtoProvider) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) Form(org.apache.wicket.markup.html.form.Form) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) CertCampaignListItemDto(com.evolveum.midpoint.web.page.admin.certification.dto.CertCampaignListItemDto) BoxedTablePanel(com.evolveum.midpoint.web.component.data.BoxedTablePanel)

Example 7 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageCertDefinitions method initLayout.

private void initLayout() {
    Form mainForm = new MidpointForm(ID_MAIN_FORM);
    add(mainForm);
    MainObjectListPanel<AccessCertificationDefinitionType> mainPanel = new MainObjectListPanel<AccessCertificationDefinitionType>(ID_TABLE, AccessCertificationDefinitionType.class, null) {

        private static final long serialVersionUID = 1L;

        @Override
        protected UserProfileStorage.TableId getTableId() {
            return UserProfileStorage.TableId.PAGE_CERT_DEFINITIONS_PANEL;
        }

        @Override
        protected IColumn<SelectableBean<AccessCertificationDefinitionType>, String> createCheckboxColumn() {
            return null;
        }

        @Override
        public void objectDetailsPerformed(AjaxRequestTarget target, AccessCertificationDefinitionType service) {
            PageCertDefinitions.this.detailsPerformed(target, service);
        }

        @Override
        protected List<InlineMenuItem> createInlineMenu() {
            return PageCertDefinitions.this.createInlineMenu();
        }

        @Override
        protected void newObjectPerformed(AjaxRequestTarget target, AssignmentObjectRelation relation, CompiledObjectCollectionView collectionView) {
            navigateToNext(PageCertDefinition.class);
        }
    };
    mainPanel.setOutputMarkupId(true);
    mainPanel.setAdditionalBoxCssClasses(GuiStyleConstants.CLASS_OBJECT_CERT_DEF_BOX_CSS_CLASSES);
    mainForm.add(mainPanel);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) UserProfileStorage(com.evolveum.midpoint.web.session.UserProfileStorage) AccessCertificationDefinitionType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationDefinitionType) MainObjectListPanel(com.evolveum.midpoint.gui.api.component.MainObjectListPanel) Form(org.apache.wicket.markup.html.form.Form) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) CompiledObjectCollectionView(com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) InlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem) ButtonInlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem) AssignmentObjectRelation(com.evolveum.midpoint.model.api.AssignmentObjectRelation)

Example 8 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageLogin method initCustomLayer.

@Override
protected void initCustomLayer() {
    MidpointForm form = new MidpointForm(ID_FORM);
    form.add(AttributeModifier.replace("action", new IModel<String>() {

        @Override
        public String getObject() {
            return getUrlProcessingLogin();
        }
    }));
    add(form);
    BookmarkablePageLink<String> link = new BookmarkablePageLink<>(ID_FORGET_PASSWORD, PageForgotPassword.class);
    Task task = createAnonymousTask(OPERATION_LOAD_RESET_PASSWORD_POLICY);
    OperationResult parentResult = new OperationResult(OPERATION_LOAD_RESET_PASSWORD_POLICY);
    SecurityPolicyType securityPolicy = null;
    try {
        securityPolicy = getModelInteractionService().getSecurityPolicy((PrismObject<? extends FocusType>) null, task, parentResult);
    } catch (CommonException e) {
        LOGGER.warn("Cannot read credentials policy: " + e.getMessage(), e);
    }
    SecurityPolicyType finalSecurityPolicy = securityPolicy;
    link.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            if (finalSecurityPolicy == null) {
                return false;
            }
            if (finalSecurityPolicy != null && finalSecurityPolicy.getCredentialsReset() != null && StringUtils.isNotBlank(finalSecurityPolicy.getCredentialsReset().getAuthenticationSequenceName())) {
                AuthenticationSequenceType sequence = SecurityUtils.getSequenceByName(finalSecurityPolicy.getCredentialsReset().getAuthenticationSequenceName(), finalSecurityPolicy.getAuthentication());
                if (sequence != null && (sequence.getChannel() == null || StringUtils.isBlank(sequence.getChannel().getUrlSuffix()))) {
                    return false;
                }
            }
            CredentialsPolicyType creds = finalSecurityPolicy.getCredentials();
            // TODO: Not entirely correct. This means we have reset somehow configured, but not necessarily enabled.
            if (creds != null && ((creds.getSecurityQuestions() != null && creds.getSecurityQuestions().getQuestionNumber() != null) || (finalSecurityPolicy.getCredentialsReset() != null))) {
                return true;
            }
            return false;
        }
    });
    if (securityPolicy != null && securityPolicy.getCredentialsReset() != null && StringUtils.isNotBlank(securityPolicy.getCredentialsReset().getAuthenticationSequenceName())) {
        AuthenticationSequenceType sequence = SecurityUtils.getSequenceByName(securityPolicy.getCredentialsReset().getAuthenticationSequenceName(), securityPolicy.getAuthentication());
        if (sequence != null) {
            if (sequence.getChannel() == null || StringUtils.isBlank(sequence.getChannel().getUrlSuffix())) {
                String message = "Sequence with name " + securityPolicy.getCredentialsReset().getAuthenticationSequenceName() + " doesn't contain urlSuffix";
                LOGGER.error(message, new IllegalArgumentException(message));
                error(message);
            }
            link.add(AttributeModifier.replace("href", new IModel<String>() {

                @Override
                public String getObject() {
                    return "./" + ModuleWebSecurityConfiguration.DEFAULT_PREFIX_OF_MODULE + "/" + sequence.getChannel().getUrlSuffix();
                }
            }));
        }
    }
    form.add(link);
    BookmarkablePageLink<String> registration = new BookmarkablePageLink<>(ID_SELF_REGISTRATION, PageSelfRegistration.class);
    registration.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            OperationResult parentResult = new OperationResult(OPERATION_LOAD_REGISTRATION_POLICY);
            RegistrationsPolicyType registrationPolicies = null;
            try {
                Task task = createAnonymousTask(OPERATION_LOAD_REGISTRATION_POLICY);
                registrationPolicies = getModelInteractionService().getFlowPolicy(null, task, parentResult);
            } catch (CommonException e) {
                LOGGER.warn("Cannot read credentials policy: " + e.getMessage(), e);
            }
            boolean linkIsVisible = false;
            if (registrationPolicies != null && registrationPolicies.getSelfRegistration() != null) {
                linkIsVisible = true;
            }
            return linkIsVisible;
        }
    });
    if (securityPolicy != null) {
        SelfRegistrationPolicyType policy = SecurityPolicyUtil.getSelfRegistrationPolicy(securityPolicy);
        if (policy != null) {
            String sequenceName = policy.getAdditionalAuthenticationSequence() == null ? policy.getAdditionalAuthenticationName() : policy.getAdditionalAuthenticationSequence();
            if (StringUtils.isNotBlank(sequenceName)) {
                AuthenticationSequenceType sequence = SecurityUtils.getSequenceByName(sequenceName, securityPolicy.getAuthentication());
                if (sequence != null) {
                    registration.add(AttributeModifier.replace("href", () -> "./" + ModuleWebSecurityConfiguration.DEFAULT_PREFIX_OF_MODULE + "/" + sequence.getChannel().getUrlSuffix()));
                }
            }
        }
    }
    form.add(registration);
    WebMarkupContainer csrfField = SecurityUtils.createHiddenInputForCsrf(ID_CSRF_FIELD);
    form.add(csrfField);
}
Also used : IModel(org.apache.wicket.model.IModel) Task(com.evolveum.midpoint.task.api.Task) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) BookmarkablePageLink(org.apache.wicket.markup.html.link.BookmarkablePageLink) PrismObject(com.evolveum.midpoint.prism.PrismObject) CommonException(com.evolveum.midpoint.util.exception.CommonException) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)

Example 9 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class AbstractPageRemoteAuthenticationSelect method initCustomLayer.

@Override
protected void initCustomLayer() {
    List<IdentityProvider> providers = getProviders();
    add(new ListView<IdentityProvider>(ID_PROVIDERS, providers) {

        @Override
        protected void populateItem(ListItem<IdentityProvider> item) {
            item.add(new ExternalLink(ID_PROVIDER, item.getModelObject().getRedirectLink(), item.getModelObject().getLinkText()));
        }
    });
    MidpointForm<?> form = new MidpointForm<>(ID_LOGOUT_FORM);
    ModuleAuthentication actualModule = AuthUtil.getProcessingModuleIfExist();
    if (actualModule != null) {
        Authentication actualAuthentication = actualModule.getAuthentication();
        String authName = actualModule.getNameOfModuleType();
        form.add(new VisibleBehaviour(() -> existRemoteAuthentication(actualAuthentication, authName)));
        String prefix = actualModule.getPrefix();
        form.add(AttributeModifier.replace("action", (IModel<String>) () -> existRemoteAuthentication(actualAuthentication, authName) ? SecurityUtils.getPathForLogoutWithContextPath(getRequest().getContextPath(), prefix) : ""));
    } else {
        form.add(new VisibleBehaviour(() -> false));
    }
    add(form);
    WebMarkupContainer csrfField = SecurityUtils.createHiddenInputForCsrf(ID_CSRF_FIELD);
    form.add(csrfField);
}
Also used : IModel(org.apache.wicket.model.IModel) VisibleBehaviour(com.evolveum.midpoint.web.component.util.VisibleBehaviour) IdentityProvider(com.evolveum.midpoint.authentication.api.IdentityProvider) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) ExternalLink(org.apache.wicket.markup.html.link.ExternalLink) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) ModuleAuthentication(com.evolveum.midpoint.authentication.api.config.ModuleAuthentication) RemoteModuleAuthentication(com.evolveum.midpoint.authentication.api.config.RemoteModuleAuthentication) ModuleAuthentication(com.evolveum.midpoint.authentication.api.config.ModuleAuthentication) MidpointAuthentication(com.evolveum.midpoint.authentication.api.config.MidpointAuthentication) RemoteModuleAuthentication(com.evolveum.midpoint.authentication.api.config.RemoteModuleAuthentication) Authentication(org.springframework.security.core.Authentication)

Example 10 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageSecurityQuestions method initCustomLayer.

@Override
protected void initCustomLayer() {
    MidpointForm form = new MidpointForm(ID_MAIN_FORM);
    form.add(AttributeModifier.replace("action", new IModel<String>() {

        @Override
        public String getObject() {
            return getUrlProcessingLogin();
        }
    }));
    add(form);
    initStaticLayout(form);
    initDynamicLayout(form, PageSecurityQuestions.this);
    initButtons(form);
    initQuestionsSection(form);
    initSendingInformation(form);
}
Also used : IModel(org.apache.wicket.model.IModel) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm)

Aggregations

MidpointForm (com.evolveum.midpoint.web.component.form.MidpointForm)75 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)41 Form (org.apache.wicket.markup.html.form.Form)39 AjaxSubmitButton (com.evolveum.midpoint.web.component.AjaxSubmitButton)20 WebMarkupContainer (org.apache.wicket.markup.html.WebMarkupContainer)19 InlineMenuItem (com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem)17 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)17 UserProfileStorage (com.evolveum.midpoint.web.session.UserProfileStorage)15 MainObjectListPanel (com.evolveum.midpoint.gui.api.component.MainObjectListPanel)14 ArrayList (java.util.ArrayList)14 Label (org.apache.wicket.markup.html.basic.Label)14 IModel (org.apache.wicket.model.IModel)14 IColumn (org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn)11 AjaxButton (com.evolveum.midpoint.web.component.AjaxButton)9 ListItem (org.apache.wicket.markup.html.list.ListItem)8 SelectableBean (com.evolveum.midpoint.web.component.util.SelectableBean)7 VisibleBehaviour (com.evolveum.midpoint.web.component.util.VisibleBehaviour)7 List (java.util.List)7 OnChangeAjaxBehavior (org.apache.wicket.ajax.form.OnChangeAjaxBehavior)7 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)6