From 68e0781f62e6b1442014bc02ba31e5e55ab21f30 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 30 Sep 2017 01:42:51 +0200 Subject: [PATCH] locale --- Yavsc/Controllers/AccountController.cs | 91 ++++++++++-------- ...c.Resources.YavscLocalisation.en.resources | Bin 14080 -> 0 bytes .../Yavsc.Resources.YavscLocalisation.en.resx | 11 ++- ...c.Resources.YavscLocalisation.fr.resources | Bin 22101 -> 0 bytes .../Yavsc.Resources.YavscLocalisation.fr.resx | 6 ++ 5 files changed, 66 insertions(+), 42 deletions(-) delete mode 100644 Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resources delete mode 100644 Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resources diff --git a/Yavsc/Controllers/AccountController.cs b/Yavsc/Controllers/AccountController.cs index 8c16babc..a65d9214 100644 --- a/Yavsc/Controllers/AccountController.cs +++ b/Yavsc/Controllers/AccountController.cs @@ -14,12 +14,9 @@ using Microsoft.AspNet.Http; using Yavsc.Models; using Yavsc.Services; using Yavsc.ViewModels.Account; -using Yavsc.Helpers; using Microsoft.Extensions.Localization; using Microsoft.Data.Entity; using Newtonsoft.Json; -using System.Collections.Generic; -using Yavsc.Models.Messaging; namespace Yavsc.Controllers { @@ -49,7 +46,7 @@ namespace Yavsc.Controllers IOptions siteSettings, IOptions smtpSettings, ILoggerFactory loggerFactory, IOptions twilioSettings, - IStringLocalizer localizer, + IStringLocalizer localizer, ApplicationDbContext dbContext) { _userManager = userManager; @@ -65,8 +62,8 @@ namespace Yavsc.Controllers _dbContext = dbContext; } - [Authorize(Roles=Constants.AdminGroupName)] - public async Task UserList () + [Authorize(Roles = Constants.AdminGroupName)] + public async Task UserList() { return View(await _dbContext.Users.ToArrayAsync()); } @@ -95,10 +92,10 @@ namespace Yavsc.Controllers { ViewBag.UserIsSignedIn = User.IsSignedIn(); if (string.IsNullOrWhiteSpace(requestUrl)) - if (string.IsNullOrWhiteSpace(Request.Headers["Referer"])) - requestUrl = "/"; + if (string.IsNullOrWhiteSpace(Request.Headers["Referer"])) + requestUrl = "/"; else requestUrl = Request.Headers["Referer"]; - return View("AccessDenied",requestUrl); + return View("AccessDenied", requestUrl); } [AllowAnonymous] @@ -216,7 +213,7 @@ namespace Yavsc.Controllers if (result.Succeeded) { _logger.LogInformation(3, "User created a new account with password."); - await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, Startup.SiteSetup.Owner.EMail, + await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, Startup.SiteSetup.Owner.EMail, $"[{_siteSettings.Title}] Inscription avec mot de passe: {user.UserName} ", $"{user.Id}/{user.UserName}/{user.Email}"); // TODO user.DiskQuota = Startup.SiteSetup.UserFiles.Quota; @@ -224,20 +221,23 @@ namespace Yavsc.Controllers // Send an email with this link var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); - var emailSent = await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, model.Email, "Confirm your account", - "Please confirm your account by clicking this link: link"); - await _signInManager.SignInAsync(user, isPersistent: false); - if (!emailSent) { + var emailSent = await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, model.Email, _localizer["ConfirmYourAccountTitle"], + string.Format(_localizer["ConfirmYourAccountBody"], _siteSettings.Title, callbackUrl, _siteSettings.Slogan, _siteSettings.Audience)); + await _signInManager.SignInAsync(user, isPersistent: false); + if (!emailSent) + { _logger.LogWarning("User created with error sending email confirmation request"); - this.NotifyWarning ( + this.NotifyWarning( "E-mail confirmation", _localizer["ErrorSendingEmailForConfirm"] - ) ; - } else this.NotifyInfo ( - "E-mail confirmation", - _localizer["EmailSentForConfirm"] - ) ; - + ); + } + else + this.NotifyInfo( + "E-mail confirmation", + _localizer["EmailSentForConfirm"] + ); + return View("AccountCreated"); } AddErrors(result); @@ -247,15 +247,22 @@ namespace Yavsc.Controllers return View(model); } - [Authorize,HttpPost,ValidateAntiForgeryToken] - public async Task SendEMailForConfirm () { - var user = await _userManager.FindByIdAsync( User.GetUserId() ); - var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); - var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); - await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, user.Email, "Confirm your account", - "Please confirm your account by clicking this link: link"); + [Authorize, HttpPost, ValidateAntiForgeryToken] + public async Task SendEMailForConfirm() + { + var user = await _userManager.FindByIdAsync(User.GetUserId()); + ViewBag.EmailSent = SendEMailForConfirm(user); return View("ConfirmEmailSent"); } + + private async Task SendEMailForConfirm(ApplicationUser user) + { + var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); + var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); + var res = await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, user.Email, "Confirm your account", + "Please confirm your account by clicking this link: link"); + return res; + } // // POST: /Account/LogOff [HttpPost(Constants.LogoutPath)] @@ -282,14 +289,14 @@ namespace Yavsc.Controllers } // Sign in the user with this external login provider if the user already has a login. - info.ProviderDisplayName = info.ExternalPrincipal.Claims.First(c=>c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name")?.Value; + info.ProviderDisplayName = info.ExternalPrincipal.Claims.First(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name")?.Value; var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false); if (result.Succeeded) { - _logger.LogInformation(5, $"User logged in with {info.LoginProvider} provider, as {info.ProviderDisplayName} ({info.ProviderKey})." ); + _logger.LogInformation(5, $"User logged in with {info.LoginProvider} provider, as {info.ProviderDisplayName} ({info.ProviderKey})."); - var ninfo = _dbContext.UserLogins.First(l=>l.ProviderKey == info.ProviderKey && l.LoginProvider == info.LoginProvider); + var ninfo = _dbContext.UserLogins.First(l => l.ProviderKey == info.ProviderKey && l.LoginProvider == info.LoginProvider); ninfo.ProviderDisplayName = info.ProviderDisplayName; _dbContext.Entry(ninfo).State = EntityState.Modified; _dbContext.SaveChanges(User.GetUserId()); @@ -357,7 +364,7 @@ namespace Yavsc.Controllers var result = await _userManager.CreateAsync(user); if (result.Succeeded) { - info.ProviderDisplayName = info.ExternalPrincipal.Claims.First(c=>c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name")?.Value; + info.ProviderDisplayName = info.ExternalPrincipal.Claims.First(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name")?.Value; result = await _userManager.AddLoginAsync(user, info); if (result.Succeeded) @@ -365,8 +372,8 @@ namespace Yavsc.Controllers await _signInManager.SignInAsync(user, isPersistent: false); - await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, Startup.SiteSetup.Owner.EMail, - $"[{_siteSettings.Title}] Inscription via {info.LoginProvider}: {user.UserName} ", $"{user.Id}/{user.UserName}/{user.Email}"); + await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, Startup.SiteSetup.Owner.EMail, + $"[{_siteSettings.Title}] Inscription via {info.LoginProvider}: {user.UserName} ", $"{user.Id}/{user.UserName}/{user.Email}"); _logger.LogInformation(6, "User created an account using {Name} provider.", info.LoginProvider); @@ -419,9 +426,10 @@ namespace Yavsc.Controllers var user = await _userManager.FindByEmailAsync(model.LoginOrEmail); // Don't reveal that the user does not exist or is not confirmed - if (user == null) { + if (user == null) + { user = await _userManager.FindByNameAsync(model.LoginOrEmail); - if (user == null) + if (user == null) { _logger.LogWarning($"ForgotPassword: Email or User name {model.LoginOrEmail} not found"); return View("ForgotPasswordConfirmation"); @@ -430,7 +438,8 @@ namespace Yavsc.Controllers // user != null // We want him to have a confirmed e-mail, and prevent this script // to be used to send e-mail to any arbitrary person - if (!await _userManager.IsEmailConfirmedAsync(user)) { + if (!await _userManager.IsEmailConfirmedAsync(user)) + { _logger.LogWarning($"ForgotPassword: Email {model.LoginOrEmail} not confirmed"); return View("ForgotPasswordConfirmation"); } @@ -439,8 +448,8 @@ namespace Yavsc.Controllers // Send an email with this link var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); - await _emailSender.SendEmailAsync(_siteSettings,_smtpSettings,model.LoginOrEmail, _localizer["Reset Password"], - _localizer["Please reset your password by following this link:"] +" <"+ callbackUrl +">" ); + await _emailSender.SendEmailAsync(_siteSettings, _smtpSettings, model.LoginOrEmail, _localizer["Reset Password"], + _localizer["Please reset your password by following this link:"] + " <" + callbackUrl + ">"); return View("ForgotPasswordConfirmation"); } @@ -640,7 +649,7 @@ namespace Yavsc.Controllers { foreach (var error in result.Errors) { - ModelState.AddModelError(string.Empty, _localizer[ error.Code ]); + ModelState.AddModelError(string.Empty, _localizer[error.Code]); } } @@ -648,7 +657,7 @@ namespace Yavsc.Controllers { return await _userManager.FindByIdAsync(HttpContext.User.GetUserId()); } - + #endregion } } diff --git a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resources b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resources deleted file mode 100644 index 31e1440ca778bfd9ca0d11b3d1ea6bfaa3aba7d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14080 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 Cy=b8T diff --git a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resx b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resx index de8d8e65..5b952b31 100644 --- a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resx +++ b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.en.resx @@ -774,4 +774,13 @@ Valid caracters are: underscore '_', '-', 'a' - 'z', 'A' - 'Z', '0' - '9', th An email has been sent to confirm your addresse. - \ No newline at end of file + Please, confirm your e-mail + You successfully created your {0} account, +but your e-mail address is not yet confirmed. +Please, in order to validate it, follow this link <{1}>. + +Thanks. +-- +{0} - {2} <https://{3}> + + diff --git a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resources b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resources deleted file mode 100644 index 1b01e4bcf8ce985658ea3a2d9968154349b42228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22101 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 diff --git a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resx b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resx index 68b3b78c..843c3ca4 100644 --- a/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resx +++ b/Yavsc/Resources/Yavsc.Resources.YavscLocalisation.fr.resx @@ -449,5 +449,11 @@ Confirmation du mot de passe L'envoi de de courrier pour confirmation de l'adresse e-mail a échoué. Un courrier a été envoyé pour confirmation de l'adresse e-mail . + S'il vous plait, confirmez votre addresse e-mail + Vous avez créé avec succès votre compte {0}, +mais votre adresse e-mail reste à confirmer. +Pour ce faire, suivez le lien suivant : <{1}>. +-- +{0} - {2} <{3}>