From 5b482403227f9ec270da4726b01ff4dad5524db7 Mon Sep 17 00:00:00 2001 From: Mike Casas Date: Tue, 14 Apr 2020 16:55:03 -0400 Subject: [PATCH 1/5] If site does not allow registration then disable it. --- Oqtane.Client/Modules/Admin/Register/Index.razor | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Oqtane.Client/Modules/Admin/Register/Index.razor b/Oqtane.Client/Modules/Admin/Register/Index.razor index f358d905..887af4db 100644 --- a/Oqtane.Client/Modules/Admin/Register/Index.razor +++ b/Oqtane.Client/Modules/Admin/Register/Index.razor @@ -43,6 +43,14 @@ public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Anonymous; + protected override void OnInitialized() + { + if (!PageState.Site.AllowRegistration) + { + _message = "Registration is Disabled"; + } + } + private async Task Register() { try From 85343ade60d35b004a5637b1935da6f48c9720b1 Mon Sep 17 00:00:00 2001 From: Mike Casas Date: Tue, 14 Apr 2020 17:04:26 -0400 Subject: [PATCH 2/5] Hide the container if registration is disabled. --- Oqtane.Client/Modules/Admin/Register/Index.razor | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Oqtane.Client/Modules/Admin/Register/Index.razor b/Oqtane.Client/Modules/Admin/Register/Index.razor index 887af4db..25104442 100644 --- a/Oqtane.Client/Modules/Admin/Register/Index.razor +++ b/Oqtane.Client/Modules/Admin/Register/Index.razor @@ -8,7 +8,7 @@ } -
+
@@ -40,6 +40,10 @@ private string _confirm = string.Empty; private string _email = string.Empty; private string _displayName = string.Empty; + private string _css = string.Empty; + private const string displayNone = "d-none"; + + public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Anonymous; @@ -48,6 +52,7 @@ if (!PageState.Site.AllowRegistration) { _message = "Registration is Disabled"; + _css = displayNone; } } From 5232762c0d994bd3fc3968e91930ab851693f1dc Mon Sep 17 00:00:00 2001 From: Jim Spillane Date: Tue, 14 Apr 2020 21:51:22 -0400 Subject: [PATCH 3/5] Fix Notifications parameters Removed space causing siteid to always send null. --- Oqtane.Client/Services/NotificationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Oqtane.Client/Services/NotificationService.cs b/Oqtane.Client/Services/NotificationService.cs index 6239ca8a..46b813b6 100644 --- a/Oqtane.Client/Services/NotificationService.cs +++ b/Oqtane.Client/Services/NotificationService.cs @@ -28,7 +28,7 @@ namespace Oqtane.Services public async Task> GetNotificationsAsync(int siteId, string direction, int userId) { - var notifications = await _http.GetJsonAsync>($"{Apiurl}? siteid={siteId.ToString()}&direction={direction.ToLower()}&userid={userId.ToString()}"); + var notifications = await _http.GetJsonAsync>($"{Apiurl}?siteid={siteId.ToString()}&direction={direction.ToLower()}&userid={userId.ToString()}"); return notifications.OrderByDescending(item => item.CreatedOn).ToList(); } From 1b373a4bfa884cb8ec9bde9c755f7588bca8c24e Mon Sep 17 00:00:00 2001 From: Mike Casas Date: Wed, 15 Apr 2020 05:52:57 -0400 Subject: [PATCH 4/5] Added site service to be able to get the site properties. --- Oqtane.Client/Services/UserService.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Oqtane.Client/Services/UserService.cs b/Oqtane.Client/Services/UserService.cs index d81077ff..d16142b3 100644 --- a/Oqtane.Client/Services/UserService.cs +++ b/Oqtane.Client/Services/UserService.cs @@ -11,12 +11,14 @@ namespace Oqtane.Services private readonly HttpClient _http; private readonly SiteState _siteState; private readonly NavigationManager _navigationManager; + private readonly ISiteService _siteService; - public UserService(HttpClient http, SiteState siteState, NavigationManager navigationManager) + public UserService(HttpClient http, SiteState siteState, NavigationManager navigationManager, ISiteService siteService) { _http = http; _siteState = siteState; _navigationManager = navigationManager; + _siteService = siteService; } private string Apiurl @@ -36,6 +38,13 @@ namespace Oqtane.Services public async Task AddUserAsync(User user) { + Site site = await _siteService.GetSiteAsync(_siteState.Alias.SiteId, _siteState.Alias); + + if (!site.AllowRegistration) + { + return null; + } + try { return await _http.PostJsonAsync(Apiurl, user); From 72965cfbb2b44cc6b06c1a04ec91123d8539affc Mon Sep 17 00:00:00 2001 From: Pavel Vesely Date: Wed, 15 Apr 2020 12:34:43 +0200 Subject: [PATCH 5/5] Return JSON null instead of 204 stantus from controller Services GET returns null instead of exception :) --- Oqtane.Server/Startup.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Oqtane.Server/Startup.cs b/Oqtane.Server/Startup.cs index 77768609..a5dfe59b 100644 --- a/Oqtane.Server/Startup.cs +++ b/Oqtane.Server/Startup.cs @@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Mvc.Formatters; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -41,7 +42,12 @@ namespace Oqtane // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { - services.AddMvc().AddNewtonsoftJson(); + services.AddMvc(opt => + { + // remove formatter that turns nulls into 204 - No Content responses + // sends JSON null instead + opt.OutputFormatters.RemoveType(); + }).AddNewtonsoftJson(); services.AddServerSideBlazor(); // setup HttpClient for server side in a client side compatible fashion ( with auth cookie )