mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 01:25:40 -05:00
Fix user default language handling (#2029)
This commit is contained in:
@@ -124,11 +124,11 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectManagement
|
||||
{
|
||||
this.password = DatabaseUtils.GetReadOnlySecureString(userInfo.Password);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(userInfo.DefaultLanguage)
|
||||
|
||||
this.defaultLanguageAlias = (!string.IsNullOrEmpty(userInfo.DefaultLanguage)
|
||||
&& string.Compare(userInfo.DefaultLanguage, SR.DefaultLanguagePlaceholder, StringComparison.Ordinal) != 0)
|
||||
{
|
||||
this.defaultLanguageAlias = LanguageUtils.GetLanguageAliasFromDisplayText(userInfo.DefaultLanguage);
|
||||
}
|
||||
? LanguageUtils.GetLanguageAliasFromDisplayText(userInfo.DefaultLanguage) : string.Empty;
|
||||
|
||||
this.userType = UserPrototypeData.GetUserTypeFromUserInfo(userInfo);
|
||||
}
|
||||
|
||||
|
||||
@@ -126,14 +126,6 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectManagement
|
||||
bool isSqlAzure = serverConnection.DatabaseEngineType == DatabaseEngineType.SqlAzureDatabase;
|
||||
bool supportsContainedUser = isSqlAzure || UserActions.IsParentDatabaseContained(parentDb);
|
||||
|
||||
// set default alias to <default> if needed
|
||||
if (string.IsNullOrEmpty(defaultLanguageAlias)
|
||||
&& supportsContainedUser
|
||||
&& LanguageUtils.IsDefaultLanguageSupported(dataContainer.Server))
|
||||
{
|
||||
defaultLanguageAlias = SR.DefaultLanguagePlaceholder;
|
||||
}
|
||||
|
||||
// set the fake password placeholder when editing an existing user
|
||||
string password = null;
|
||||
IUserPrototypeWithPassword userWithPwdPrototype = currentUserPrototype as IUserPrototypeWithPassword;
|
||||
@@ -172,6 +164,18 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectManagement
|
||||
}
|
||||
}
|
||||
|
||||
string defaultLanguage = null;
|
||||
if (!parameters.IsNewObject)
|
||||
{
|
||||
defaultLanguage = LanguageUtils.FormatLanguageDisplay(
|
||||
languageOptions.FirstOrDefault(
|
||||
o => o?.Language.Name == defaultLanguageAlias || o?.Language.Alias == defaultLanguageAlias, null));
|
||||
}
|
||||
if (string.IsNullOrEmpty(defaultLanguage))
|
||||
{
|
||||
defaultLanguage = SR.DefaultLanguagePlaceholder;
|
||||
}
|
||||
|
||||
UserViewInfo userViewInfo = new UserViewInfo()
|
||||
{
|
||||
ObjectInfo = new UserInfo()
|
||||
@@ -184,8 +188,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectManagement
|
||||
DefaultSchema = defaultSchema,
|
||||
OwnedSchemas = schemaNames.ToArray(),
|
||||
DatabaseRoles = databaseRoles.ToArray(),
|
||||
DefaultLanguage = LanguageUtils.FormatLanguageDisplay(
|
||||
languageOptions.FirstOrDefault(o => o?.Language.Name == defaultLanguageAlias || o?.Language.Alias == defaultLanguageAlias, null)),
|
||||
DefaultLanguage = defaultLanguage
|
||||
},
|
||||
SupportContainedUser = supportsContainedUser,
|
||||
SupportWindowsAuthentication = false,
|
||||
|
||||
Reference in New Issue
Block a user