Unbenutze Felder entfernen und einen Password-Reset Link versenden.

This commit is contained in:
2025-10-16 14:12:52 +02:00
parent d68b9fb1be
commit 0aac2626da
4 changed files with 34 additions and 16 deletions

View File

@@ -119,7 +119,7 @@ namespace SZUAbsolventenverein.Module.AdminModules.Services
{
if (_userPermissions.IsAuthorized(_accessor.HttpContext.User, _alias.SiteId, EntityNames.Module, ModuleId, PermissionNames.View))
{
List<Role> role = new List<Role>();
List<Role> role = new();
role.AddRange(_roleRepository.GetRoles(_alias.SiteId));
return Task.FromResult(role);
}
@@ -153,14 +153,16 @@ namespace SZUAbsolventenverein.Module.AdminModules.Services
int emailsSent = 0;
IEnumerable<int> userids = _userRoleRepository
.GetUserRoles(_alias.SiteId)
.Where(ur => ur.Role.SiteId == EmailFields.Role.RoleId)
.GetUserRoles(EmailFields.Role.Name, _alias.SiteId)
.Select(ur => ur.UserId)
.Distinct()
.AsEnumerable();
Console.WriteLine("Should send emails to: " + userids.Count());
foreach (int userid in userids)
{
Console.WriteLine("Sending email to: " + userid);
emailsSent++;
User user = _userRepository.GetUser(userid);
@@ -168,13 +170,13 @@ namespace SZUAbsolventenverein.Module.AdminModules.Services
string body = template.Content;
// Fields bef<65>llen.
string token = await _identityUserManager.GenerateEmailConfirmationTokenAsync(identityuser);
string url = _alias.Protocol + _alias.Name + "/login?name=" + user.Username + "&token=" + WebUtility.UrlEncode(token);
string token = await _identityUserManager.GeneratePasswordResetTokenAsync(identityuser);
string url = _alias.Protocol + _alias.Name + "/reset?name=" + user.Username + "&token=" + WebUtility.UrlEncode(token);
body = body.Replace("[UserDisplayName]", user.DisplayName);
body = body.Replace("[URL]", url);
Notification notification = new Notification(_alias.SiteId, user, template.Name, body, DateTime.Now.AddDays(emailsSent / 100));
Notification notification = new Notification(_alias.SiteId, user, template.Name, body, DateTime.UtcNow.AddDays(emailsSent / 100));
_notifications.AddNotification(notification);
}