Account.FieldName: Move to extension API as AccountFieldName
Change-Id: I103dbe8bfaeb2acc67c6afd505c693953860bb0c
This commit is contained in:
@@ -21,7 +21,7 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
|
||||
import com.google.gerrit.acceptance.GerritConfig;
|
||||
import com.google.gerrit.acceptance.GerritConfigs;
|
||||
import com.google.gerrit.acceptance.RestResponse;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
import com.google.gerrit.server.config.AllProjectsNameProvider;
|
||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
||||
@@ -79,7 +79,7 @@ public class ServerInfoIT extends AbstractDaemonTest {
|
||||
// auth
|
||||
assertThat(i.auth.authType).isEqualTo(AuthType.HTTP);
|
||||
assertThat(i.auth.editableAccountFields).containsExactly(
|
||||
Account.FieldName.REGISTER_NEW_EMAIL, Account.FieldName.FULL_NAME);
|
||||
AccountFieldName.REGISTER_NEW_EMAIL, AccountFieldName.FULL_NAME);
|
||||
assertThat(i.auth.useContributorAgreements).isTrue();
|
||||
assertThat(i.auth.loginUrl).isEqualTo("https://example.com/login");
|
||||
assertThat(i.auth.loginText).isEqualTo("LOGIN");
|
||||
@@ -147,8 +147,8 @@ public class ServerInfoIT extends AbstractDaemonTest {
|
||||
// auth
|
||||
assertThat(i.auth.authType).isEqualTo(AuthType.OPENID);
|
||||
assertThat(i.auth.editableAccountFields).containsExactly(
|
||||
Account.FieldName.REGISTER_NEW_EMAIL, Account.FieldName.FULL_NAME,
|
||||
Account.FieldName.USER_NAME);
|
||||
AccountFieldName.REGISTER_NEW_EMAIL, AccountFieldName.FULL_NAME,
|
||||
AccountFieldName.USER_NAME);
|
||||
assertThat(i.auth.useContributorAgreements).isNull();
|
||||
assertThat(i.auth.loginUrl).isNull();
|
||||
assertThat(i.auth.loginText).isNull();
|
||||
|
@@ -0,0 +1,19 @@
|
||||
// Copyright (C) 2016 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.extensions.client;
|
||||
|
||||
public enum AccountFieldName {
|
||||
FULL_NAME, USER_NAME, REGISTER_NEW_EMAIL
|
||||
}
|
@@ -15,8 +15,7 @@
|
||||
package com.google.gerrit.client.info;
|
||||
|
||||
import com.google.gerrit.client.rpc.Natives;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import com.google.gwt.core.client.JsArrayString;
|
||||
@@ -52,14 +51,14 @@ public class AuthInfo extends JavaScriptObject {
|
||||
return authType() == AuthType.CUSTOM_EXTENSION;
|
||||
}
|
||||
|
||||
public final boolean canEdit(Account.FieldName f) {
|
||||
public final boolean canEdit(AccountFieldName f) {
|
||||
return editableAccountFields().contains(f);
|
||||
}
|
||||
|
||||
public final List<Account.FieldName> editableAccountFields() {
|
||||
List<Account.FieldName> fields = new ArrayList<>();
|
||||
public final List<AccountFieldName> editableAccountFields() {
|
||||
List<AccountFieldName> fields = new ArrayList<>();
|
||||
for (String f : Natives.asList(_editableAccountFields())) {
|
||||
fields.add(Account.FieldName.valueOf(f));
|
||||
fields.add(AccountFieldName.valueOf(f));
|
||||
}
|
||||
return fields;
|
||||
}
|
||||
@@ -67,7 +66,7 @@ public class AuthInfo extends JavaScriptObject {
|
||||
public final boolean siteHasUsernames() {
|
||||
if (isCustomExtension()
|
||||
&& httpPasswordUrl() != null
|
||||
&& !canEdit(FieldName.USER_NAME)) {
|
||||
&& !canEdit(AccountFieldName.USER_NAME)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@@ -24,8 +24,7 @@ import com.google.gerrit.client.rpc.Natives;
|
||||
import com.google.gerrit.client.ui.OnEditEnabler;
|
||||
import com.google.gerrit.common.PageLinks;
|
||||
import com.google.gerrit.common.errors.EmailException;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.event.dom.client.ChangeHandler;
|
||||
@@ -102,7 +101,7 @@ class ContactPanelShort extends Composite {
|
||||
}
|
||||
|
||||
int row = 0;
|
||||
if (!Gerrit.info().auth().canEdit(FieldName.USER_NAME)
|
||||
if (!Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME)
|
||||
&& Gerrit.info().auth().siteHasUsernames()) {
|
||||
infoPlainText.resizeRows(infoPlainText.getRowCount() + 1);
|
||||
row(infoPlainText, row++, Util.C.userName(), new UsernameField());
|
||||
@@ -171,11 +170,11 @@ class ContactPanelShort extends Composite {
|
||||
}
|
||||
|
||||
private boolean canEditFullName() {
|
||||
return Gerrit.info().auth().canEdit(Account.FieldName.FULL_NAME);
|
||||
return Gerrit.info().auth().canEdit(AccountFieldName.FULL_NAME);
|
||||
}
|
||||
|
||||
private boolean canRegisterNewEmail() {
|
||||
return Gerrit.info().auth().canEdit(Account.FieldName.REGISTER_NEW_EMAIL);
|
||||
return Gerrit.info().auth().canEdit(AccountFieldName.REGISTER_NEW_EMAIL);
|
||||
}
|
||||
|
||||
void hideSaveButton() {
|
||||
|
@@ -20,7 +20,7 @@ import com.google.gerrit.client.ui.AccountScreen;
|
||||
import com.google.gerrit.client.ui.InlineHyperlink;
|
||||
import com.google.gerrit.client.ui.SmallHeading;
|
||||
import com.google.gerrit.common.PageLinks;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.FormPanel;
|
||||
@@ -70,7 +70,7 @@ public class RegisterScreen extends AccountScreen {
|
||||
formBody.add(contactGroup);
|
||||
|
||||
if (Gerrit.getUserAccount().username() == null
|
||||
&& Gerrit.info().auth().canEdit(FieldName.USER_NAME)) {
|
||||
&& Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME)) {
|
||||
final FlowPanel fp = new FlowPanel();
|
||||
fp.setStyleName(Gerrit.RESOURCES.css().registerScreenSection());
|
||||
fp.add(new SmallHeading(Util.C.welcomeUsernameHeading()));
|
||||
|
@@ -22,6 +22,7 @@ import com.google.gerrit.client.rpc.GerritCallback;
|
||||
import com.google.gerrit.client.rpc.NativeString;
|
||||
import com.google.gerrit.client.rpc.RestApi;
|
||||
import com.google.gerrit.client.ui.OnEditEnabler;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
@@ -86,7 +87,7 @@ class UsernameField extends Composite {
|
||||
}
|
||||
|
||||
private boolean canEditUserName() {
|
||||
return Gerrit.info().auth().canEdit(Account.FieldName.USER_NAME);
|
||||
return Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME);
|
||||
}
|
||||
|
||||
private void confirmSetUserName() {
|
||||
|
@@ -55,10 +55,6 @@ import java.sql.Timestamp;
|
||||
* </ul>
|
||||
*/
|
||||
public final class Account {
|
||||
public enum FieldName {
|
||||
FULL_NAME, USER_NAME, REGISTER_NEW_EMAIL
|
||||
}
|
||||
|
||||
public static final String USER_NAME_PATTERN_FIRST = "[a-zA-Z0-9]";
|
||||
public static final String USER_NAME_PATTERN_REST = "[a-zA-Z0-9._-]";
|
||||
public static final String USER_NAME_PATTERN_LAST = "[a-zA-Z0-9]";
|
||||
|
@@ -16,8 +16,7 @@ package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.AccountExternalId;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.mail.EmailSender;
|
||||
@@ -37,11 +36,11 @@ public abstract class AbstractRealm implements Realm {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<FieldName> getEditableFields() {
|
||||
Set<Account.FieldName> fields = new HashSet<>();
|
||||
for (Account.FieldName n : Account.FieldName.values()) {
|
||||
public Set<AccountFieldName> getEditableFields() {
|
||||
Set<AccountFieldName> fields = new HashSet<>();
|
||||
for (AccountFieldName n : AccountFieldName.values()) {
|
||||
if (allowsEdit(n)) {
|
||||
if (n == Account.FieldName.REGISTER_NEW_EMAIL) {
|
||||
if (n == AccountFieldName.REGISTER_NEW_EMAIL) {
|
||||
if (emailSender != null && emailSender.isEnabled()) {
|
||||
fields.add(n);
|
||||
}
|
||||
|
@@ -21,6 +21,7 @@ import com.google.gerrit.common.data.AccessSection;
|
||||
import com.google.gerrit.common.data.GlobalCapability;
|
||||
import com.google.gerrit.common.data.Permission;
|
||||
import com.google.gerrit.common.errors.NameAlreadyUsedException;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountExternalId;
|
||||
import com.google.gerrit.reviewdb.client.AccountGroup;
|
||||
@@ -201,14 +202,14 @@ public class AccountManager {
|
||||
db.accountExternalIds().update(Collections.singleton(extId));
|
||||
}
|
||||
|
||||
if (!realm.allowsEdit(Account.FieldName.FULL_NAME)
|
||||
if (!realm.allowsEdit(AccountFieldName.FULL_NAME)
|
||||
&& !Strings.isNullOrEmpty(who.getDisplayName())
|
||||
&& !eq(user.getAccount().getFullName(), who.getDisplayName())) {
|
||||
toUpdate = load(toUpdate, user.getAccountId(), db);
|
||||
toUpdate.setFullName(who.getDisplayName());
|
||||
}
|
||||
|
||||
if (!realm.allowsEdit(Account.FieldName.USER_NAME)
|
||||
if (!realm.allowsEdit(AccountFieldName.USER_NAME)
|
||||
&& who.getUserName() != null
|
||||
&& !eq(user.getUserName(), who.getUserName())) {
|
||||
log.warn(String.format("Not changing already set username %s to %s",
|
||||
@@ -340,7 +341,7 @@ public class AccountManager {
|
||||
} else {
|
||||
log.error(errorMessage);
|
||||
}
|
||||
if (!realm.allowsEdit(Account.FieldName.USER_NAME)) {
|
||||
if (!realm.allowsEdit(AccountFieldName.USER_NAME)) {
|
||||
// setting the given user name has failed, but the realm does not
|
||||
// allow the user to manually set a user name,
|
||||
// this means we would end with an account without user name
|
||||
|
@@ -16,6 +16,7 @@ package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.common.errors.EmailException;
|
||||
import com.google.gerrit.extensions.api.accounts.EmailInput;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||
import com.google.gerrit.extensions.restapi.MethodNotAllowedException;
|
||||
@@ -23,7 +24,6 @@ import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||
import com.google.gerrit.extensions.restapi.Response;
|
||||
import com.google.gerrit.extensions.restapi.RestModifyView;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
@@ -96,7 +96,7 @@ public class CreateEmail implements RestModifyView<AccountResource, EmailInput>
|
||||
throw new AuthException("not allowed to use no_confirmation");
|
||||
}
|
||||
|
||||
if (!realm.allowsEdit(FieldName.REGISTER_NEW_EMAIL)) {
|
||||
if (!realm.allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL)) {
|
||||
throw new MethodNotAllowedException("realm does not allow adding emails");
|
||||
}
|
||||
|
||||
|
@@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
import com.google.gerrit.server.config.AuthConfig;
|
||||
@@ -39,7 +40,7 @@ public class DefaultRealm extends AbstractRealm {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowsEdit(final Account.FieldName field) {
|
||||
public boolean allowsEdit(final AccountFieldName field) {
|
||||
if (authConfig.getAuthType() == AuthType.HTTP) {
|
||||
switch (field) {
|
||||
case USER_NAME:
|
||||
|
@@ -14,13 +14,13 @@
|
||||
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.MethodNotAllowedException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||
import com.google.gerrit.extensions.restapi.Response;
|
||||
import com.google.gerrit.extensions.restapi.RestModifyView;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.reviewdb.client.AccountExternalId;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
@@ -67,7 +67,7 @@ public class DeleteEmail implements RestModifyView<AccountResource.Email, Input>
|
||||
public Response<?> apply(IdentifiedUser user, String email)
|
||||
throws ResourceNotFoundException, ResourceConflictException,
|
||||
MethodNotAllowedException, OrmException, IOException {
|
||||
if (!realm.allowsEdit(FieldName.REGISTER_NEW_EMAIL)) {
|
||||
if (!realm.allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL)) {
|
||||
throw new MethodNotAllowedException("realm does not allow deleting emails");
|
||||
}
|
||||
AccountExternalId.Key key = new AccountExternalId.Key(
|
||||
|
@@ -14,13 +14,13 @@
|
||||
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
|
||||
/** Fake implementation of {@link Realm} that does not communicate. */
|
||||
public class FakeRealm extends AbstractRealm {
|
||||
@Override
|
||||
public boolean allowsEdit(FieldName field) {
|
||||
public boolean allowsEdit(AccountFieldName field) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.DefaultInput;
|
||||
import com.google.gerrit.extensions.restapi.MethodNotAllowedException;
|
||||
@@ -22,7 +23,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||
import com.google.gerrit.extensions.restapi.Response;
|
||||
import com.google.gerrit.extensions.restapi.RestModifyView;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
@@ -74,7 +74,7 @@ public class PutName implements RestModifyView<AccountResource, Input> {
|
||||
input = new Input();
|
||||
}
|
||||
|
||||
if (!realm.allowsEdit(FieldName.FULL_NAME)) {
|
||||
if (!realm.allowsEdit(AccountFieldName.FULL_NAME)) {
|
||||
throw new MethodNotAllowedException("realm does not allow editing name");
|
||||
}
|
||||
|
||||
|
@@ -15,13 +15,13 @@
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.common.errors.NameAlreadyUsedException;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.DefaultInput;
|
||||
import com.google.gerrit.extensions.restapi.MethodNotAllowedException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||
import com.google.gerrit.extensions.restapi.RestModifyView;
|
||||
import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.account.PutUsername.Input;
|
||||
@@ -64,7 +64,7 @@ public class PutUsername implements RestModifyView<AccountResource, Input> {
|
||||
throw new AuthException("not allowed to set username");
|
||||
}
|
||||
|
||||
if (!realm.allowsEdit(Account.FieldName.USER_NAME)) {
|
||||
if (!realm.allowsEdit(AccountFieldName.USER_NAME)) {
|
||||
throw new MethodNotAllowedException("realm does not allow editing username");
|
||||
}
|
||||
|
||||
|
@@ -14,6 +14,7 @@
|
||||
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
|
||||
@@ -21,10 +22,10 @@ import java.util.Set;
|
||||
|
||||
public interface Realm {
|
||||
/** Can the end-user modify this field of their own account? */
|
||||
boolean allowsEdit(Account.FieldName field);
|
||||
boolean allowsEdit(AccountFieldName field);
|
||||
|
||||
/** Returns the account fields that the end-user can modify. */
|
||||
Set<Account.FieldName> getEditableFields();
|
||||
Set<AccountFieldName> getEditableFields();
|
||||
|
||||
AuthRequest authenticate(AuthRequest who) throws AccountException;
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import com.google.common.base.Strings;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.gerrit.common.data.ParameterizedString;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountExternalId;
|
||||
import com.google.gerrit.reviewdb.client.AccountGroup;
|
||||
@@ -67,7 +68,7 @@ class LdapRealm extends AbstractRealm {
|
||||
private final AuthConfig authConfig;
|
||||
private final EmailExpander emailExpander;
|
||||
private final LoadingCache<String, Optional<Account.Id>> usernameCache;
|
||||
private final Set<Account.FieldName> readOnlyAccountFields;
|
||||
private final Set<AccountFieldName> readOnlyAccountFields;
|
||||
private final boolean fetchMemberOfEagerly;
|
||||
private final Config config;
|
||||
|
||||
@@ -91,13 +92,13 @@ class LdapRealm extends AbstractRealm {
|
||||
this.readOnlyAccountFields = new HashSet<>();
|
||||
|
||||
if (optdef(config, "accountFullName", "DEFAULT") != null) {
|
||||
readOnlyAccountFields.add(Account.FieldName.FULL_NAME);
|
||||
readOnlyAccountFields.add(AccountFieldName.FULL_NAME);
|
||||
}
|
||||
if (optdef(config, "accountSshUserName", "DEFAULT") != null) {
|
||||
readOnlyAccountFields.add(Account.FieldName.USER_NAME);
|
||||
readOnlyAccountFields.add(AccountFieldName.USER_NAME);
|
||||
}
|
||||
if (!authConfig.isAllowRegisterNewEmail()) {
|
||||
readOnlyAccountFields.add(Account.FieldName.REGISTER_NEW_EMAIL);
|
||||
readOnlyAccountFields.add(AccountFieldName.REGISTER_NEW_EMAIL);
|
||||
}
|
||||
|
||||
fetchMemberOfEagerly = optional(config, "fetchMemberOfEagerly", true);
|
||||
@@ -196,7 +197,7 @@ class LdapRealm extends AbstractRealm {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowsEdit(final Account.FieldName field) {
|
||||
public boolean allowsEdit(final AccountFieldName field) {
|
||||
return !readOnlyAccountFields.contains(field);
|
||||
}
|
||||
|
||||
|
@@ -17,9 +17,9 @@ package com.google.gerrit.server.auth.oauth;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.gerrit.extensions.auth.oauth.OAuthLoginProvider;
|
||||
import com.google.gerrit.extensions.auth.oauth.OAuthUserInfo;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.registration.DynamicMap;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Account.FieldName;
|
||||
import com.google.gerrit.server.account.AbstractRealm;
|
||||
import com.google.gerrit.server.account.AccountException;
|
||||
import com.google.gerrit.server.account.AccountManager;
|
||||
@@ -37,7 +37,7 @@ import java.util.Set;
|
||||
@Singleton
|
||||
public class OAuthRealm extends AbstractRealm {
|
||||
private final DynamicMap<OAuthLoginProvider> loginProviders;
|
||||
private final Set<FieldName> editableAccountFields;
|
||||
private final Set<AccountFieldName> editableAccountFields;
|
||||
|
||||
@Inject
|
||||
OAuthRealm(DynamicMap<OAuthLoginProvider> loginProviders,
|
||||
@@ -45,15 +45,15 @@ public class OAuthRealm extends AbstractRealm {
|
||||
this.loginProviders = loginProviders;
|
||||
this.editableAccountFields = new HashSet<>();
|
||||
if (config.getBoolean("oauth", null, "allowEditFullName", false)) {
|
||||
editableAccountFields.add(FieldName.FULL_NAME);
|
||||
editableAccountFields.add(AccountFieldName.FULL_NAME);
|
||||
}
|
||||
if (config.getBoolean("oauth", null, "allowRegisterNewEmail", false)) {
|
||||
editableAccountFields.add(FieldName.REGISTER_NEW_EMAIL);
|
||||
editableAccountFields.add(AccountFieldName.REGISTER_NEW_EMAIL);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowsEdit(FieldName field) {
|
||||
public boolean allowsEdit(AccountFieldName field) {
|
||||
return editableAccountFields.contains(field);
|
||||
}
|
||||
|
||||
@@ -105,12 +105,12 @@ public class OAuthRealm extends AbstractRealm {
|
||||
}
|
||||
if (!Strings.isNullOrEmpty(userInfo.getEmailAddress())
|
||||
&& (Strings.isNullOrEmpty(who.getUserName())
|
||||
|| !allowsEdit(FieldName.REGISTER_NEW_EMAIL))) {
|
||||
|| !allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL))) {
|
||||
who.setEmailAddress(userInfo.getEmailAddress());
|
||||
}
|
||||
if (!Strings.isNullOrEmpty(userInfo.getDisplayName())
|
||||
&& (Strings.isNullOrEmpty(who.getDisplayName())
|
||||
|| !allowsEdit(FieldName.FULL_NAME))) {
|
||||
|| !allowsEdit(AccountFieldName.FULL_NAME))) {
|
||||
who.setDisplayName(userInfo.getDisplayName());
|
||||
}
|
||||
return who;
|
||||
|
@@ -20,6 +20,7 @@ import com.google.common.base.Optional;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gerrit.extensions.client.AccountFieldName;
|
||||
import com.google.gerrit.extensions.config.CloneCommand;
|
||||
import com.google.gerrit.extensions.config.DownloadCommand;
|
||||
import com.google.gerrit.extensions.config.DownloadScheme;
|
||||
@@ -28,7 +29,6 @@ import com.google.gerrit.extensions.registration.DynamicMap;
|
||||
import com.google.gerrit.extensions.registration.DynamicSet;
|
||||
import com.google.gerrit.extensions.restapi.RestReadView;
|
||||
import com.google.gerrit.extensions.webui.WebUiPlugin;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AuthType;
|
||||
import com.google.gerrit.server.EnableSignedPush;
|
||||
import com.google.gerrit.server.account.Realm;
|
||||
@@ -340,7 +340,7 @@ public class GetServerInfo implements RestReadView<ConfigResource> {
|
||||
public static class AuthInfo {
|
||||
public AuthType authType;
|
||||
public Boolean useContributorAgreements;
|
||||
public List<Account.FieldName> editableAccountFields;
|
||||
public List<AccountFieldName> editableAccountFields;
|
||||
public String loginUrl;
|
||||
public String loginText;
|
||||
public String switchAccountUrl;
|
||||
|
Reference in New Issue
Block a user