in openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java [147:225]
protected void onInitialize() {
loginField.setLabel(new ResourceModel("114"));
passField.setLabel(new ResourceModel("110"));
super.onInitialize();
if (WebSession.get().isSignedIn()) {
alreadyLoggedIn();
}
add(credentials, feedback.setOutputMarkupId(true));
credentials.add(loginField, passField.setResetPassword(true));
List<LdapConfig> ldaps = ldapDao.get();
final boolean showLdap = ldaps.size() > 1;
int selectedLdap = cfgDao.getInt(CONFIG_DEFAULT_LDAP_ID, 0);
domain = ldaps.get(selectedLdap < ldaps.size() && selectedLdap > 0 ? selectedLdap : 0);
credentials.add(new WebMarkupContainer("ldap")
.add(new DropDownChoice<>("domain", new PropertyModel<>(SignInDialog.this, "domain")
, ldaps, new ChoiceRenderer<>("name", "id"))).setVisible(showLdap));
credentials.add(new CheckBox("rememberMe", new PropertyModel<>(SignInDialog.this, "rememberMe")).setOutputMarkupId(true));
AjaxButton ab = new AjaxButton("submit") { //FAKE button so "submit-on-enter" works as expected
private static final long serialVersionUID = 1L;
};
add(ab);
setDefaultButton(ab);
credentials.add(new AjaxLink<Void>("forget") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
SignInDialog.this.close(target);
ForgetPasswordDialog forget = (ForgetPasswordDialog)getPage().get("forget");
forget.show(target);
}
});
add(new WebMarkupContainer("netTest").add(AttributeModifier.append("href"
, RequestCycle.get().urlFor(HashPage.class, new PageParameters().add(APP_KEY, APP_TYPE_NETWORK)).toString())));
add(new BookmarkablePageLink<>("privacy", PrivacyPage.class));
final boolean showOauth = ((SignInPage)getPage()).allowOAuthLogin();
add(new WebMarkupContainer("oauth").add(
new ListView<>("oauthList", oauthDao.getActive()) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(final ListItem<OAuthServer> item) {
final OAuthServer s = item.getModelObject();
BootstrapAjaxLink<String> btn = new BootstrapAjaxLink<>("oauthBtn", null, Buttons.Type.Outline_Info, Model.of(s.getName())) {
private static final long serialVersionUID = 1L;
{
setMarkupId("om-oauth-btn-" + s.getId());
setOutputMarkupId(true);
}
@Override
public void onClick(AjaxRequestTarget target) {
showAuth(s);
}
@Override
public void renderHead(IHeaderResponse response) {
if (!Strings.isEmpty(s.getIconUrl())) {
response.render(CssHeaderItem.forCSS("#" + this.getMarkupId() + " .provider {background-image: url(" + s.getIconUrl() + ")}", "oauth-btn-css-" + this.getMarkupId()));
}
}
};
item.add(btn.setIconType(new IconType("provider") {
private static final long serialVersionUID = 1L;
@Override
public String cssClassName() {
return "provider";
}
}));
item.setRenderBodyOnly(true);
}
}).setVisible(showOauth));
if (showOauth) {
add(AttributeModifier.append("class", "wide"));
}
}