Merge pull request #2134 from leigh-pointer/TogglePassword
User Areas to use the Toggle Password method
This commit is contained in:
		| @ -20,8 +20,11 @@ | ||||
|                 </div> | ||||
|                 <div class="row mb-1 align-items-center"> | ||||
|                     <Label Class="col-sm-3" For="password" HelpText="The user's password. Please choose a password which is sufficiently secure." ResourceKey="Password"></Label> | ||||
|                     <div class="col-sm-9"> | ||||
|                         <input id="password" type="password" class="form-control" @bind="@password" /> | ||||
| 					<div class="col-sm-9"> | ||||
|                         <div class="input-group"> | ||||
| 						    <input id="password" type="@_passwordtype" name="Password" class="form-control" @bind="@_password" required /> | ||||
| 						    <button type="button" class="btn btn-secondary" @onclick="@TogglePassword">@_togglepassword</button> | ||||
| 					    </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="row mb-1 align-items-center"> | ||||
| @ -88,7 +91,9 @@ | ||||
|  | ||||
| @code { | ||||
|     private string username = string.Empty; | ||||
|     private string password = string.Empty; | ||||
|     private string _password = string.Empty; | ||||
| 	private string _passwordtype = "password"; | ||||
| 	private string _togglepassword = string.Empty; | ||||
|     private string confirm = string.Empty; | ||||
|     private string email = string.Empty; | ||||
|     private string displayname = string.Empty; | ||||
| @ -102,6 +107,7 @@ | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             _togglepassword = Localizer["ShowPassword"]; | ||||
|             profiles = await ProfileService.GetProfilesAsync(ModuleState.SiteId); | ||||
|             settings = new Dictionary<string, string>(); | ||||
|         } | ||||
| @ -119,9 +125,9 @@ | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             if (username != string.Empty && password != string.Empty && confirm != string.Empty && email != string.Empty && ValidateProfiles()) | ||||
|             if (username != string.Empty && _password != string.Empty && confirm != string.Empty && email != string.Empty && ValidateProfiles()) | ||||
|             { | ||||
|                 if (password == confirm) | ||||
|                 if (_password == confirm) | ||||
|                 { | ||||
|                     var user = await UserService.GetUserAsync(username, PageState.Site.SiteId); | ||||
|                     if (user == null) | ||||
| @ -129,7 +135,7 @@ | ||||
|                         user = new User(); | ||||
|                         user.SiteId = PageState.Site.SiteId; | ||||
|                         user.Username = username; | ||||
|                         user.Password = password; | ||||
|                         user.Password = _password; | ||||
|                         user.Email = email; | ||||
|                         user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname; | ||||
|                         user.PhotoFileId = null; | ||||
| @ -193,4 +199,17 @@ | ||||
|         settings = SettingService.SetSetting(settings, SettingName, value); | ||||
|     } | ||||
|  | ||||
|     private void TogglePassword() | ||||
| 	{ | ||||
| 		if (_passwordtype == "password") | ||||
| 		{ | ||||
| 			_passwordtype = "text"; | ||||
| 			_togglepassword = Localizer["HidePassword"]; | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			_passwordtype = "password"; | ||||
| 			_togglepassword = Localizer["ShowPassword"]; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -29,8 +29,11 @@ else | ||||
|                 </div> | ||||
|                 <div class="row mb-1 align-items-center"> | ||||
|                     <Label Class="col-sm-3" For="password" HelpText="The user's password. Please choose a password which is sufficiently secure." ResourceKey="Password"></Label> | ||||
|                     <div class="col-sm-9"> | ||||
|                         <input id="password" type="password" class="form-control" @bind="@password" /> | ||||
| 					<div class="col-sm-9"> | ||||
|                         <div class="input-group"> | ||||
| 						    <input id="password" type="@_passwordtype" name="Password" class="form-control" @bind="@_password" required /> | ||||
| 						    <button type="button" class="btn btn-secondary" @onclick="@TogglePassword">@_togglepassword</button> | ||||
| 					    </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="row mb-1 align-items-center"> | ||||
| @ -133,7 +136,9 @@ else | ||||
| @code { | ||||
|     private int userid; | ||||
|     private string username = string.Empty; | ||||
|     private string password = string.Empty; | ||||
|     private string _password = string.Empty; | ||||
| 	private string _passwordtype = "password"; | ||||
| 	private string _togglepassword = string.Empty; | ||||
|     private string confirm = string.Empty; | ||||
|     private string email = string.Empty; | ||||
|     private string displayname = string.Empty; | ||||
| @ -160,6 +165,7 @@ else | ||||
|             // OnParametersSetAsync is called when the edit modal is closed - in which case there is no id parameter | ||||
|             if (PageState.QueryString.ContainsKey("id")) | ||||
|             { | ||||
|                 _togglepassword = Localizer["ShowPassword"]; | ||||
|                 profiles = await ProfileService.GetProfilesAsync(PageState.Site.SiteId); | ||||
|                 userid = Int32.Parse(PageState.QueryString["id"]); | ||||
|                 var user = await UserService.GetUserAsync(userid, PageState.Site.SiteId); | ||||
| @ -205,12 +211,12 @@ else | ||||
|         { | ||||
|             if (username != string.Empty && email != string.Empty && ValidateProfiles()) | ||||
|             { | ||||
|                 if (password == confirm) | ||||
|                 if (_password == confirm) | ||||
|                 { | ||||
|                     var user = await UserService.GetUserAsync(userid, PageState.Site.SiteId); | ||||
|                     user.SiteId = PageState.Site.SiteId; | ||||
|                     user.Username = username; | ||||
|                     user.Password = password; | ||||
|                     user.Password = _password; | ||||
|                     user.Email = email; | ||||
|                     user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname; | ||||
|                     user.PhotoFileId = null; | ||||
| @ -268,4 +274,17 @@ else | ||||
|         settings = SettingService.SetSetting(settings, SettingName, value); | ||||
|     } | ||||
|  | ||||
|         private void TogglePassword() | ||||
| 	{ | ||||
| 		if (_passwordtype == "password") | ||||
| 		{ | ||||
| 			_passwordtype = "text"; | ||||
| 			_togglepassword = Localizer["HidePassword"]; | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			_passwordtype = "password"; | ||||
| 			_togglepassword = Localizer["ShowPassword"]; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker