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);
}
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);
}
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);
}
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);
}
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);
}
Aggregations