diff --git a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingHelper.cs b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingHelper.cs
index 4c3ede4ca8..58f7c9c7c7 100644
--- a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingHelper.cs
+++ b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingHelper.cs
@@ -136,8 +136,8 @@ namespace Volo.Abp.Auditing
UserName = CurrentUser.UserName,
ClientId = CurrentClient.Id,
CorrelationId = CorrelationIdProvider.Get(),
- //ImpersonatorUserId = AbpSession.ImpersonatorUserId, //TODO: Impersonation system is not available yet!
- //ImpersonatorTenantId = AbpSession.ImpersonatorTenantId,
+ ImpersonatorUserId = CurrentUser.FindImpersonatorUserId(),
+ ImpersonatorTenantId = CurrentUser.FindImpersonatorTenantId(),
ExecutionTime = Clock.Now
};
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionAbpVersionFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionAbpVersionFinder.cs
index a86d17fee2..93dbeacc22 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionAbpVersionFinder.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionAbpVersionFinder.cs
@@ -1,5 +1,7 @@
using System.IO;
+using System.Text.RegularExpressions;
using System.Xml;
+using NuGet.Versioning;
using Volo.Abp.Cli.Utils;
using Volo.Abp.DependencyInjection;
@@ -9,28 +11,139 @@ namespace Volo.Abp.Cli.ProjectModification
{
public string Find(string solutionFile)
{
- var projectFilesUnderSrc = Directory.GetFiles(Path.GetDirectoryName(solutionFile),
- "*.csproj",
- SearchOption.AllDirectories);
-
+ var projectFilesUnderSrc = GetProjectFilesOfSolution(solutionFile);
foreach (var projectFile in projectFilesUnderSrc)
{
var content = File.ReadAllText(projectFile);
- var doc = new XmlDocument() { PreserveWhitespace = true };
+ if (TryParseVersionFromCsprojViaXmlDocument(content, out var s))
+ {
+ return s;
+ }
+ }
- doc.Load(StreamHelper.GenerateStreamFromString(content));
+ return null;
+ }
+ private static bool TryParseVersionFromCsprojViaXmlDocument(string content, out string version)
+ {
+ var doc = new XmlDocument() { PreserveWhitespace = true };
+ using (var stream = StreamHelper.GenerateStreamFromString(content))
+ {
+ doc.Load(stream);
var nodes = doc.SelectNodes("/Project/ItemGroup/PackageReference[starts-with(@Include, 'Volo.Abp')]");
-
var value = nodes?[0]?.Attributes?["Version"]?.Value;
+ if (value == null)
+ {
+ version = null;
+ return false;
+ }
+
+ version = value;
+ return true;
+ }
+ }
- if (value != null)
+ public static bool TryParseVersionFromCsprojFile(string csprojContent, out string version)
+ {
+ try
+ {
+ var matches = Regex.Matches(csprojContent,
+ @"PackageReference\s*Include\s*=\s*\""Volo.Abp(.*?)\""\s*Version\s*=\s*\""(.*?)\""",
+ RegexOptions.IgnoreCase |
+ RegexOptions.IgnorePatternWhitespace |
+ RegexOptions.Singleline | RegexOptions.Multiline);
+
+ foreach (Match match in matches)
{
- return value;
+ if (match.Groups.Count > 2)
+ {
+ version = match.Groups[2].Value;
+ return true;
+ }
}
}
+ catch
+ {
+ //ignored
+ }
- return null;
+ version = null;
+ return false;
+ }
+
+
+ public static bool TryParseSemanticVersionFromCsprojFile(string csprojContent, out SemanticVersion version)
+ {
+ try
+ {
+ if (TryParseVersionFromCsprojFile(csprojContent, out var versionText))
+ {
+ return SemanticVersion.TryParse(versionText, out version);
+ }
+ }
+ catch
+ {
+ //ignored
+ }
+
+ version = null;
+ return false;
+ }
+
+ public static bool TryFind(string solutionFile, out string version)
+ {
+ var projectFiles = GetProjectFilesOfSolution(solutionFile);
+ foreach (var projectFile in projectFiles)
+ {
+ var csprojContent = File.ReadAllText(projectFile);
+ if (TryParseVersionFromCsprojFile(csprojContent, out var parsedVersion))
+ {
+ version = parsedVersion;
+ return true;
+ }
+ }
+
+ version = null;
+ return false;
+ }
+
+ public static bool TryFindSemanticVersion(string solutionFile, out SemanticVersion version)
+ {
+ var projectFiles = GetProjectFilesOfSolution(solutionFile);
+ foreach (var projectFile in projectFiles)
+ {
+ var csprojContent = File.ReadAllText(projectFile);
+ if (TryParseSemanticVersionFromCsprojFile(csprojContent, out var parsedVersion))
+ {
+ version = parsedVersion;
+ return true;
+ }
+ }
+
+ version = null;
+ return false;
+ }
+
+ //public static bool TryFindSemanticVersion(string solutionFile, out SemanticVersion version)
+ //{
+ // if (TryFind(solutionFile, out var versionText))
+ // {
+ // return SemanticVersion.TryParse(versionText, out version);
+ // }
+
+ // version = null;
+ // return false;
+ //}
+
+ private static string[] GetProjectFilesOfSolution(string solutionFile)
+ {
+ var solutionDirectory = Path.GetDirectoryName(solutionFile);
+ if (solutionDirectory == null)
+ {
+ return new string[] { };
+ }
+
+ return Directory.GetFiles(solutionDirectory, "*.csproj", SearchOption.AllDirectories);
}
}
}
diff --git a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectVersionParse_Tests.cs b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectVersionParse_Tests.cs
new file mode 100644
index 0000000000..eb4a9eda24
--- /dev/null
+++ b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectVersionParse_Tests.cs
@@ -0,0 +1,70 @@
+using Shouldly;
+using Volo.Abp.Cli.ProjectModification;
+using Xunit;
+
+namespace Volo.Abp.Cli
+{
+ public class ProjectVersionParse_Tests
+ {
+ [Fact]
+ public void Find_Abp_Version()
+ {
+ const string csprojContent = "" +
+ "" +
+ "" +
+ "net5.0" +
+ "Blazoor.EfCore07062034" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "< PackageReference Include = \"Volo.Abp.Emailing\" Version = \"4.4.0-rc.1\" />" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "";
+
+ var success = SolutionAbpVersionFinder.TryParseVersionFromCsprojFile(csprojContent, out var version);
+ success.ShouldBe(true);
+ version.ShouldBe("4.4.0-rc.1");
+ }
+
+ [Fact]
+ public void Find_Abp_Semantic_Version()
+ {
+ const string csprojContent = "" +
+ "" +
+ "" +
+ "net5.0" +
+ "Blazoor.EfCore07062034" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "< PackageReference Include = \"Volo.Abp.Emailing\" Version= \"12.8.3-beta.1\" />" +
+ "" +
+ "";
+
+ var success = SolutionAbpVersionFinder.TryParseSemanticVersionFromCsprojFile(csprojContent, out var version);
+ success.ShouldBe(true);
+ version.Major.ShouldBe(12);
+ version.Minor.ShouldBe(8);
+ version.Patch.ShouldBe(3);
+ version.Release.ShouldBe("beta.1");
+ }
+
+ }
+}
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ar.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ar.json
index e3701c9b69..b80c6c7f05 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ar.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ar.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "استخدم خدمة أخرى لتسجيل الدخول",
"UserLockedOutMessage": "تم قفل حساب المستخدم بسبب محاولات تسجيل الدخول غير الصالحة. يرجى الانتظار بعض الوقت والمحاولة مرة أخرى.",
"InvalidUserNameOrPassword": "اسم مستخدم أو كلمة مرور غير صالحة!",
- "LoginIsNotAllowed": "غير مسموح لك بتسجيل الدخول! أنت بحاجة إلى تأكيد بريدك الإلكتروني / رقم هاتفك.",
+ "LoginIsNotAllowed": "لا يسمح لك بتسجيل الدخول! حسابك غير نشط أو يحتاج إلى تأكيد بريدك الإلكتروني / رقم هاتفك.",
"SelfRegistrationDisabledMessage": "تم تعطيل التسجيل الذاتي لهذا التطبيق. يرجى الاتصال بمسؤول التطبيق لتسجيل مستخدم جديد.",
"LocalLoginDisabledMessage": "تسجيل الدخول المحلي معطّل لهذا التطبيق.",
"Login": "دخول",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/cs.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/cs.json
index 98efb29ed6..d170187231 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/cs.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/cs.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Použít jinou službu k přihlášení",
"UserLockedOutMessage": "Tento účet byl uzamčen z důvodu neúspěšných přihlášení. Přihlaste se prosím později.",
"InvalidUserNameOrPassword": "Neplatné uživatelské jméno nebo heslo!",
- "LoginIsNotAllowed": "Není vám dovoleno se přihlásit! Musíte první potvrdit email/telefonní číslo.",
+ "LoginIsNotAllowed": "Nemáte oprávnění se přihlásit! Váš účet je neaktivní nebo potřebuje potvrdit váš e -mail/telefonní číslo.",
"SelfRegistrationDisabledMessage": "Vlastní registrace uživatele není povolena. K vytvoření účtu kontaktujte správce.",
"LocalLoginDisabledMessage": "Místní přihlášení je pro tuto aplikaci zakázáno.",
"Login": "Přihlásit",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de-DE.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de-DE.json
index 2e8b1f4eb4..f2dc47ccbc 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de-DE.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de-DE.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Verwenden Sie einen anderen Dienst, um sich anzumelden",
"UserLockedOutMessage": "Das Benutzerkonto wurde aufgrund ungültiger Anmeldeversuche gesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
- "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail-Adresse / Telefonnummer bestätigen.",
+ "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Ihr Konto ist inaktiv oder muss Ihre E-Mail-/Telefonnummer bestätigen.",
"SelfRegistrationDisabledMessage": "Die Selbstregistrierung ist für diese Anwendung deaktiviert. Bitte wenden Sie sich an den Anwendungsadministrator, um einen neuen Benutzer zu registrieren.",
"LocalLoginDisabledMessage": "Die lokale Anmeldung ist für diese Anwendung deaktiviert.",
"Login": "Anmelden",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de.json
index 99854771e8..f66217156b 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Einen anderen Dienst zum Anmelden verwenden",
"UserLockedOutMessage": "Das Benutzerkonto wurde aufgrund fehlgeschlagener Anmeldeversuche gesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
- "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail/Telefonnummer bestätigen.",
+ "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Ihr Konto ist inaktiv oder muss Ihre E-Mail-/Telefonnummer bestätigen.",
"SelfRegistrationDisabledMessage": "Die Selbstregistrierung ist für diese Anwendung deaktiviert. Bitte wenden Sie sich an den Anwendungsadministrator, um einen neuen Benutzer zu registrieren.",
"LocalLoginDisabledMessage": "Die lokale Anmeldung ist für diese Anwendung deaktiviert.",
"Login": "Anmelden",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en-GB.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en-GB.json
index cbc5643a53..7bfcdccec7 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en-GB.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en-GB.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Use another service to log in",
"UserLockedOutMessage": "The user account has been locked out due to invalid login attempts. Please wait a while and try again.",
"InvalidUserNameOrPassword": "Invalid username or password!",
- "LoginIsNotAllowed": "You are not allowed to login! You need to confirm your email/phone number.",
+ "LoginIsNotAllowed": "You are not allowed to login! Your account is inactive or needs to confirm your email/phone number.",
"SelfRegistrationDisabledMessage": "Self-registration is disabled for this application. Please contact the application administrator to register a new user.",
"LocalLoginDisabledMessage": "Local login is disabled for this application.",
"Login": "Login",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json
index 48b2ebb4ee..246466193e 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Use another service to log in",
"UserLockedOutMessage": "The user account has been locked out due to invalid login attempts. Please wait a while and try again.",
"InvalidUserNameOrPassword": "Invalid username or password!",
- "LoginIsNotAllowed": "You are not allowed to login! You need to confirm your email/phone number.",
+ "LoginIsNotAllowed": "You are not allowed to login! Your account is inactive or needs to confirm your email/phone number.",
"SelfRegistrationDisabledMessage": "Self-registration is disabled for this application. Please contact the application administrator to register a new user.",
"LocalLoginDisabledMessage": "Local login is disabled for this application.",
"Login": "Login",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es-mx.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es-mx.json
index 68a38c96de..d8c50231a5 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es-mx.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es-mx.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Usar otro servicio para iniciar sesión",
"UserLockedOutMessage": "La cuenta de usuario ha sido bloqueada debido a los intentos de inicio de sesión no válido. Por favor, espere un rato y vuelve a intentarlo.",
"InvalidUserNameOrPassword": "No válido nombre de usuario o la contraseña!",
- "LoginIsNotAllowed": "No está permitido el inicio de sesión! Usted tendrá que confirmar su correo electrónico\/número de teléfono.",
+ "LoginIsNotAllowed": "¡No está permitido iniciar sesión! Su cuenta está inactiva o necesita confirmar su correo electrónico / número de teléfono.",
"SelfRegistrationDisabledMessage": "El autoregistro de usuario está deshabilitado para esta aplicación. Póngase en contacto con el administrador de la aplicación para registrar un nuevo usuario.",
"Login": "Iniciar sesión",
"Cancel": "Cancelar",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
index 9c1d8b6b3a..894cb709ed 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Usar otro servicio para iniciar sesión",
"UserLockedOutMessage": "La cuenta de usuario ha sido bloqueada debido a los intentos de inicio de sesión no válidos. Por favor, espere unos minutos y vuelve a intentarlo.",
"InvalidUserNameOrPassword": "El nombre de usuario o la contraseña no son válidos",
- "LoginIsNotAllowed": "No está permitido el inicio de sesión! Usted tendrá que confirmar su correo electrónico o número de teléfono.",
+ "LoginIsNotAllowed": "¡No está permitido iniciar sesión! Su cuenta está inactiva o necesita confirmar su correo electrónico / número de teléfono.",
"SelfRegistrationDisabledMessage": "El autoregistro de usuario está deshabilitado para esta aplicación. Póngase en contacto con el administrador de la aplicación para registrar un nuevo usuario.",
"LocalLoginDisabledMessage": "Inicio de sesión local ha sido deshabilitado para esta aplicación",
"Login": "Iniciar sesión",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fi.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fi.json
index 5c938a9480..a4e55494eb 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fi.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fi.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Käytä toista palvelua kirjautumiseen",
"UserLockedOutMessage": "Käyttäjätili on lukittu virheellisten kirjautumisyritysten vuoksi. Odota hetki ja yritä uudelleen.",
"InvalidUserNameOrPassword": "Väärä käyttäjänimi tai salasana!",
- "LoginIsNotAllowed": "Et saa kirjautua sisään! Sinun on vahvistettava sähköpostiosoitteesi / puhelinnumerosi.",
+ "LoginIsNotAllowed": "Et saa kirjautua sisään! Tilisi on passiivinen tai sinun on vahvistettava sähköpostiosoitteesi/puhelinnumerosi.",
"SelfRegistrationDisabledMessage": "Itserekisteröinti on poistettu käytöstä tälle sovellukselle. Rekisteröi uusi käyttäjä ottamalla yhteyttä sovelluksen järjestelmänvalvojaan.",
"LocalLoginDisabledMessage": "Paikallinen sisäänkirjautuminen on poistettu käytöstä tälle sovellukselle.",
"Login": "Kirjaudu sisään",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fr.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fr.json
index 7aed8a8e5f..6c943322cc 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fr.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/fr.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Utilisez un autre service pour vous connecter",
"UserLockedOutMessage": "Le compte utilisateur a été verrouillé en raison de tentatives de connexion non valides. Veuillez patienter un instant et réessayer.",
"InvalidUserNameOrPassword": "Nom d'utilisateur ou mot de passe invalide!",
- "LoginIsNotAllowed": "Vous n'êtes pas autorisé à vous connecter! Vous devez confirmer votre e-mail / numéro de téléphone.",
+ "LoginIsNotAllowed": "Vous n'êtes pas autorisé à vous connecter ! Votre compte est inactif ou doit confirmer votre e-mail/numéro de téléphone.",
"SelfRegistrationDisabledMessage": "L'auto-inscription est désactivée pour cette application. Veuillez contacter l'administrateur de l'application pour enregistrer un nouvel utilisateur.",
"LocalLoginDisabledMessage": "La connexion locale est désactivée pour cette application.",
"Login": "Connectez-vous",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hi.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hi.json
index d9a2bccd85..e1605b14e2 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hi.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hi.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "लॉग इन करने के लिए किसी अन्य सेवा का उपयोग करें",
"UserLockedOutMessage": "अमान्य लॉगिन प्रयासों के कारण उपयोगकर्ता खाता बंद कर दिया गया है। कृपया थोड़ी देर प्रतीक्षा करें और पुन: प्रयास करें।",
"InvalidUserNameOrPassword": "अमान्य उपयोगकर्ता नाम या पासवर्ड!",
- "LoginIsNotAllowed": "आपको लॉगिन करने की अनुमति नहीं है! आपको अपने ईमेल / फोन नंबर की पुष्टि करनी होगी।",
+ "LoginIsNotAllowed": "आपको लॉगिन करने की अनुमति नहीं है! आपका खाता निष्क्रिय है या आपके ईमेल/फ़ोन नंबर की पुष्टि करने की आवश्यकता है।",
"SelfRegistrationDisabledMessage": "इस आवेदन के लिए स्व-पंजीकरण अक्षम है। नया उपयोगकर्ता पंजीकृत करने के लिए कृपया एप्लिकेशन व्यवस्थापक से संपर्क करें।",
"LocalLoginDisabledMessage": "इस एप्लिकेशन के लिए स्थानीय लॉगिन अक्षम है।",
"Login": "लॉग इन करें",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hu.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hu.json
index d1d774e7cb..dc95c1b3cb 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hu.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/hu.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Használjon másik szolgáltatást a bejelentkezéshez",
"UserLockedOutMessage": "A felhasználói fiókot érvénytelen bejelentkezési kísérletek miatt zároltuk. Kérjük, várjon egy kicsit, és próbálja újra.",
"InvalidUserNameOrPassword": "Érvénytelen felhasználónév vagy jelszó!",
- "LoginIsNotAllowed": "Ön nem léphet be! Meg kell erősítenie e-mail címét / telefonszámát.",
+ "LoginIsNotAllowed": "A bejelentkezés nem engedélyezett! Fiókja inaktív, vagy meg kell erősítenie e -mail címét/telefonszámát.",
"SelfRegistrationDisabledMessage": "Ennél az alkalmazásnál az önregisztráció le van tiltva. Új felhasználó regisztrálásához vegye fel a kapcsolatot az alkalmazás rendszergazdájával.",
"LocalLoginDisabledMessage": "A helyi bejelentkezés le van tiltva ennél az alkalmazásnál.",
"Login": "Bejelntkezés",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json
index b3a4dc4fef..71d40aabed 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Usa un altro servizio per accedere",
"UserLockedOutMessage": "L'account utente è stato bloccato a causa di tentativi di accesso non validi. Attendi qualche istante e riprova.",
"InvalidUserNameOrPassword": "Username o password non validi!",
- "LoginIsNotAllowed": "Non sei autorizzato ad accedere! Devi confermare la tua email / numero di telefono.",
+ "LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o deve confermare la tua email/numero di telefono.",
"SelfRegistrationDisabledMessage": "L'auto-registrazione è disabilitata per questa applicazione. Contatta l'amministratore dell'applicazione per registrare un nuovo utente.",
"LocalLoginDisabledMessage": "L'accesso locale è disabilitato per questa applicazione.",
"Login": "Login",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json
index 548d4a4f02..19bc055db9 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Gebruik een andere dienst om in te loggen",
"UserLockedOutMessage": "Het gebruikersaccount is geblokkeerd vanwege ongeldige inlogpogingen. Wacht even en probeer het opnieuw.",
"InvalidUserNameOrPassword": "Ongeldige gebruikersnaam of wachtwoord!",
- "LoginIsNotAllowed": "U mag niet inloggen! U moet uw e-mailadres / telefoonnummer bevestigen.",
+ "LoginIsNotAllowed": "U mag niet inloggen! Uw account is inactief of moet uw e-mailadres/telefoonnummer bevestigen.",
"SelfRegistrationDisabledMessage": "Zelfregistratie is uitgeschakeld voor deze applicatie. Neem contact op met de applicatiebeheerder om een nieuwe gebruiker te registreren.",
"LocalLoginDisabledMessage": "Lokale aanmelding is uitgeschakeld voor deze applicatie.",
"Login": "Log in",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pl-PL.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pl-PL.json
index 032ac41cfa..05927f1efa 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pl-PL.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pl-PL.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Użyj innej usługi do zalogowania się",
"UserLockedOutMessage": "Konto użytkownika zostało zablokowane po nieudanych próbach zalogowania. Odczekaj chwilę i spróbuj ponownie.",
"InvalidUserNameOrPassword": "Niepoprawna nazwa użytkownika lub hasło!",
- "LoginIsNotAllowed": "Nie jesteś uprawniony do logowania! Musisz potwierdzić swój email/numer telefonu.",
+ "LoginIsNotAllowed": "Nie możesz się zalogować! Twoje konto jest nieaktywne lub wymaga potwierdzenia adresu e-mail/numeru telefonu.",
"SelfRegistrationDisabledMessage": "Rejestracja użytkowników jest wyłączona dla tej aplikacji. Skontaktuj się z administratorem aplikacji w celu rejestracji nowego użytkownika.",
"Login": "Zaloguj",
"Cancel": "Anuluj",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json
index 9efbc95faa..f1a08b3d90 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Usar outro serviço para entrar",
"UserLockedOutMessage": "Esta conta de usuário está bloqueada devido a muitas tentativas de acesso. Por favor, espero alguns instantes e tente novamente.",
"InvalidUserNameOrPassword": "Usuário ou senha estão incorretos!",
- "LoginIsNotAllowed": "Você não possui permissão para entrar! Você deve confirmar seu e-mail ou número de telefone.",
+ "LoginIsNotAllowed": "Você não tem permissão para fazer o login! Sua conta está inativa ou precisa confirmar seu e-mail / número de telefone.",
"SelfRegistrationDisabledMessage": "Não é permitido que você crie uma nova conta neste site. Contate um administrador para que ele crie uma conta para você.",
"Login": "Entrar",
"Cancel": "Cancelar",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ro-RO.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ro-RO.json
index 909d09f211..71c9fbcdd1 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ro-RO.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ro-RO.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Folisiţi alt serviciu pentru a vă autentifica",
"UserLockedOutMessage": "Contul a fost blocat din cauza incercărilor eşuate de autentificare. Vă rugăm să aşteptaţi şi să încercaţi din nou.",
"InvalidUserNameOrPassword": "Nume de utilizator sau parolă invalide!",
- "LoginIsNotAllowed": "Nu vă este permis să vă autentificaţi! Trebuie să vă confirmaţi email-ul/numărul de telefon.",
+ "LoginIsNotAllowed": "Nu ai voie să te autentifici! Contul dvs. este inactiv sau trebuie să vă confirme numărul de e-mail / telefon.",
"SelfRegistrationDisabledMessage": "Înregistrarea personală este dezactivată pentru această aplicaţie. Vă rugăm să contactaţi administratorul aplicaţiei pentru a înregistra un nou utilizator.",
"LocalLoginDisabledMessage": "Autentificarea locală este dezactivată pentru această aplicaţie.",
"Login": "Autentificare",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ru.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ru.json
index b278f7fbbc..2722c472ef 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ru.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/ru.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Использовать сторонний сервис для входа",
"UserLockedOutMessage": "Пользователь заблокирован из-за большого количества попыток входа. Пожалуйста, попробуйте позднее.",
"InvalidUserNameOrPassword": "Неправильные имя пользователя и/или пароль!",
- "LoginIsNotAllowed": "Вы не можете войти. Вам необходимо подтвердить электронную почту или телефон.",
+ "LoginIsNotAllowed": "Вам не разрешено входить в систему! Ваша учетная запись неактивна или вам необходимо подтвердить адрес электронной почты / номер телефона.",
"SelfRegistrationDisabledMessage": "Самостоятельная регистрация не предусмотрена. Пожалуйста, свяжитесь с администраром для получения доступа.",
"LocalLoginDisabledMessage": "Локальный вход отключен.",
"Login": "Войти",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sk.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sk.json
index 43846a225a..8ac5e62980 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sk.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sk.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Použitie inej služby na prihlásenie",
"UserLockedOutMessage": "Používateľské konto bolo uzamknuté z dôvodu neplatných pokusov o prihlásenie. Chvíľu počkajte a skúste to znova.",
"InvalidUserNameOrPassword": "Neplatné používateľské meno alebo heslo!",
- "LoginIsNotAllowed": "Nemáte povolené prihlásiť sa! Musíte potvrdiť svoj email/telefónne číslo.",
+ "LoginIsNotAllowed": "Nemáte povolenie sa prihlásiť! Váš účet je neaktívny alebo potrebuje potvrdiť váš e -mail/telefónne číslo.",
"SelfRegistrationDisabledMessage": "Samostatná registrácia je pre túto aplikáciu vypnutá. Ak chcete zaregistrovať nového používateľa, obráťte sa na správcu aplikácie.",
"LocalLoginDisabledMessage": "Lokálne prihlásenie je pre túto aplikáciu zakázané.",
"Login": "Prihlásiť",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sl.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sl.json
index 7d8457c5a8..6db74f6184 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sl.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/sl.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Uporabi drugo storitev za prijavo",
"UserLockedOutMessage": "Uporabniški račun je bil zaklenjen zaradi neveljavnih poskusov prijave. Počakajte nekaj časa in poskusite znova.",
"InvalidUserNameOrPassword": "Napačno uporabniško ime ali geslo!",
- "LoginIsNotAllowed": "Nimate dovoljenja za prijavo! Potrditi morate e-poštni naslov/telefonsko številko.",
+ "LoginIsNotAllowed": "Ne smete se prijaviti! Vaš račun je neaktiven ali mora potrditi vaš e -poštni naslov/telefonsko številko.",
"SelfRegistrationDisabledMessage": "Možnost lastne registracije uporabnika je onemogočena za to aplikacijo. Kontaktirajte skrbnika aplikacije, da registrirate novega uporabnika.",
"LocalLoginDisabledMessage": "Lokalna prijava za to aplikacijo je onemogočena.",
"Login": "Prijava",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json
index 2dc74572c9..f9b545b021 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Başka bir servisle giriş yap",
"UserLockedOutMessage": "Kullanıcı hesabı hatalı giriş denemeleri nedeniyle kilitlenmiştir. Lütfen bir süre bekleyip tekrar deneyin.",
"InvalidUserNameOrPassword": "Kullanıcı adı ya da şifre geçersiz!",
- "LoginIsNotAllowed": "Giriş yapamazsınız! E-posta adresinizi ya da telefon numaranızı doğrulamanız gerekiyor.",
+ "LoginIsNotAllowed": "Giriş yapmanıza izin verilmiyor! Hesabınız etkin değil veya e-postanızı/telefon numaranızı onaylamanız gerekiyor.",
"SelfRegistrationDisabledMessage": "Bu uygulama için kullanıcıların kendi kendilerine kaydolmaları engellenmiştir. Yeni bir kullanıcı kaydetmek için lütfen uygulama yöneticisi ile iletişime geçin.",
"LocalLoginDisabledMessage": "Bu uygulama için local login devre dışı bırakılmıştır.",
"Login": "Giriş yap",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json
index 56d436c1cd..9b5c9b5c42 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "Sử dụng dịch vụ khác để đăng nhập",
"UserLockedOutMessage": "Tài khoản người dùng đã bị khóa do các nỗ lực đăng nhập không hợp lệ. Xin vui lòng chờ một lúc và thử lại.",
"InvalidUserNameOrPassword": "Sai tên tài khoản hoặc mật khẩu!",
- "LoginIsNotAllowed": "Bạn không được phép đăng nhập! Bạn cần xác nhận email/số điện thoại của bạn.",
+ "LoginIsNotAllowed": "Bạn không được phép đăng nhập! Tài khoản của bạn không hoạt động hoặc cần xác nhận email / số điện thoại của bạn.",
"SelfRegistrationDisabledMessage": "Tự đăng ký người dùng bị vô hiệu hóa cho ứng dụng này. Liên hệ với quản trị viên ứng dụng để đăng ký người dùng mới.",
"Login": "Đăng nhập",
"Cancel": "Hủy bỏ",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json
index 7f3939c502..ffb6730e22 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "使用另一个服务登录",
"UserLockedOutMessage": "登录失败,用户账户已被锁定.请稍后再试.",
"InvalidUserNameOrPassword": "用户名或密码错误!",
- "LoginIsNotAllowed": "无法登录!你需要验证邮箱地址/手机号.",
+ "LoginIsNotAllowed": "无法登录!你的账号未激活或者需要验证邮箱地址/手机号.",
"SelfRegistrationDisabledMessage": "应用程序未开放注册,请联系管理员添加新用户.",
"LocalLoginDisabledMessage": "应用程序未开放本地账户登录.",
"Login": "登录",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json
index 36e84e1b9c..6e69fc9093 100644
--- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json
@@ -9,7 +9,7 @@
"UseAnotherServiceToLogin": "使用另一個服務登入",
"UserLockedOutMessage": "登入失敗,使用者帳號已被鎖定.請稍後再試.",
"InvalidUserNameOrPassword": "使用者名稱或密碼錯誤!",
- "LoginIsNotAllowed": "無法登入!你需要驗證電子信箱地址/手機號碼.",
+ "LoginIsNotAllowed": "無法登入!你的賬號未激活或者需要驗證郵箱地址/手機號碼.",
"SelfRegistrationDisabledMessage": "應用程式未開放註冊,請聯絡管理員以加入新使用者.",
"LocalLoginDisabledMessage": "應用程序未開放本地賬戶登錄.",
"Login": "登入",
diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitFakeCurrentUser.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitFakeCurrentUser.cs
index ba9c492889..700a805561 100644
--- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitFakeCurrentUser.cs
+++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitFakeCurrentUser.cs
@@ -32,22 +32,22 @@ namespace Volo.CmsKit
public Claim FindClaim(string claimType)
{
- throw new NotImplementedException();
+ return null;
}
public Claim[] FindClaims(string claimType)
{
- throw new NotImplementedException();
+ return null;
}
public Claim[] GetAllClaims()
{
- throw new NotImplementedException();
+ return null;
}
public bool IsInRole(string roleName)
{
- throw new NotImplementedException();
+ return false;
}
}
}
diff --git a/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserCreateOrUpdateDtoBase.cs b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserCreateOrUpdateDtoBase.cs
index e2fe874dbd..3b6959b60c 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserCreateOrUpdateDtoBase.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserCreateOrUpdateDtoBase.cs
@@ -26,6 +26,8 @@ namespace Volo.Abp.Identity
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxPhoneNumberLength))]
public string PhoneNumber { get; set; }
+ public bool IsActive { get; set; }
+
public bool LockoutEnabled { get; set; }
[CanBeNull]
diff --git a/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserDto.cs b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserDto.cs
index f7291a4e82..f3b03ab8dc 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserDto.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityUserDto.cs
@@ -23,6 +23,8 @@ namespace Volo.Abp.Identity
public bool PhoneNumberConfirmed { get; set; }
+ public bool IsActive { get; set; }
+
public bool LockoutEnabled { get; set; }
public DateTimeOffset? LockoutEnd { get; set; }
diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
index 351059a305..e380ffa0d0 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs
@@ -178,7 +178,7 @@ namespace Volo.Abp.Identity
user.Name = input.Name;
user.Surname = input.Surname;
(await UserManager.UpdateAsync(user)).CheckErrors();
-
+ user.SetIsActive(input.IsActive);
if (input.RoleNames != null)
{
(await UserManager.SetRolesAsync(user, input.RoleNames)).CheckErrors();
diff --git a/modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSignInManager.cs b/modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSignInManager.cs
index 8de9014cbe..fc88c33363 100644
--- a/modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSignInManager.cs
+++ b/modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSignInManager.cs
@@ -33,7 +33,7 @@ namespace Volo.Abp.Identity.AspNetCore
AbpOptions = options.Value;
}
- public async override Task PasswordSignInAsync(
+ public override async Task PasswordSignInAsync(
string userName,
string password,
bool isPersistent,
@@ -62,5 +62,16 @@ namespace Volo.Abp.Identity.AspNetCore
return await base.PasswordSignInAsync(userName, password, isPersistent, lockoutOnFailure);
}
+
+ protected override async Task PreSignInCheck(IdentityUser user)
+ {
+ if (!user.IsActive)
+ {
+ Logger.LogWarning("User is currently inactive.");
+ return SignInResult.NotAllowed;
+ }
+
+ return await base.PreSignInCheck(user);
+ }
}
}
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
index 17d24c1d9b..2f632422c1 100644
--- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
+++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
@@ -110,6 +110,9 @@
+
+ @L["DisplayName:IsActive"]
+
@L["DisplayName:LockoutEnabled"]
@@ -221,6 +224,9 @@
+
+ @L["DisplayName:IsActive"]
+
@L["DisplayName:LockoutEnabled"]
@@ -254,4 +260,4 @@
@if ( HasManagePermissionsPermission )
{
-}
\ No newline at end of file
+}
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json
index 68f4318991..642bede8d6 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json
+++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json
@@ -25,6 +25,7 @@
"DisplayName:Email": "Email address",
"DisplayName:PhoneNumber": "Phone number",
"DisplayName:TwoFactorEnabled": "Two factor verification",
+ "DisplayName:IsActive": "Active",
"DisplayName:LockoutEnabled": "Lock account after failed login attempts",
"NewRole": "New role",
"RoleName": "Role name",
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json
index 2ad19c80f4..177e696bab 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json
+++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/tr.json
@@ -25,6 +25,7 @@
"DisplayName:Email": "E-posta adresi",
"DisplayName:PhoneNumber": "Telefon numarası",
"DisplayName:TwoFactorEnabled": "İki aşamalı doğrulama",
+ "DisplayName:IsActive": "Aktif",
"DisplayName:LockoutEnabled": "Başarısız giriş denemeleri sonrası hesabı kilitleme",
"NewRole": "Yeni rol",
"RoleName": "Rol adı",
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json
index ec3c4dbbb8..35fae96839 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json
+++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json
@@ -25,6 +25,7 @@
"DisplayName:Email": "邮箱地址",
"DisplayName:PhoneNumber": "手机号码",
"DisplayName:TwoFactorEnabled": "二次认证",
+ "DisplayName:IsActive": "启用",
"DisplayName:LockoutEnabled": "登录失败,账户被锁定",
"NewRole": "新角色",
"RoleName": "角色名称",
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json
index 54298f530d..06f72cd5d0 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json
+++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hant.json
@@ -25,6 +25,7 @@
"DisplayName:Email": "電子信箱地址",
"DisplayName:PhoneNumber": "手機號碼",
"DisplayName:TwoFactorEnabled": "二次認證",
+ "DisplayName:IsActive": "啟用",
"DisplayName:LockoutEnabled": "登入失敗,帳號被鎖定",
"NewRole": "新角色",
"RoleName": "角色名稱",
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
index f48553681c..befa288fda 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
@@ -82,6 +82,11 @@ namespace Volo.Abp.Identity
/// True if the telephone number has been confirmed, otherwise false.
public virtual bool PhoneNumberConfirmed { get; protected internal set; }
+ ///
+ /// Gets or sets a flag indicating if the user is active.
+ ///
+ public virtual bool IsActive { get; protected internal set; }
+
///
/// Gets or sets a flag indicating if two factor authentication is enabled for this user.
///
@@ -155,6 +160,7 @@ namespace Volo.Abp.Identity
NormalizedEmail = email.ToUpperInvariant();
ConcurrencyStamp = Guid.NewGuid().ToString();
SecurityStamp = Guid.NewGuid().ToString();
+ IsActive = true;
Roles = new Collection();
Claims = new Collection();
@@ -338,11 +344,6 @@ namespace Volo.Abp.Identity
PhoneNumberConfirmed = confirmed;
}
- public override string ToString()
- {
- return $"{base.ToString()}, UserName = {UserName}";
- }
-
///
/// Normally use to change the phone number
/// in the application code.
@@ -356,5 +357,15 @@ namespace Volo.Abp.Identity
PhoneNumber = phoneNumber;
PhoneNumberConfirmed = !phoneNumber.IsNullOrWhiteSpace() && confirmed;
}
+
+ public virtual void SetIsActive(bool isActive)
+ {
+ IsActive = isActive;
+ }
+
+ public override string ToString()
+ {
+ return $"{base.ToString()}, UserName = {UserName}";
+ }
}
}
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml
index 1aa5669b0c..2deaf0a9da 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml
@@ -27,6 +27,7 @@
+
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties())
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs
index 03bbd859cc..c239ac2e48 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs
@@ -79,6 +79,8 @@ namespace Volo.Abp.Identity.Web.Pages.Identity.Users
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxPhoneNumberLength))]
public string PhoneNumber { get; set; }
+ public bool IsActive { get; set; } = true;
+
public bool LockoutEnabled { get; set; } = true;
}
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
index 5bac90712e..b95068cd20 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml
@@ -27,6 +27,7 @@
+
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties())
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs
index 29d044f9da..25affb88a3 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/EditModal.cshtml.cs
@@ -87,6 +87,8 @@ namespace Volo.Abp.Identity.Web.Pages.Identity.Users
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxPhoneNumberLength))]
public string PhoneNumber { get; set; }
+ public bool IsActive { get; set; }
+
public bool LockoutEnabled { get; set; }
}
diff --git a/modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/AbpSignInManager_Tests.cs b/modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/AbpSignInManager_Tests.cs
index dc5d961f9a..b1b3368e5b 100644
--- a/modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/AbpSignInManager_Tests.cs
+++ b/modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/AbpSignInManager_Tests.cs
@@ -35,5 +35,15 @@ namespace Volo.Abp.Identity.AspNetCore
result.ShouldBe("Failed");
}
+
+ [Fact]
+ public async Task Should_Not_SignIn_If_User_Not_Active()
+ {
+ var result = await GetResponseAsStringAsync(
+ "api/signin-test/password?userName=bob&password=1q2w3E*"
+ );
+
+ result.ShouldBe("NotAllowed");
+ }
}
}
diff --git a/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs b/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
index 708deaa68e..a6e0f0c310 100644
--- a/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
+++ b/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs
@@ -12,6 +12,7 @@ namespace Volo.Abp.Identity
{
private readonly IGuidGenerator _guidGenerator;
private readonly IIdentityUserRepository _userRepository;
+ private readonly IdentityUserManager _userManager;
private readonly IIdentityClaimTypeRepository _identityClaimTypeRepository;
private readonly IIdentityRoleRepository _roleRepository;
private readonly IOrganizationUnitRepository _organizationUnitRepository;
@@ -32,6 +33,7 @@ namespace Volo.Abp.Identity
public AbpIdentityTestDataBuilder(
IGuidGenerator guidGenerator,
IIdentityUserRepository userRepository,
+ IdentityUserManager userManager,
IIdentityClaimTypeRepository identityClaimTypeRepository,
IIdentityRoleRepository roleRepository,
IOrganizationUnitRepository organizationUnitRepository,
@@ -44,6 +46,7 @@ namespace Volo.Abp.Identity
{
_guidGenerator = guidGenerator;
_userRepository = userRepository;
+ _userManager = userManager;
_identityClaimTypeRepository = identityClaimTypeRepository;
_roleRepository = roleRepository;
_lookupNormalizer = lookupNormalizer;
@@ -133,6 +136,10 @@ namespace Volo.Abp.Identity
neo.AddClaim(_guidGenerator, new Claim("TestClaimType", "43"));
neo.AddOrganizationUnit(_ou111.Id);
await _userRepository.InsertAsync(neo);
+
+ var bob = new IdentityUser(_testData.UserBobId, "bob", "bob@abp.io");
+ bob.SetIsActive(false);
+ await _userManager.CreateAsync(bob, "1q2w3E*");
}
private async Task AddLinkUsers()
diff --git a/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityTestData.cs b/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityTestData.cs
index 10fcce89af..d2cb0f19b4 100644
--- a/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityTestData.cs
+++ b/modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityTestData.cs
@@ -10,6 +10,7 @@ namespace Volo.Abp.Identity
public Guid UserJohnId { get; } = Guid.NewGuid();
public Guid UserDavidId { get; } = Guid.NewGuid();
public Guid UserNeoId { get; } = Guid.NewGuid();
+ public Guid UserBobId { get; } = Guid.NewGuid();
public Guid AgeClaimId { get; } = Guid.NewGuid();
public Guid EducationClaimId { get; } = Guid.NewGuid();
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/FR.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/FR.json
index 77ad4b10b5..406094d58a 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/FR.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/FR.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId existe déjà: {ClientId}",
"UserLockedOut": "Le compte utilisateur a été verrouillé en raison de tentatives de connexion non valides. Veuillez patienter un instant et réessayer.",
"InvalidUserNameOrPassword": "Nom d'utilisateur ou mot de passe invalide!",
- "LoginIsNotAllowed": "Vous n'êtes pas autorisé à vous connecter! Vous devez confirmer votre adresse e-mail / numéro de téléphone.",
+ "LoginIsNotAllowed": "Vous n'êtes pas autorisé à vous connecter ! Votre compte est inactif ou doit confirmer votre e-mail/numéro de téléphone.",
"InvalidUsername": "Nom d'utilisateur ou mot de passe invalide!",
"TheTargetUserIsNotLinkedToYou": "L'utilisateur cible n'est pas lié à vous!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ar.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ar.json
index b228280c52..85eb99bc1d 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ar.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ar.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "موجود بالفعل: {ClientId}",
"UserLockedOut": "تم قفل حساب المستخدم بسبب محاولات تسجيل الدخول غير الصالحة. يرجى الانتظار بعض الوقت والمحاولة مرة أخرى.",
"InvalidUserNameOrPassword": "اسم مستخدم أو كلمة مرور غير صالحة!",
- "LoginIsNotAllowed": "غير مسموح لك بتسجيل الدخول! أنت بحاجة إلى تأكيد بريدك الإلكتروني / رقم هاتفك.",
+ "LoginIsNotAllowed": "لا يسمح لك بتسجيل الدخول! حسابك غير نشط أو يحتاج إلى تأكيد بريدك الإلكتروني / رقم هاتفك.",
"InvalidUsername": "اسم المستخدم أو كلمة المرور غير صالحة!"
}
}
\ No newline at end of file
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/cs.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/cs.json
index bee3e74fd9..97f3661f39 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/cs.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/cs.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId již existuje: {ClientId}",
"UserLockedOut": "Tento uživatelský účet byl zablokován kvůli neplatným pokusům o přihlášení. Chvilku počkejte a zkuste to znovu.",
"InvalidUserNameOrPassword": "Neplatné uživatelské jméno či heslo!",
- "LoginIsNotAllowed": "Nemáte oprávnění se přihlásit! Musíte potvrdit svůj email/telefonní číslo.",
+ "LoginIsNotAllowed": "Nemáte oprávnění se přihlásit! Váš účet je neaktivní nebo potřebuje potvrdit váš e -mail/telefonní číslo.",
"InvalidUsername": "Neplatné uživatelské jméno či heslo!"
}
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de-DE.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de-DE.json
index bbb835af15..2d419907cc 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de-DE.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de-DE.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId existiert bereits: {ClientId}",
"UserLockedOut": "Das Benutzerkonto wurde aufgrund ungültiger Anmeldeversuche gesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
- "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail-Adresse / Telefonnummer bestätigen.",
+ "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Ihr Konto ist inaktiv oder muss Ihre E-Mail-/Telefonnummer bestätigen.",
"InvalidUsername": "Ungültiger Benutzername oder Passwort!",
"TheTargetUserIsNotLinkedToYou": "Der Zielbenutzer ist nicht mit Ihnen verknüpft!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de.json
index 68e2cde8b8..8154b4375a 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId bereits vorhanden: {ClientId}",
"UserLockedOut": "Das Benutzerkonto wurde aufgrund ungültiger Anmeldeversuche ausgesperrt. Bitte warten Sie eine Weile und versuchen Sie es erneut.",
"InvalidUserNameOrPassword": "Ungültiger Benutzername oder Passwort!",
- "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Sie müssen Ihre E-Mail/Telefonnummer bestätigen.",
+ "LoginIsNotAllowed": "Sie dürfen sich nicht anmelden! Ihr Konto ist inaktiv oder muss Ihre E-Mail-/Telefonnummer bestätigen.",
"InvalidUsername": "Ungültiger Benutzername oder Passwort!"
}
}
\ No newline at end of file
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en-GB.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en-GB.json
index 7c3c87b884..173379249c 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en-GB.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en-GB.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId already exist: {ClientId}",
"UserLockedOut": "The user account has been locked out due to invalid login attempts. Please wait a while and try again.",
"InvalidUserNameOrPassword": "Invalid username or password!",
- "LoginIsNotAllowed": "You are not allowed to login! You need to confirm your email/phone number.",
+ "LoginIsNotAllowed": "You are not allowed to login! Your account is inactive or needs to confirm your email/phone number.",
"InvalidUsername": "Invalid username or password!",
"TheTargetUserIsNotLinkedToYou": "The target user is not linked to you!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en.json
index 31a8ebad04..e756db2877 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/en.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId already exist: {ClientId}",
"UserLockedOut": "The user account has been locked out due to invalid login attempts. Please wait a while and try again.",
"InvalidUserNameOrPassword": "Invalid username or password!",
- "LoginIsNotAllowed": "You are not allowed to login! You need to confirm your email/phone number.",
+ "LoginIsNotAllowed": "You are not allowed to login! Your account is inactive or needs to confirm your email/phone number.",
"InvalidUsername": "Invalid username or password!",
"InvalidAuthenticatorCode": "Invalid authenticator code!",
"TheTargetUserIsNotLinkedToYou": "The target user is not linked to you!"
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json
index 7a21c35184..2a2515bd97 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId ya existe: {ClientId}",
"UserLockedOut": "La cuenta de usuario ha sido bloqueada debido a inicios de sesión no validos. Por favor, espera un momento e intentalo de nuevo.",
"InvalidUserNameOrPassword": "Nombre de usuario o contraseña incorrecto!",
- "LoginIsNotAllowed": "No puedes iniciar sesión!, necesitas confirmar tu e-mail/ número de teléfono.",
+ "LoginIsNotAllowed": "¡No está permitido iniciar sesión! Su cuenta está inactiva o necesita confirmar su correo electrónico / número de teléfono.",
"InvalidUsername": "Nombre de usuario icorrecto",
"TheTargetUserIsNotLinkedToYou": "El usuario de destino no está asociado a usted."
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/fi.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/fi.json
index 21687921a9..bfb746e632 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/fi.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/fi.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId on jo olemassa: {ClientId}",
"UserLockedOut": "Käyttäjätili on lukittu virheellisten kirjautumisyritysten vuoksi. Odota hetki ja yritä uudelleen.",
"InvalidUserNameOrPassword": "Väärä käyttäjänimi tai salasana!",
- "LoginIsNotAllowed": "Et saa kirjautua sisään! Sinun on vahvistettava sähköpostiosoitteesi / puhelinnumerosi.",
+ "LoginIsNotAllowed": "Et saa kirjautua sisään! Tilisi on passiivinen tai sinun on vahvistettava sähköpostiosoitteesi/puhelinnumerosi.",
"InvalidUsername": "Väärä käyttäjänimi tai salasana!",
"TheTargetUserIsNotLinkedToYou": "Kohdekäyttäjä ei ole linkitetty sinuun!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hi.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hi.json
index 2daea29000..cf612a909b 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hi.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hi.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId पहले से मौजूद है: {ClientId}",
"UserLockedOut": "अमान्य लॉगिन प्रयासों के कारण उपयोगकर्ता खाता बंद कर दिया गया है। कृपया थोड़ी देर प्रतीक्षा करें और पुन: प्रयास करें।",
"InvalidUserNameOrPassword": "अमान्य उपयोगकर्ता नाम या पासवर्ड!",
- "LoginIsNotAllowed": "आपको लॉगिन करने की अनुमति नहीं है! आपको अपने ईमेल / फोन नंबर की पुष्टि करनी होगी।",
+ "LoginIsNotAllowed": "आपको लॉगिन करने की अनुमति नहीं है! आपका खाता निष्क्रिय है या आपके ईमेल/फ़ोन नंबर की पुष्टि करने की आवश्यकता है।",
"InvalidUsername": "अमान्य उपयोगकर्ता नाम या पासवर्ड!",
"TheTargetUserIsNotLinkedToYou": "लक्ष्य उपयोगकर्ता आपसे जुड़ा नहीं है!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hu.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hu.json
index e4109a2ba7..5bd3a2676a 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hu.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/hu.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId már létezik: {ClientId}",
"UserLockedOut": "A felhasználói fiókot érvénytelen bejelentkezési kísérletek miatt zároltuk. Kérjük, várjon egy kicsit, és próbálja újra.",
"InvalidUserNameOrPassword": "Érvénytelen felhasználónév vagy jelszó!",
- "LoginIsNotAllowed": "Ön nem léphet be! Meg kell erősítenie e-mail címét / telefonszámát.",
+ "LoginIsNotAllowed": "A bejelentkezés nem engedélyezett! Fiókja inaktív, vagy meg kell erősítenie e -mail címét/telefonszámát.",
"InvalidUsername": "Érvénytelen felhasználónév vagy jelszó!",
"TheTargetUserIsNotLinkedToYou": "A célfelhasználó nincs hozzád kapcsolódva!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json
index 2b564f3af7..cde4f688f4 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId già esistente: {ClientId}",
"UserLockedOut": "L'account utente è stato bloccato a causa di tentativi di accesso non validi. Attendi qualche istante e riprova.",
"InvalidUserNameOrPassword": "Username o password non validi!",
- "LoginIsNotAllowed": "Non sei autorizzato ad accedere! Devi confermare la tua email/numero di telefono.",
+ "LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o deve confermare la tua email/numero di telefono.",
"InvalidUsername": "Username o password non validi!",
"InvalidAuthenticatorCode": "Codice autenticatore non valido!",
"TheTargetUserIsNotLinkedToYou": "L'utente di destinazione non è collegato a te!"
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/nl.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/nl.json
index 9b6943c54f..bcce8f1e55 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/nl.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/nl.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId bestaat al: {ClientId}",
"UserLockedOut": "Het gebruikersaccount is geblokkeerd vanwege ongeldige inlogpogingen. Wacht even en probeer het opnieuw.",
"InvalidUserNameOrPassword": "ongeldige gebruikersnaam of wachtwoord!",
- "LoginIsNotAllowed": "U mag niet inloggen! U moet uw e-mailadres / telefoonnummer bevestigen.",
+ "LoginIsNotAllowed": "U mag niet inloggen! Uw account is inactief of moet uw e-mailadres/telefoonnummer bevestigen.",
"InvalidUsername": "Ongeldige gebruikersnaam of wachtwoord!",
"TheTargetUserIsNotLinkedToYou": "De beoogde gebruiker is niet aan jou gekoppeld!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ro-RO.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ro-RO.json
index 7917e7118c..7841a1df8a 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ro-RO.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ro-RO.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "Id-ul de client există deja: {ClientId}",
"UserLockedOut": "Contul de utilizator a fost blocat din cauza încercărilor de autentificare eşuate. Vă rugăm să aşteptaţi puţin şi după să încercaţi din nou.",
"InvalidUserNameOrPassword": "Nume de utilizator sau parolă invalidă!",
- "LoginIsNotAllowed": "Nu vă este permisă autentificarea! Trebuie să vă confirmaţi emailul/numărul de telefon.",
+ "LoginIsNotAllowed": "Nu ai voie să te autentifici! Contul dvs. este inactiv sau trebuie să vă confirme numărul de e-mail / telefon.",
"InvalidUsername": "Nume de utilizator sau parolă invalidă!",
"InvalidAuthenticatorCode": "Cod de autentificare invalid!",
"TheTargetUserIsNotLinkedToYou": "Utilizatorul ţintă nu este conectat la dumneavoastră!"
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ru.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ru.json
index 808962d8e5..5710bc16e3 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ru.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/ru.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "Параметр ClientID уже существует: {ClientId}",
"UserLockedOut": "Учетная запись пользователя была заблокирована из-за неудачных попыток входа в систему. Пожалуйста, попробуйте позже.",
"InvalidUserNameOrPassword": "Неверное имя пользователя или пароль!",
- "LoginIsNotAllowed": "У вас нет разрешения на вход в систему. Необходимо подтвердить свой адрес электронной почты/номер телефона.",
+ "LoginIsNotAllowed": "Вам не разрешено входить в систему! Ваша учетная запись неактивна или вам необходимо подтвердить адрес электронной почты / номер телефона.",
"InvalidUsername": "Неверное имя пользователя или пароль!"
}
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sk.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sk.json
index 744a92ac1d..18435aaae8 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sk.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sk.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId už existuje: {ClientId}",
"UserLockedOut": "Používateľské konto bolo uzamknuté z dôvodu viacerých neplatných pokusov o prihlásenie. Chvíľu počkajte a skúste sa prihlásiť znova.",
"InvalidUserNameOrPassword": "Nesprávne používateľské meno alebo heslo!",
- "LoginIsNotAllowed": "Nemáte povolené prihlásiť sa! Musíte potvrdiť svoj email/telefónne číslo.",
+ "LoginIsNotAllowed": "Nemáte povolenie sa prihlásiť! Váš účet je neaktívny alebo potrebuje potvrdiť váš e -mail/telefónne číslo.",
"InvalidUsername": "Nesprávne používateľské meno alebo heslo!",
"TheTargetUserIsNotLinkedToYou": "Cieľový používateľ nie je s vami prepojený!"
}
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sl.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sl.json
index b73f64b00e..c5f2dc73de 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sl.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/sl.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId že obstaja: {ClientId}",
"UserLockedOut": "Uporabniški račun je bil blokiran zaradi neveljavnih poskusov prijave. Počakajte nekaj časa in poskusite znova.",
"InvalidUserNameOrPassword": "Napačno uporabniško ime ali geslo!",
- "LoginIsNotAllowed": "Nimate dovoljenja za prijavo! Potrditi morate svojo e-pošto / telefonsko številko.",
+ "LoginIsNotAllowed": "Ne smete se prijaviti! Vaš račun je neaktiven ali mora potrditi vaš e -poštni naslov/telefonsko številko.",
"InvalidUsername": "Napačno uporabniško ime ali geslo!"
}
}
\ No newline at end of file
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/tr.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/tr.json
index b5c072c7e6..08178cd306 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/tr.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/tr.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId already zaten mevcut: {ClientId}",
"UserLockedOut": "Kullanıcı hesabı hatalı giriş denemeleri nedeniyle kilitlenmiştir. Lütfen bir süre bekleyip tekrar deneyin.",
"InvalidUserNameOrPassword": "Kullanıcı adı ya da şifre geçersiz!",
- "LoginIsNotAllowed": "Giriş yapamazsınız! E-posta adresinizi ya da telefon numaranızı doğrulamanız gerekiyor.",
+ "LoginIsNotAllowed": "Giriş yapmanıza izin verilmiyor! Hesabınız etkin değil veya e-postanızı/telefon numaranızı onaylamanız gerekiyor.",
"InvalidUsername": "Kullanıcı adı ya da şifre geçersiz!",
"InvalidAuthenticatorCode": "Geçersiz kimlik doğrulama kodu!",
"TheTargetUserIsNotLinkedToYou": "Hedef kullanıcı sizinle bağlantılı değil!"
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hans.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hans.json
index 7b90b802e7..20bc8b43f0 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hans.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hans.json
@@ -7,7 +7,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId已经存在: {ClientId}",
"UserLockedOut": "登录失败,用户账户已被锁定.请稍后再试.",
"InvalidUserNameOrPassword": "用户名或密码错误!",
- "LoginIsNotAllowed": "无法登录!你需要验证邮箱地址/手机号.",
+ "LoginIsNotAllowed": "无法登录!你的账号未激活或者需要验证邮箱地址/手机号.",
"InvalidUsername": "用户名或密码错误!",
"InvalidAuthenticatorCode": "验证码无效!",
"TheTargetUserIsNotLinkedToYou": "目标用户未和你有关联!"
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hant.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hant.json
index 0ffeae8f81..bf4341055e 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hant.json
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/zh-Hant.json
@@ -6,7 +6,7 @@
"Volo.IdentityServer:DuplicateClientId": "ClientId已經存在: {ClientId}",
"UserLockedOut": "登錄失敗,用戶賬戶已被鎖定.請稍後再試.",
"InvalidUserNameOrPassword": "用戶名或密碼錯誤!",
- "LoginIsNotAllowed": "無法登錄!妳需要驗證郵箱地址/手機號.",
+ "LoginIsNotAllowed": "無法登入!你的賬號未激活或者需要驗證郵箱地址/手機號碼.",
"InvalidUsername": "用戶名或密碼錯誤!"
}
}
\ No newline at end of file
diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpProfileService.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpProfileService.cs
index 224abc6c10..e09315c69f 100644
--- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpProfileService.cs
+++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpProfileService.cs
@@ -40,5 +40,11 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity
await base.IsActiveAsync(context);
}
}
+
+ [UnitOfWork]
+ public override Task IsUserActiveAsync(IdentityUser user)
+ {
+ return Task.FromResult(user.IsActive);
+ }
}
}
diff --git a/npm/ng-packs/packages/setting-management/config/src/providers/features.token.ts b/npm/ng-packs/packages/setting-management/config/src/providers/features.token.ts
new file mode 100644
index 0000000000..f161832972
--- /dev/null
+++ b/npm/ng-packs/packages/setting-management/config/src/providers/features.token.ts
@@ -0,0 +1,39 @@
+import { ConfigStateService, featuresFactory, noop } from '@abp/ng.core';
+import { APP_INITIALIZER, inject, InjectionToken } from '@angular/core';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
+
+export const SETTING_MANAGEMENT_FEATURES = new InjectionToken>(
+ 'SETTING_MANAGEMENT_FEATURES',
+ {
+ providedIn: 'root',
+ factory: () => {
+ const configState = inject(ConfigStateService);
+ const featureKey = 'SettingManagement.Enable';
+ const mapFn = features => ({
+ enable: features[featureKey].toLowerCase() !== 'false',
+ });
+ return featuresFactory(configState, [featureKey], mapFn);
+ },
+ },
+);
+
+export const SETTING_MANAGEMENT_ROUTE_VISIBILITY = new InjectionToken>(
+ 'SETTING_MANAGEMENT_ROUTE_VISIBILITY',
+ {
+ providedIn: 'root',
+ factory: () => {
+ const stream = inject(SETTING_MANAGEMENT_FEATURES);
+ return stream.pipe(map(features => features.enable));
+ },
+ },
+);
+
+export const SETTING_MANAGEMENT_FEATURES_PROVIDERS = [
+ {
+ provide: APP_INITIALIZER,
+ useFactory: noop,
+ deps: [SETTING_MANAGEMENT_ROUTE_VISIBILITY],
+ multi: true,
+ },
+];
diff --git a/npm/ng-packs/packages/setting-management/config/src/providers/index.ts b/npm/ng-packs/packages/setting-management/config/src/providers/index.ts
index a1e873bacc..b44902e5d5 100644
--- a/npm/ng-packs/packages/setting-management/config/src/providers/index.ts
+++ b/npm/ng-packs/packages/setting-management/config/src/providers/index.ts
@@ -1,2 +1,3 @@
export * from './route.provider';
export * from './setting-tab.provider';
+export * from './visible.provider';
diff --git a/npm/ng-packs/packages/setting-management/config/src/providers/route.provider.ts b/npm/ng-packs/packages/setting-management/config/src/providers/route.provider.ts
index 9d272b8be0..6bed72f2fc 100644
--- a/npm/ng-packs/packages/setting-management/config/src/providers/route.provider.ts
+++ b/npm/ng-packs/packages/setting-management/config/src/providers/route.provider.ts
@@ -1,18 +1,9 @@
-import { eLayoutType, RoutesService, SettingTabsService } from '@abp/ng.core';
+import { eLayoutType, noop, RoutesService, SettingTabsService } from '@abp/ng.core';
import { eThemeSharedRouteNames } from '@abp/ng.theme.shared';
-import { APP_INITIALIZER } from '@angular/core';
+import { APP_INITIALIZER, inject, InjectionToken } from '@angular/core';
import { debounceTime, map } from 'rxjs/operators';
import { eSettingManagementRouteNames } from '../enums/route-names';
-
-export const SETTING_MANAGEMENT_ROUTE_PROVIDERS = [
- { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
- {
- provide: APP_INITIALIZER,
- useFactory: hideRoutes,
- deps: [RoutesService, SettingTabsService],
- multi: true,
- },
-];
+import { Observable } from 'rxjs';
export function configureRoutes(routesService: RoutesService) {
return () => {
@@ -28,16 +19,25 @@ export function configureRoutes(routesService: RoutesService) {
]);
};
}
-
-export function hideRoutes(routesService: RoutesService, settingTabsService: SettingTabsService) {
- return () => {
- settingTabsService.visible$
- .pipe(
+export const SETTING_MANAGEMENT_HAS_SETTING = new InjectionToken>(
+ 'SETTING_MANAGEMENT_HAS_SETTING',
+ {
+ factory: () => {
+ const settingTabsService = inject(SettingTabsService);
+ return settingTabsService.visible$.pipe(
debounceTime(0),
- map(nodes => !nodes.length),
- )
- .subscribe(invisible =>
- routesService.patch(eSettingManagementRouteNames.Settings, { invisible }),
+ map(nodes => !!nodes.length),
);
- };
-}
+ },
+ },
+);
+
+export const SETTING_MANAGEMENT_ROUTE_PROVIDERS = [
+ { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
+ {
+ provide: APP_INITIALIZER,
+ useFactory: noop,
+ deps: [SETTING_MANAGEMENT_HAS_SETTING],
+ multi: true,
+ },
+];
diff --git a/npm/ng-packs/packages/setting-management/config/src/providers/visible.provider.ts b/npm/ng-packs/packages/setting-management/config/src/providers/visible.provider.ts
new file mode 100644
index 0000000000..e70e037da6
--- /dev/null
+++ b/npm/ng-packs/packages/setting-management/config/src/providers/visible.provider.ts
@@ -0,0 +1,30 @@
+import { APP_INITIALIZER, Injector } from '@angular/core';
+import { combineLatest } from 'rxjs';
+import { RoutesService } from '@abp/ng.core';
+import { SETTING_MANAGEMENT_HAS_SETTING } from './route.provider';
+import { SETTING_MANAGEMENT_ROUTE_VISIBILITY } from './features.token';
+import { eSettingManagementRouteNames } from '../enums';
+
+export const SETTING_MANAGEMENT_VISIBLE_PROVIDERS = [
+ {
+ provide: APP_INITIALIZER,
+ useFactory: setSettingManagementVisibility,
+ deps: [Injector],
+ multi: true,
+ },
+];
+
+export function setSettingManagementVisibility(injector: Injector) {
+ return () => {
+ const settingManagementHasSetting$ = injector.get(SETTING_MANAGEMENT_HAS_SETTING);
+ const isSettingManagementFeatureEnable$ = injector.get(SETTING_MANAGEMENT_ROUTE_VISIBILITY);
+ const routes = injector.get(RoutesService);
+ combineLatest([settingManagementHasSetting$, isSettingManagementFeatureEnable$]).subscribe(
+ ([settingManagementHasSetting, isSettingManagementFeatureEnable]) => {
+ routes.patch(eSettingManagementRouteNames.Settings, {
+ invisible: !(settingManagementHasSetting && isSettingManagementFeatureEnable),
+ });
+ },
+ );
+ };
+}
diff --git a/npm/ng-packs/packages/setting-management/config/src/setting-management-config.module.ts b/npm/ng-packs/packages/setting-management/config/src/setting-management-config.module.ts
index 38c04c68a0..4821dad145 100644
--- a/npm/ng-packs/packages/setting-management/config/src/setting-management-config.module.ts
+++ b/npm/ng-packs/packages/setting-management/config/src/setting-management-config.module.ts
@@ -1,9 +1,11 @@
import { ModuleWithProviders, NgModule } from '@angular/core';
import { CoreModule } from '@abp/ng.core';
-import { EmailSettingGroupComponent } from './components/email-setting-group/email-setting-group.component';
+import { NgxValidateCoreModule } from '@ngx-validate/core';
+import { SETTING_MANAGEMENT_FEATURES_PROVIDERS } from './providers/features.token';
+import { SETTING_MANAGEMENT_VISIBLE_PROVIDERS } from './providers/visible.provider';
import { SETTING_MANAGEMENT_ROUTE_PROVIDERS } from './providers/route.provider';
import { SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS } from './providers/setting-tab.provider';
-import { NgxValidateCoreModule } from '@ngx-validate/core';
+import { EmailSettingGroupComponent } from './components/email-setting-group/email-setting-group.component';
@NgModule({
imports: [CoreModule, NgxValidateCoreModule],
@@ -14,7 +16,12 @@ export class SettingManagementConfigModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SettingManagementConfigModule,
- providers: [SETTING_MANAGEMENT_ROUTE_PROVIDERS, SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS],
+ providers: [
+ SETTING_MANAGEMENT_ROUTE_PROVIDERS,
+ SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS,
+ SETTING_MANAGEMENT_FEATURES_PROVIDERS,
+ SETTING_MANAGEMENT_VISIBLE_PROVIDERS,
+ ],
};
}
}
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.Designer.cs
similarity index 99%
rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.Designer.cs
rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.Designer.cs
index 060cb48e8a..fa24bfe18c 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.Designer.cs
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.Designer.cs
@@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace MyCompanyName.MyProjectName.Migrations
{
[DbContext(typeof(MyProjectNameDbContext))]
- [Migration("20210615091011_Initial")]
+ [Migration("20210909052638_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -20,7 +20,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.7")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -638,6 +638,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.cs
similarity index 99%
rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.cs
rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.cs
index 8a02b53ba3..8e2d7527d5 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210615091011_Initial.cs
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20210909052638_Initial.cs
@@ -253,6 +253,7 @@ namespace MyCompanyName.MyProjectName.Migrations
IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false),
PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true),
PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false),
+ IsActive = table.Column(type: "bit", nullable: false),
TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
LockoutEnd = table.Column(type: "datetimeoffset", nullable: true),
LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs
index 56ac0762cc..928c1b96eb 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs
@@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.7")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -636,6 +636,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
index eb878dd72c..047febe96b 100644
--- a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
+++ b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.Designer.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.Designer.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.Designer.cs
index 3188e8f984..8107c2dcbe 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.Designer.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.Designer.cs
@@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
{
[DbContext(typeof(UnifiedDbContext))]
- [Migration("20210528093547_Initial")]
+ [Migration("20210909052730_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -20,7 +20,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -580,6 +580,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.cs
index c982c31c32..0d9af49008 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210528093547_Initial.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20210909052730_Initial.cs
@@ -232,6 +232,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false),
PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true),
PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false),
+ IsActive = table.Column(type: "bit", nullable: false),
TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
LockoutEnd = table.Column(type: "datetimeoffset", nullable: true),
LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs
index 2d2e6dafd5..c394d8c737 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs
@@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -578,6 +578,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.Designer.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.Designer.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.Designer.cs
index 2a8dcb3b75..b9edb3b1a7 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.Designer.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.Designer.cs
@@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace MyCompanyName.MyProjectName.Migrations
{
[DbContext(typeof(IdentityServerHostMigrationsDbContext))]
- [Migration("20210528093513_Initial")]
+ [Migration("20210909052712_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -20,7 +20,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -580,6 +580,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.cs
index bf39015d0f..5333a6a34e 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210528093513_Initial.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20210909052712_Initial.cs
@@ -232,6 +232,7 @@ namespace MyCompanyName.MyProjectName.Migrations
IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false),
PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true),
PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false),
+ IsActive = table.Column(type: "bit", nullable: false),
TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
LockoutEnd = table.Column(type: "datetimeoffset", nullable: true),
LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs
index 35ad1df358..aa156c5d53 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs
@@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -578,6 +578,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.Designer.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.Designer.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.Designer.cs
index 43912d5e1a..993934aedb 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.Designer.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.Designer.cs
@@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace MyCompanyName.MyProjectName.Migrations
{
[DbContext(typeof(UnifiedDbContext))]
- [Migration("20210528093522_Initial")]
+ [Migration("20210909052706_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -20,7 +20,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -580,6 +580,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.cs
similarity index 99%
rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.cs
rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.cs
index b5e7c7492e..b7465b0dcb 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210528093522_Initial.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20210909052706_Initial.cs
@@ -232,6 +232,7 @@ namespace MyCompanyName.MyProjectName.Migrations
IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false),
PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true),
PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false),
+ IsActive = table.Column(type: "bit", nullable: false),
TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
LockoutEnd = table.Column(type: "datetimeoffset", nullable: true),
LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false),
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs
index bc4abaa1af..472749a2a0 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs
@@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Migrations
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("ProductVersion", "5.0.6")
+ .HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
@@ -578,6 +578,9 @@ namespace MyCompanyName.MyProjectName.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
diff --git a/test/DistEvents/DistDemoApp/DistDemoApp.csproj b/test/DistEvents/DistDemoApp/DistDemoApp.csproj
index 26077529ea..524fda1046 100644
--- a/test/DistEvents/DistDemoApp/DistDemoApp.csproj
+++ b/test/DistEvents/DistDemoApp/DistDemoApp.csproj
@@ -2,12 +2,12 @@
Exe
- net5.0
+ net6.0
-
-
+
+
@@ -19,7 +19,7 @@
-
+
runtime; build; native; contentfiles; analyzers
compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native